The Constitution gives Congress the authority to declare war. The last time the United States followed the Constitution in going to war was in December 1941, after the attack on Pearl Harbor, when it declared war on Japan.
This constitutional erosion since World War II is largely due to changes in technology and the nature of modern war. When the Constitution was written, wars were engaged in much more slowly. Mobilizing and invading a country took much more time than it does today. Surprise attacks like Pearl Harbor were rare – and even Pearl Harbor did not threaten the immediate survival of the U.S. military or the nation. Afterward, there was still time to convene Congress and secure a formal declaration of war. Given the isolationists’ strength in Congress, a war declaration prior to the Japanese attack would have been time-consuming and may have failed.
But the nature of time in war has changed dramatically, especially over the past 20 years. A modern Pearl Harbor might defeat the U.S. military in a few hours.