[BUG] Mac desktop app: 'Your previous message wasn't sent' toast fires after successful response, caused by postMessage origin mismatch to claudeusercontent.com

Resolved 💬 16 comments Opened May 13, 2026 by seanderful Closed May 19, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

The Mac desktop app shows a "Your previous message wasn't sent. You can try again." toast after responses that actually completed successfully. The chat message sends, the response streams in fully, the turn is saved — and then the toast appears anyway. It is a false alarm, not an actual send failure.

This happens consistently across multiple chats over the past several days, including in brand-new chats with no history. It is not tied to long conversations, large pastes, or attachments. Cache clear (Cache, Code Cache, GPUCache, Session Storage), full quit/relaunch, and app update did not resolve it.

Log signature from ~/Library/Logs/Claude/claude.ai-web.log shows the root cause is a failed cross-origin postMessage from claude.ai to the artifacts iframe at claudeusercontent.com, after which the renderer logs an [ARTIFACTS] malformed message and the toast surfaces:

[warn] Failed to execute 'postMessage' on 'DOMWindow': The target origin provided ('https://www.claudeusercontent.com') does not match the recipient window's origin ('https://claude.ai').
[ARTIFACTS] Received message does not conform to basic message shape, ignoring
[error] Unrecognized Content-Security-Policy directive 'webrtc'.

The postMessage origin mismatch fires after the response stream completes, which is why the toast appears post-completion rather than on send. The error-handling path appears to misclassify this iframe handshake failure as a chat send failure.

Also visible in the same log, likely separate but worth flagging:
[warn] MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 ...claude.web_AutoUpdater_updaterState_store_update listeners added.

Environment:

  • Claude Mac desktop app version [VERSION]
  • macOS [your version]
  • Model: Opus 4.7
  • Reproduces in fresh chats, with and without artifacts in the response
  • Web client (claude.ai in Chrome/Safari) does not show this toast

What Should Happen?

The toast should only fire when a chat message actually fails to send. A failed cross-origin postMessage to the artifacts iframe should be handled within the artifacts subsystem and not surface as a chat send-failure warning to the user.

Error Messages/Logs

Steps to Reproduce

  1. Open the Claude Mac desktop app
  2. Start a new chat
  3. Send any prompt that produces a response containing an artifact (e.g. "create a simple HTML hello-world artifact") — though note that the bug also reproduces on responses without artifacts
  4. Wait for the response to fully stream in and complete
  5. Observe: the "Your previous message wasn't sent. You can try again." toast appears in the top-right shortly after the response finishes rendering, even though the message clearly sent and the response is fully visible

Reproduces:

  • Across multiple chats, including brand-new ones with no history
  • With and without attachments in the user message
  • On Opus 4.7 (have not tested other models systematically)
  • Consistently over the past several days

Does NOT reproduce:

  • In claude.ai opened in Chrome/Safari (same account, same network)

Tail of ~/Library/Logs/Claude/claude.ai-web.log while reproducing shows the postMessage origin mismatch to claudeusercontent.com firing right around when the toast appears (full log snippet in the "What's Wrong?" section above; screenshot attached).

Cache clear, full quit/relaunch, and app update did not resolve.

Claude Model

None

Is this a regression?

Yes, this worked in a previous version

Last Working Version

_No response_

Claude Code Version

2.1.138

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

_No response_

View original on GitHub ↗

16 Comments

yizixu · 2 months ago

<img width="605" height="57" alt="Image" src="https://github.com/user-attachments/assets/ebd362fb-837b-4128-902f-8803176375a0" />

me too. windows.

jryski · 2 months ago

Also seeing this on Mac on claude desktop app, but not windows.

silicon-dream · 2 months ago

Can confirm with claude.ai on Firefox and Chromium. This happens 100% of the time, not only when the response is fully complete, but while it's still streaming as well.

discretelogic · 2 months ago

I've been getting this on Claude Desktop/Mac for a few days. Same behaviors mentioned here. No notes.

Serendipathy · 2 months ago

I Ditto the abvoe comments.

jasonmcmunn · 2 months ago

Same... Mac OS X claude desktop v Claude 1.7196.0 (2dbd78) 2026-05-12T05:34:40.000Z

thgilfodrol · 2 months ago

I just encountered this message on the Mac desktop app version 1.6608.2 (ebf1a1), but under slightly different circumstances. Halting a prompt that has stalled, then sending the same prompt again via the Retry button, causes the client to resend the prompt before the failed one, the server to stream in a new generation of the last turn of conversation, followed by the toast that "Your previous message wasn't sent. You can try again."

This process happens invisibly to the user: clicking the Retry button seems like it works, then the UI refreshes to show a new branch of the last successful prompt instead of the actual prompt the user wanted to send.

So the bug is similar: the error message is technically correct in saying that the previous message failed to send, even though a new response has been generated for the last successful prompt.

BruceBenjaminThomas · 2 months ago

Confirming I'm hitting this too, on the Mac desktop app. Same false-alarm behavior: the "Your previous message wasn't sent. You can try again." toast appears even though the message actually sent and the response streamed in and completed normally.

A few details from my experience that may add signal:

  • It happens across multiple separate chat sessions, not just one long-running conversation.
  • It also happens in sessions I created very recently, with little or no history, so it's not tied to conversation length or context size.
  • I'm also seeing a related symptom: after a delay of several seconds, a previous/old message from the session reappears in the message input/text area on its own. Not sure if that's the same root cause or a separate UI state-sync bug, but it started around the same time and is getting more frequent.
  • Quit/relaunch and waiting it out don't prevent recurrence; the toast is a false alarm each time (the conversation continues normally).

Environment: macOS, Claude desktop app, latest version. Happening consistently over the past several days and seems to be spreading across more of my sessions.

leelds · 2 months ago

Me too , on MAC OS.

V9K3 · 2 months ago

+1 on MacOS - All browsers

iamzebanana · 2 months ago

Same + reproduces in same chat on claude.ai in mac chrome.

armorcode-robbie · 1 month ago

getting this constantly on desktop app on mac. doesnt happen on my windows machine

Keverhar · 1 month ago

I am getting this error consistently on Windows desktop. It often appears as soon as I start a new session before any message has been sent. On some occasions I can't continue because there appears to be a phantom session running and I have to fully restart the desktop.

hchia93 · 1 month ago

Confirming reproduction on Windows 11 Home (build 26200), app Claude 1.7196.0 (2dbd78), build 2026-05-12T05:34:40Z. Not Mac-only.

Symptom: an artifact/preview renders fine and the response completes normally, but a false "your previous message wasn't sent, you can try again" toast fires, AND the desktop app auto-repopulates my just-sent message back into the chat input box. The message was actually delivered (the response is present and saved), so the repopulated text is a phantom duplicate, pressing Enter would send a dupe.

Effectively the send-failure recovery path (input-bar restore) is being run on a successful send, triggered by the claude.ai ↔ claudeusercontent.com artifacts-iframe postMessage origin mismatch. Frequent: occurs on most messages that trigger an artifact/preview render. Does not repro on web. Suggests this is cross-platform, not platform:macos only.

reza8iucs · 1 month ago

same here on both mac and windows claude desktop i get this error.

aaka3207 · 1 month ago

I'm seeing this now on desktop, feels like it happens every other session now.