MSM Sports, which represents Harrison, tweeted the agreement. The deal is pending a physical.
Harrison, 34, has played second base, third base, shortstop and all outfield positions over 11 seasons with Pittsburgh, Washington, Detroit and Oakland. His arrival allows Leury Garcia to remain in a utility role.
Harrison is a career .274 hitter. He made All-Star teams in 2014 and 2017.
Harrison batted a combined .279 for Washington and Oakland last season. The Nationals traded him and catcher Yan Gomes to the Athletics prior to the July 30 deadline as part of a major shake-up in which they also dealt ace Max Scherzer and star shortstop Trea Turner to the Los Angeles Dodgers and reliever Daniel Hudson to San Diego.
The Nationals, recovering from a COVID-19 outbreak, dismantled its roster in a matter of 24 hours just before the calendar turned to August, and in doing so, parted with Harrison before he had a chance to play a full season. He appeared in 33 games in the pandemic-shortened 2020 season and 90 in 2021 before the deal.
Harrison, who played college baseball at Cincinnati, was a sixth-round choice of the Chicago Cubs in 2008.
The Associated Press contributed to this report.