Shahid Afridi will captain Pakistan in Twenty20s until 2016 while Misbah-ul-Haq will remain the skipper for the World Cup next year, the Pakistan Cricket Board announced.
Afridi replaced Mohammad Hafeez, who stepped down after Pakistan's unimpressive performance at the World Twenty20 in Bangladesh this year.
Afridi has led Pakistan in 19 T20s from 2009-11, losing 11 and winning eight. He was captain when the team reached the semi-finals of the World Twenty20 in the West Indies in 2010.
He was removed as captain in 2010 after differences with the then-PCB chairman Ijaz Butt.
Afridi is the world's third highest wicket-taker in T20s, with 77 wickets from 74 matches, eight behind top wicket-taker Saeed Ajmal, who was has been suspended from bowling due to a suspect action, and six behind fast-bowler Umar Gul.
Misbah, 40, has captained Pakistan in 74 ODIs, with a win-lost record of 40-31.
Pakistan is scheduled to play eight ODIs and three T20s in the UAE before the World Cup in February in Australia and New Zealand.
It will take on Australia in a one-off T20 and three ODIs, next month, then two T20s and five ODIs against New Zealand in December.