Afghan President Hamid Karzai has called on his international allies to change the way the "war on terror" is being fought in his country.
Addressing parliament, Mr Karzai once again urged US-led and Nato troops to do more to reduce civilian casualties.
He also called for a rethink in the way billions of dollars in aid are spent and accused his allies of not doing enough to curb the illegal drugs trade.
On Sunday Nato's head complained of corrupt government in Afghanistan.
Mr Karzai, who is due to face a presidential election this year, told the opening session of parliament that the fight against militants could not be won without popular support from Afghans.
The president has often complained to Western powers over civilian casualties in recent years.
"We don't accept civilian casualties in our land in the war on terrorism," President Karzai told about 300 parliamentarians and guests, including UN representatives, foreign embassy officials and foreign military forces.
The issue of civilian deaths has led to protests
"We have never complained about our police being martyred - thousands of our police have been martyred. We have never complained about the deaths of our soldiers - hundreds have died," he said.
"If thousands are killed in the war on terrorism... we will accept that. But we don't and will never accept civilian casualties in our land," he said, to chants of "Allah Akbar" (God is great) from MPs expressing approval.
"We want change in military operations, we want effectiveness in the 'war on terror'."
The president's criticism comes just two days after Nato secretary general Jaap de Hoop Scheffer alleged that Afghanistan's "corrupt and inefficient government" was as much to blame as the Taleban for the country's chronic instability.
Foreign forces must change tactics, says Mr Karzai
Mr de Hoop Scheffer said in the Washington Post newspaper that the international community had paid enough, in blood and money, to demand government action.
He said Afghans needed a government that deserved their loyalty and trust.
Correspondents say that civilian casualties at the hands of foreign troops have strained relations between Kabul and its backers, who currently have about 65,000 soldiers in Afghanistan, most of them from the US.
The Nato-led International Security Assistance Force (Isaf) has said that just over 200 civilians were killed by foreign troops last year - but the UN says the real figure amounts to roughly 2,000 civilians killed throughout 2008.
It says that more than half of those died in insurgent attacks - which correspondents say implies that the remainder died during foreign and Afghan troop operations.
Nato and US-led forces say that one reason why the problem is so acute is because militants use civilians as human shields. There are also regular disputes over whether those killed in operations were civilians or militants.
Human rights groups have repeatedly warned in recent years that the issue of civilian casualties has eroded support for the government and foreign forces.
A report released by Human Rights watch in September said that decreased reliance on ground forces and greater use of air power was leading to "mistakes" that had "dramatically decreased" support for the Afghan government and international troops.
In his address to MPs, President Karzai also accused foreign powers of not doing enough to curb the drugs trade - pointing out that opium poppy production was highest in areas with heavy deployments of international troops.
"Where the government of Afghanistan has no authority, poppy cultivation is high," he said.
"Regarding fighting drugs cultivation and smuggling, we ask our international allies to put their commitments into genuine action.
And he said the way billions of dollars of international aid are being spent in Afghanistan caused more corruption than that within his own government.
"We admit that there is corruption in our administration. But there is even more corruption regarding international aid. If we can stop this kind of corruption, God willing, our administration will soon become free from corruption."