Financial details of the deal aren't known, and the club has yet to confirm the signing.
Harrison is expected to become the Tigers' starter at second base. The addition of Harrison would reunite him with former Pirates shortstop Jordy Mercer. The Tigers signed Mercer to a one-year contract in December.
The 31-year-old Harrison had a .250 batting average with eight home runs, 37 RBIs and a .656 OPS in 97 games last season.
The Chicago Cubs drafted Harrison in the sixth round of the 2008 MLB Draft. The Cubs traded him to the Pirates on July 30, 2009.
Harrison has a .277 career batting average with 52 home runs, 269 RBIs and 75 stolen bases.