The United States has never had its Embassy in Jerusalem because Jerusalem has never been the internationally recognized capital of Israel. Nor has Israel signed a "final-status" peace agreement with Palestinians settling the issue of Jerusalem. American policy has been clear to date: the embassy is not to move to Jerusalem until such a final-status agreement is signed.
US Congress’ 1995 Law Calling for Relocation to Jerusalem
In 1995, U.S. Sen. Robert Dole, the Kansas Republican, joined by 76 co-sponsors in the 100-member Senate, wrote a bill calling for the relocation of the American embassy in Israel from Tel Aviv to Jerusalem “no later than May 31, 1999.” The bill passed the Senate on Oct. 24, 1995, by a vote of 93-5. It passed the U.S. House of Representatives on the same day by a vote of 374-37. The voting majorities were veto-proof. But President Clinton refused to sign the bill. (The bill became law without his signature.)
The May 31, 1999, date was picked for a reason: it marked the end of a five-year transitional period laid out by the 1993 Oslo declaration of principles on Palestinian self-government agreed by Israel and the Palestine Liberation Organization. Terms of the Oslo accord were never met either by Israel or the Palestinians, and the embassy was never moved to Jerusalem.
What John McCain and Barack Obama Say
Presidential candidate John McCain has vowed to make the embassy move to Jerusalem “Right away,” should be he elected president. “I’e been committed to that proposition for years.” Barack Obama doesn’t oppose moving the embassy, but says, consistent with U.S. policy to date, that move would be made only in conjunction with a final-status peace agreement between Israel and the Palestinians.