A three-judge panel ruled 3-0 against Salim Ahmed Hamdan, whose case was halted by a federal judge on grounds that commission procedures were unlawful.
"Congress authorized the military commission that will try Hamdan," said the U.S. Court of Appeals for the District of Columbia Circuit.
The protections of the 1949 Geneva Convention do not apply to al Qaeda and its members, so Hamdan does not have a right to enforce its provisions in court, the appeals judges said.
U.S. District Judge James Robertson ruled last year that Hamdan could not be tried by a military commission until a competent tribunal determined that he was not a prisoner of war.
"We believe the military commission is such a tribunal," said the appeals court.
President Bush created the military commissions after the Sept. 11 attacks, opening a legal channel for alleged al Qaeda terrorists and their associates to be tried for war crimes.
But just 15 of the 520 detainees at Guantanamo Bay have been designated for such trials and only four have been charged.
The rest face indefinite detention, and the Bush administration refuses to grant any of the detainees prisoner-of-war status, a decision that has fueled international criticism of the United States.
Hamdan's lawyers say he simply wanted to earn enough money to return to Yemen, buy his own vehicle and support his family as a driver.
The issue of military commissions has been eclipsed by alleged mistreatment of detainees at Guantanamo Bay, putting the Bush administration — and some of its loudest critics — on the defensive.
Sen. Dick Durbin apologized a week after comparing interrogation at the Guantanamo Bay prison to the methods of Nazis and other repressive regimes.
Muslims protested overseas after U.S. officials acknowledged in May they had substantiated five cases in which military guards or interrogators mishandled the Quran. The human rights group Amnesty International condemned conditions at the prison camp, calling Guantanamo "the gulag of our time," a description that President Bush dismissed as "absurd."