Mushfiqur will step down from the role after the tour-ending two-match Twenty20 series this weekend.
The 24-year-old blamed poor form with the bat as the reason for his decision, after scoring 63 runs at an average of 21 in the three-match series.
"I will be stepping down as captain after the last two [Twenty20] matches. I believe that I couldn't lead my team, and I didn't score enough runs," he told a press conference.
"That is why I think we lost the ODI series."
Despite Mushfiqur's poor return in this series his 93 in the second Test against Zimbabwe had helped to draw that series, while in March he scored a double century against Sri Lanka in Galle.
Bangladesh Cricket Board media committee chairman Jalal Yunus revealed talks would be held with Mushfiqur following his shock call.
"It has come as a surprise to us," he said.
"We have spoken to him moments after he made the announcement. We believe he is an efficient leader, and upon the team's return on May 15, we will sit and discuss with him face to face.
"We will have to take a look at the manager's report, and also find out if he got full co-operation from the other members of the team. It was perhaps an emotional decision, and it shows how much he cares for the team."