Where does the bug appear (feature/product)?
Chat / Composer (Agent)
Describe the Bug
After my Mac was in idle sleep for a few hours and then woken, an open Agent chat showed the generic banner “An unexpected error occurred. Request ID: 899e7a6c-6316-492c-af9b-220c0a77c5d7”. After the error the conversation had silently rolled back to an earlier state: a whole stretch of completed work (several assistant messages + tool calls) was gone from the in-context conversation — even though that work had actually completed and was persisted on disk.
I cross-checked the live in-context conversation against Cursor’s own persisted bubble store (state.vscdb) and the working tree:
- Ground truth (work that really happened + persisted): the session had completed a full implementation phase — ~5 source files modified, 2 new source modules, a new test file + 4 fixtures, and a passing test run. All present on disk and in Cursor’s persisted bubble store, with the tool-call bubbles marked
completed. - Live context after the error (decoded
conversationStateprotobuf: 47 turns, 0 summary blobs): the newest in-context work was an earlier phase; none of the implementation phase was present. The context window had been reverted from “implementation complete” back to the earlier phase. - Re-serialization fingerprint: the earlier phase’s tool-call bubbles are re-persisted under ~14 distinct
createdAtclusters; within each cluster several multi-second shell commands share a sub-5 ms timestamp — i.e. batch re-writes of the bubble store, not real re-executions. The final re-write landed during the sleep window. The conversation store was repeatedly re-serialized and the live context ended up pointing at a stale snapshot. - Possibly related: a report on the same version (3.9.16), same day shows this exact banner with stack
RetriableError: [internal] Blob not foundinrunAgentLoop/streamFromAgentBackend(forum topic 164453). “Blob not found” is consistent with the conversation referencing content blobs/turns that no longer resolve.
Impact
- Lost work/visibility: completed assistant messages and tool-call results vanished from the conversation the model can see.
- Unsafe replay risk: because the in-context state says the work isn’t done, continuing/retrying the session would re-run already-completed tool calls (re-create files, re-run commands). I avoided this only by not letting it retry the prompt — a user who clicks Try again would get duplicate / potentially destructive re-execution.
- Opaque error: the only signal is a generic “unexpected error” + Request ID; nothing indicates the conversation silently rolled back.
Speculative root cause: on resume after idle sleep, the client reconciles the session to a stale conversationState snapshot (referencing turns/blobs that predate the latest persisted state, or that can’t be fetched → “Blob not found”) instead of loading the latest persisted bubble state, then surfaces the generic error and continues from the stale point.
Steps to Reproduce
- Open an Agent chat and run several turns that include tool calls / file edits, so there is substantial completed work.
- Leave the chat open and let the machine go into idle sleep for a few hours.
- Wake the machine and return to the chat.
- Observe the banner “An unexpected error occurred. Request ID: …”.
- Notice the last completed message(s)/tool-call results are missing and the agent’s understanding has reverted to an earlier point in the session.
- (Do not click Try again on real work — continuing replays already-completed actions.)
Expected Behavior
- On resume, reconnect to the latest persisted conversation state; never silently roll back to an older snapshot.
- No lost messages or tool-call results.
- Never auto-replay already-completed tool calls; if state can’t be loaded, fail loudly and recover to the latest persisted state rather than an older one.
- Transient / “Blob not found” errors should be retried against the current state, not by rolling the conversation backward.
Operating System
MacOS 26.5.1 (build 25F80)
Version Information
Cursor 3.9.16 (commit 042b3c1a4c53f2c3808067f519fbfc67b72cad80)
Does this stop you from using Cursor?
No - Cursor works, but with this issue