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
- Open an existing cloud Claude Code conversation.
- Send a new message.
- Observe: spinner / elapsed-time counter runs for minutes with no streamed output and no thinking trace.
- Hard refresh the page.
- 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
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗