That is less than half of what Mayor Lori Lightfoot asked for.
She wanted $54 million to help pay for services for asylum seekers after thousands were bused to Chicago from Texas.
After Wednesday's City Council meeting, the mayor said her office sees the $20 million as a down payment.
"If you look at the conversation around the $20 million, it was that they’re going to give this to us as an initial installment. Wait and see what, if any, monies that we get from the federal government, and give us the opportunity to come back and ask for more," said Lightfoot.
The measure still has to be signed by Illinois Gov. J.B. Pritzker.
It also includes $90 million for state welcoming centers for immigrants and refugees.