The 33-year-old Morrow went 6-0 with a 2.06 ERA and two saves in 45 appearances for the NL champion Los Angeles Dodgers last season. He also pitched in 14 playoff games, helping the Dodgers eliminate the Cubs in the NLCS.
Morrow could step into the closer role for Chicago. Wade Davis had a career-high 32 saves for the Cubs and made the NL All-Star team this year, but he is a free agent.
Morrow's contract includes a 2020 club option that could become guaranteed depending on his performance.
The Cubs also announced Tuesday night they had agreed to a two-year deal with left-hander Drew Smyly. He is recovering from Tommy John surgery in June and might not be able to return next season.