Masakadza's appointment is for the 2019/20 season, with Peter Moor named as his vice captain, Zimbabwe Cricket said in a statement.
The 35-year-old Masakadza has extensive experience of leading Zimbabwe, having captained in three tests, 20 One-Day Internationals and 11 Twenty20s.
He skippered the side late last year on tour to South Africa and Bangladesh when captain Graeme Cremer was forced out after knee surgery. Cremer has since put his cricket career on hold for family reasons.
Zimbabwe had been scheduled to play a test and three ODIs in India in March according to the Future Tours Programme. But this looks unlikely to happen as India host Australia in a limited overs series until mid-March, and then the Indian Premier League T20 competition starts 10 days later on March 23.
Zimbabwe, who did not qualify for the World Cup in England, have confirmed plans for three ODIs and three T20s in Ireland in July.
First Published: February 19, 2019, 6:29 PM IST