The midfielder, who turns 30 next month, re-unites with Town boss Steve Cotterill, who he played under when the manager was in charge at St Andrew’s.
Black Country-born Davis spent six-and-a-half years with the Blues, where he made 194 appearances and scored 11 goals.
He yesterday confirmed his exit from the Championship club after failing to make an appearance so far this term. Davis fractured his ankle in the summer of 2018 and was sidelined until the following February.
It is his second spell at Shrewsbury Town, a decade after the first, where he joined on loan as a 19-year-old.
Davis signed a deal until the end of the 2020/21 campaign and has joined up with the Town squad immediately but is ineligible to make his second Shrewsbury debut in the rescheduled FA Cup third round tie at Southampton next Tuesday.
A high-energy midfielder who likes to break up play and is regarded as a good character, Davis spent a brief period on loan at Shrewsbury from Wolves – where he came through the youth ranks – as a youngster in 2011. Davis scored twice in 21 games while catching the eye under Graham Turner.
He played in both legs of the League Two semi-final play-off defeat against Torquay United that season.
Davis, who had a short loan at Charlton from Blues last season, becomes Cotterill’s third new signing – and first permanent deal – of the January window after loans for Harry Chapman from Blackburn and Everton’s Matthew Pennington.