Published: 2019-02-06 04:16:49 BdST
Messi set off alarm bells after sustaining a knock to his calf during Saturday's 2-2 La Liga draw with Valencia, in which he scored twice, although he was able to finish the game after being treated.
Barca did not release a medical report on Messi's condition and although the Argentine missed Monday's training, he completed a session one day before the game. The forward was then included in the squad announced at 1900 GMT on Tuesday.
Speaking before naming his team, Barcelona coach Ernesto Valverde said he didn't want to take any risks with the club's all-time top scorer.
"The most important thing is whether the player tells you he is ready or not. Regardless of what tests say, if the player doesn't think he's ready, you have to leave him out," Valverde said.
"I'm not in favour of taking risks with so many games coming up, if the season finished tomorrow, it would be another matter. When there is a risk of injury, players play with the handbrake on and tomorrow's game is not one where you want to do that."
Real Madrid coach Santiago Solari said he hoped Messi played for the good of the game - but he added that the Argentine's presence would not affect his match preparation.
"It's always good when the best players get to play every game, but whether or not he plays will not influence the way we prepare for the game at all," Solari said.
Messi was out with a broken arm the last time Spain's two biggest clubs met, back in October. But Barca barely missed their talisman, thrashing Real 5-1 in what proved to be Julen Lopetegui's last game as manager before Solari took over.
Real are third in the La Liga standings but cut their gap behind leaders Barca to eight points after beating Alaves on Sunday.
They will be looking to end Barcelona's run of four consecutive Copa del Rey triumphs and reach the final of the competition for the first time since 2014, when they beat the Catalans 2-1.