91³Ô¹ÏÍø

Watch CBS News

Elon Musk feuds with Peter Navarro on tariffs as White House says "boys will be boys"

Elon Musk lashed out against top White House trade adviser Peter Navarro on Tuesday, calling him "Peter Retarrdo" and "dumber than a sack of bricks," escalating a feud between two of President Trump's allies over the administration's sweeping tariffs.

The clash began when Navarro — a hardline tariff supporter — was asked about Musk's apparent skepticism of tariffs on Monday. Navarro, who is Mr. Trump's trade and manufacturing senior counselor, suggested Musk's support for free trade is driven by his desire for "cheap foreign parts" for Tesla. He said Musk is "not a car manufacturer, he's a car assembler in many cases," sourcing components from other countries, even though Tesla has several U.S. assembly plants.

Musk responded a day later in a series of invective-filled X posts, the trade czar "Retarrdo" and as a "moron" and "dangerously dumb." The billionaire disputed Navarro's claims about his car company, citing a finding Tesla's Model Y has more American-made components than any other car.

He also encouraged Navarro to "ask the fake expert he invented, Ron Vara," a jab at a — and anagram of Navarro — cited in several of Navarro's books.

The White House shrugged off the feud on Tuesday, with press secretary Karoline Leavitt saying, "Boys will be boys, and we will let their public sparring continue."

Leavitt acknowledged Musk and Navarro have "very different views on trade and on tariffs."

This week's back-and-forth came after Musk Navarro on Saturday, replying to a video of Navarro defending tariffs by calling the trade adviser's Harvard doctorate "a bad thing, not a good thing." Musk in an event Saturday he wants a "zero-tariff situation" between the U.S. and Europe. In a Fox News interview, Navarro said Musk is "simply protecting his own interests as any business person would do."

Trump's tariff plan draws backlash

The Musk-Navarro divide comes less than a week after Mr. Trump unveiled 10% tariffs against virtually every country and even steeper duties on dozens of other trading partners, including the European Union, China and Vietnam.  The president argues the moves are necessary to cut the U.S. trade deficit and push back against what he views as unfair trade practices. But markets have slid amid warnings from some economists the tariffs could slow economic growth and raise consumer prices.

Stocks rallied earlier Tuesday on optimism the Trump administration could cut deals with trading partners and hold off on tariffs, but fell later in the day and closed in the negative. Mr. Trump has stood by his strategy and slapped additional tariffs on China after it retaliated against his measures, bringing the total tariff on imports from China to 104% starting Wednesday.

Some members of both parties have grown skeptical of the tariffs. Democrats and a handful of Republicans have backed legislation to assert Congress' authority in setting tariffs, though even if a bill wresting some control from the president were to pass both houses of Congress, securing enough GOP support to overcome Mr. Trump's veto could prove difficult.

Meanwhile, U.S. Trade Representative Jamieson Greer faced bipartisan pushback during a Senate Finance Committee hearing earlier Wednesday. Sen. Thom Tillis, Republican of North Carolina, asked Greer, "whose throat do I get to choke if this proves to be wrong?"

View CBS News In
CBS News App Open
Chrome Safari Continue
const link = doc.createElement('link'); link.rel = 'stylesheet'; link.href = '/fly/fly/bundles/cbsnewscontent/css/cmp-banner.min.css?v=fd53910ecf4604072044ab7c46d9b028'; doc.head.appendChild(link); doc.body.innerHTML = CONSENT_MESSAGE; } else { el.insertAdjacentHTML('afterend', CONSENT_MESSAGE); } }); } function hidePrivacyMessage() { // Remove from the main document document.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); // Remove from inside any iframes document.querySelectorAll('iframe').forEach(iframe => { const doc = iframe.contentDocument || iframe.contentWindow.document; doc.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); }); } function activateGatedScripts() { // Handle both new format (cmp-gated-script) and old OneTrust/Ketch format (optanon-category-4) const gatedScripts = Array.from(document.querySelectorAll('script.cmp-gated-script, script.optanon-category-4')); // Activate scripts sequentially with a small delay to avoid timing issues let delay = 0; gatedScripts.forEach(function(placeholder, index) { setTimeout(function() { // Skip if already processed if (placeholder.hasAttribute('data-cmp-processed')) { return; } placeholder.setAttribute('data-cmp-processed', 'true'); const newScript = document.createElement('script'); newScript.type = 'text/javascript'; // Try new format first (data-cmp-src), then fall back to old format (data-src) const src = placeholder.getAttribute('data-cmp-src') || placeholder.getAttribute('data-src'); if (src) { newScript.src = src; } else if (placeholder.textContent) { // Inline script - just copy the content newScript.textContent = placeholder.textContent; } // Handle new format attributes (data-cmp-attrs) - for both inline and external scripts const attrs = placeholder.getAttribute('data-cmp-attrs'); if (attrs) { const tempDiv = document.createElement('div'); tempDiv.innerHTML = '
<\/div>'; const tempAttrs = tempDiv.firstChild.attributes; for (let i = 0; i < tempAttrs.length; i++) { // For external scripts, allow defer/async. For inline scripts, skip them (not valid) if (src || (tempAttrs[i].name !== 'async' && tempAttrs[i].name !== 'defer')) { newScript.setAttribute(tempAttrs[i].name, tempAttrs[i].value); } } } // Copy other attributes from old OneTrust format for (let i = 0; i < placeholder.attributes.length; i++) { const attr = placeholder.attributes[i]; // Skip attributes we've already handled or don't want to copy if (!['class', 'data-src', 'data-type', 'data-cmp-src', 'data-cmp-attrs', 'data-cmp-processed', 'type', 'async', 'defer', 'src'].includes(attr.name)) { newScript.setAttribute(attr.name, attr.value); } } placeholder.parentNode.replaceChild(newScript, placeholder); // If external script, manually trigger window.onload handlers after it loads // This handles widgets that use window.onload for initialization if (src) { newScript.addEventListener('load', function() { // If page already loaded and script set a new onload handler, trigger it if (document.readyState === 'complete' && window.onload) { const originalOnload = window.onload; window.onload = null; // Clear temporarily to prevent loops originalOnload(); // Execute the handler } }); } }, delay); delay += 500; // 500ms delay between each script to allow full loading }); } cbsoptanon.onScriptsReady(function(cmp) { cmp.ot.targetingAllowed(function(allowed) { if (!allowed) { showPrivacyMessage(); } else { activateGatedScripts(); } }); cmp.ot.awaitInitialConsent(function(consent_model) { cmp.ot.addOnConsentChangedHandler(function() { cmp.ot.targetingAllowed(function(allowed) { if (allowed) { hidePrivacyMessage(); activateGatedScripts(); } else { showPrivacyMessage(); } }); }); }); });