The deal is for one year and worth a reported $3 million that includes incentives to take the base salary higher.
The 34-year-old Fitzpatrick has started 116 games over his 12 seasons in the NFL, including 27 the past two years with the New York Jets. He made $12 million last season.
Fitzpatrick will be joining his seventh NFL team after playing for the St. Louis Rams (2005-06), Cincinnati Bengals (2007-08), Buffalo Bills (2009-12), Tennessee Titans (2013), Houston Texans (2014) and Jets (2015-16).
Fitzpatrick had a career season in 2015, his first year with the Jets, leading the team to 10 wins and setting the franchise record with 31 touchdown passes.
A contract impasse caused him to miss the next offseason program that may have contributed to a subpar 2016 when the Jets finished 5-11. He was benched twice last season and threw 17 interceptions and only 12 touchdowns, with a league-low passer rating of 69.6.
Fitzpatrick entered the league as a seventh-round pick of the Rams in 2005 out of Harvard. He is 46-69-1 as a starter and for his carrer has thrown for 25,888 yards with 166 touchdown passes and 133 interceptions.