The 24-year-old has scored four goals in 13 appearances on loan at Molineux where his time was due to expire on New Year's Day.
Now Henry - who netted 19 goals in 163 games for the Lions - has signed a two-and-a-half-year contract after the clubs agreed an undisclosed fee.
Millwall CEO Andy Ambler told the club's official website: "Following the departure of Kenny [Jackett], James indicated as early as last summer he would not be renewing his contract with us once it ran out in June 2014.
"Our priority now is to appoint a new manager and assess with him the areas of the squad that need strengthening.
"Taking that into account, we decided it would be in the best interests of ourselves to allow James to move on in order that we could secure a fee for him which would not be the case if he were to leave next summer."