To some, such provisions may appear sensible since it is American production that is meant to be stimulated. However, this overlooks two key points. First of all, since American products are often more expensive, that means that there will be less money for other projects. And secondly and more importantly, if the U.S. government says it will only buy Americans, this means that others will buy less American. That is both a result of them being poorer and because they will be more hostile to America and feel that if they can be discriminated against by America, then they can discriminate against America.
"Buy American"-provisions violate NAFTA and WTO agreements. And while neither of these bodies have any power to stop this, other countries will see the American move as a green light to do the same.
The latter factor is a reason why several large American companies, like General Electric and Caterpillar, have opposed the "Buy American" provisions.