IDE extension: open conversation view doesn't refresh when the session transcript grows externally
An open conversation in the VS Code/Cursor extension renders from in-memory state and never re-reads its transcript. When turns are appended to the same session externally — claude -p --resume <session-id> from a terminal, a scheduler, or recovery tooling — the open view stays frozen at its last state and the history list shows no change. Reopening the conversation shows the complete thread, so the data is fine; only the live view lags.
Repro:
- Open a conversation in the extension and request a long output (e.g. "count down from 100, one per line"), then press Esc mid-generation.
- From a terminal at the project root:
claude -p --resume <that session id> "continue where you stopped". - The headless run completes and appends to the same session (verifiable in the project's transcript
.jsonl). - The open tab still ends at the interruption; nothing indicates the session continued.
- Reopen the conversation from the session picker → the full thread, including the resumed turns, renders correctly.
Expected: the open view refreshes (or shows a "conversation updated — reload" affordance) when its transcript gains turns from another process.
Why it matters: headless resume is a supported flow, and automation built on it (recovery/scheduling tools) appends to live sessions by design. A user watching the IDE reasonably concludes the resume failed.
Environment: Claude Code v2.1.220 (native binary), Cursor extension anthropic.claude-code-2.1.220-darwin-arm64, macOS.
🤖 Drafted with Claude Code