A person familiar with the deal says the two sides came to agreement on the deal Monday. The person spoke on condition of anonymity because the contract hasn't been announced by the team.
NFL Network first reported the deal.
The Niners had been seeking help for Kittle all offseason after getting only four catches from their other tight ends last season and 20 in the last three seasons combined.
San Francisco lost backups Ross Dwelley and Charlie Woerner in free agency and tried to sign restricted free agent Brock Wright only to have Detroit match the offer.
San Francisco drafted two tight ends in 2023 but third-rounder Cameron Latu missed the entire season with a knee injury and seventh-rounder Brayden Willis played sparingly with only 48 offensive snaps in the regular season.
Thomas, who turns 33 in July, has been a productive player the past four seasons in Washington. The former college quarterback had 55 catches for 496 yards and four TDs last season for the Commanders.
Thomas' most productive season came in 2020 when he caught 72 passes for 670 yards and six touchdowns for Washington. Thomas has 219 career receptions for 2,002 yards and 16 TDs in 94 career games for Washington, Detroit, Buffalo and Arizona.