Cloud session: message silently dropped — UI shows running, no tokens consumed, message disappears after refresh

Resolved 💬 3 comments Opened Jun 17, 2026 by Maropion03 Closed Jun 20, 2026

Summary

In a cloud Claude Code session, a sent message entered a "running" state that never progressed: no thinking stream, no token consumption, indefinite spinner. After a hard refresh, the sent message was gone from the conversation history — confirming it was never persisted server-side.

This behaves like a silent send-failure: the front-end accepted the message into local state but delivery to the backend failed without surfacing any error and without rolling back the UI.

Repro

  1. Open an existing cloud Claude Code conversation.
  2. Send a new message.
  3. Observe: spinner / elapsed-time counter runs for minutes with no streamed output and no thinking trace.
  4. Hard refresh the page.
  5. Observe: the message just sent is no longer in the conversation. Server has no record of it.

Expected

  • Either the message reaches the backend and the model responds, OR
  • The front-end detects the send failure, shows an error, and lets the user retry.

Actual

  • UI shows "running" indefinitely with elapsed time ticking up
  • No tokens consumed, no thinking events, no streamed response
  • After refresh, the message is silently discarded with no error indication

Environment

  • Cloud Claude Code (claude.ai/code)
  • Reporter noted they had switched devices before the failing send; a session/auth-token state issue on the new device may be related.

Impact

User cannot tell whether the model is working or the request failed. Easy to mistake for a model hang. Lost work since the message is dropped without warning.

Suggested fix direction

  • Surface send-failure errors in the UI (toast or inline state on the message bubble)
  • Preserve unsent messages in the composer on send failure so the user can retry
  • Add a client-side timeout that flips the running state to "failed" if no server ack arrives within N seconds

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗