At 0950 GMT, commercial banks quoted the shilling at 104.55/75 per dollar, compared with 104.50/70 at Friday's close.
Market participants had built up their dollar holdings in the past two weeks after the shilling weakened significantly due to concerns about the impact of the coronavirus, traders said.
"Now they need to sell some of those dollars," said a senior trader from one commercial bank.