Hammel, 31, is 49-59 with a 4.80 ERA over eight seasons in the major leagues. He's pitched for the Tampa Bay Rays, the Colorado Rockies and most recently the Baltimore Orioles. He went 7-8 with a 4.97 ERA last season in 23 starts. He missed time in 2013 with a strained forearm and had knee surgery in 2012.
Hammel has 158 starts among his 215 big league appearances. He figures to start spring training in the mix for the Cubs' fourth or fifth starter behind Travis Wood, Jeff Samardzija, Edwin Jackson and Jake Arrieta.
The agreement was first reported by Fox Sports. The Cubs have not made an official announcement.