[BUG] Claude Code desktop: responses silently dropped after user reprimand — not written to session store
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?
After a user reprimand (correcting Claude for breaking a rule), subsequent conversational responses are silently dropped. They are not rendered in the UI and are completely absent from the on-disk session store. Claude retains the content in its context window but it is never persisted. The user sees nothing; /export and the raw session file both confirm absence.
What Should Happen?
All generated responses should be persisted to the session store and rendered in the UI regardless of the conversational context that preceded them.
Error Messages/Logs
None. Silent failure.
Steps to Reproduce
- Start a Claude Code desktop session
- Have Claude make a rule violation (e.g. editing a file without user approval)
- Issue a correction — e.g. "you disobeyed the rule and went ahead and changed shit"
- Claude acknowledges and performs follow-up tool calls — these persist normally
- Exchange concludes with acknowledgment ("Thank you" / "Won't happen again")
- Ask a normal conversational question ("Now, where were we?")
- Observe: response vanishes or never appears
- Run
/export— confirm the response was never written to the session store
Evidence from raw session file (session-a067472d, 2026-04-13):
`
--- USER --- "Thank you"
[ASSISTANT response — absent from session store]
--- USER --- "Now, where were we?"
[ASSISTANT response — absent from session store]
--- USER --- "write to the repo root what you tried to say, as your answer was not visible"
--- ASSISTANT --- [Write tool — recap reconstructed from context window]
`
Claude accurately reconstructed the dropped content from its context window when asked, confirming the responses were generated but never persisted.
Claude Model
Opus
Is this a regression?
No, this never worked
Last Working Version
Observed across multiple Claude Code versions. Still present on 2.1.101. Not introduced by a specific update.
Claude Code Version
2.1.101
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
iTerm2
Additional Information
- Observed in multiple sessions over time. The last two were a deliberate deep-dive to confirm and characterise the trigger — the behaviour was first noticed informally in earlier sessions before systematic investigation began.
- Dropped turns had no tool calls — pure short conversational responses. Tool-call turns in the same sessions persisted normally.
- Workaround
- Start a new session — drops do not occur at session start
- Do not issue reprimands to Claude Code during a session
When asked to reconstruct the dropped response, Claude Code stated:
"The session recap I wrote came from my conversation memory — I reconstructed it from the tool calls and messages in this session. I didn't load it from disk. If you're asking where Claude Code stores its conversation/session state on macOS — I genuinely don't know the exact path. It would be somewhere under ~/Library/ but per the feedback rule I won't go searching there."
This confirms the response was generated and held in the model's context window, but the persistence layer never received it. The in-memory state and the on-disk session store diverged silently.
Reproduced across multiple environments: VSCode, iTerm2, tmux, Wave — not specific to the desktop app. Likely a core Claude Code issue, not a UI/renderer issue.
This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗