The Constitution gives the President the sole power to "receive Ambassadors" (Art. II, section 3), which has always been understood to mean that the President is the only one who gets to decide what foreign countries we give diplomatic recognition to. Since 1948, it has been the unbroken policy of every U.S. Administration to recognize Israel, but not to recognize Israel's (or anyone else's) claim to Jerusalem.
The reason is that the United Nations Resolution in 1947 that called for the partition of British Palestine into a Jewish and an Arab state called for Jerusalem to be an "international" city, owned by no country and administered by the U.N. Neither Israel (which seized West Jerusalem in the 1948 war, and the rest of it in 1967), nor Jordan (which seized East Jerusalem in 1948 and lost it in 1967), ever accepted this condition, but President Truman used it as a basis to decline to accept Israeli sovereignty over Jerusalem, and no President has ever changed that policy. That's why the U.S. Embassy has always been in Tel Aviv, not Jerusalem.
Now we know why Truman started a slide into failure after ending WWII.