Musharraf was asked in a television interview on Tuesday about his and Hamid Karzai's habit of blaming each other for the Taliban insurgency, made up largely of ethnic Pashtuns.
"We should work together, but I'm afraid he is not being honest about everything," Musharraf told the Canadian Broadcasting Corporation.
"He is concerned more about himself than about Afghanistan. He is a Pashtun himself, and he knows the realities of what is happening on the ground."
Musharraf also took issue with criticism from Karzai and Nato generals who said that Pakistan was not doing enough to prevent Taliban insurgents crossing the border into Afghanistan.
He said, "I take very strong exception to such statements. This is the worst thing that can happen to a country which has suffered the ravages of 27 years of whatever has happened in this region in the front ranks.
"We were the one who led the defeat of communism, we are now in the front ranks against fighting terrorism, we are the only one which have inducted 80,000 troops, suffered over 500 casualties."
"We are the only one who have caught 680 al-Qaeda people and handed them over," he said.
"We are the one who broke the back of al-Qaeda in the mountains of Pakistan. They are on the run now, we've got their sanctuaries where they were in hundreds and now they are in single digit."
The two leaders are to dine with George Bush, the US president, on Wednesday at the White House.