[BUG] claude --continue` Broken by "Warmup" Message Injection
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?
Calling claude --continue makes the cli to boot up with the synthetic user message "> Warmup", overriding --continue. This causes the model to run a quick bootsrap and say something in the lines of "yo man, how can I help on this beautiful day?" instead of picking up from previous session logs. The occurrence is intermittent and sporadic.
| Version | Sessions with Warmup | Total Sessions | Percentage |
|---|---|---|---|
| 2.0.15 | 0 | 19 | 0.0% ← Bug not present |
| 2.0.17 | 6 | 19 | 31.6% |
| 2.0.19 | 9 | 15 | 60.0% |
| 2.0.20 | 7 | 12 | 58.3% |
| 2.0.21 | 14 | 24 | 58.3% |
| 2.0.22 | 7 | 26 | 26.9% |
| 2.0.23 | 1 | 2 | 50.0% |
| 2.0.24 | 29 | 58 | 50.0% |
| 2.0.25 | 30 | 58 | 51.7% |
| 2.0.26 | 15 | 23 | 65.2% ← Highest impact |
| 2.0.27 | 16 | 29 | 55.2% ← Latest |
Mind that in each session multiple claude --continue were invoked. I was unable to detect when a session was successfully continued... it just continued.
claude code did the investigation with some nudging. The remaining fields of the issue report were synthesized by Sonnet 4.5 and properly reviewed.
Actual Behavior (by claude)
Running claude --continue:
- Generates a conversation summary (e.g., "Claude Code Ready: Codebase Exploration Tool Warmup")
- Injects a synthetic "Warmup" message with
"parentUuid": null - Starts a completely new session instead of continuing
- All previous conversation context is lost
Scale: Searching the JSONL logs shows this pattern in 190+ occurrences across 100+ session files:
$ grep -l '"content":"Warmup"' ~/.claude/projects/-home-y3i12-project/*.jsonl | wc -l
100+
$ grep -c '"content":"Warmup"' ~/.claude/projects/-home-y3i12-project/*.jsonl
190+
User Impact
- Breaks iterative workflows: Users cannot build on previous analysis
- Forces context rebuilding: Every session starts from scratch
- Wastes tokens: Users must re-explain context each time
- Confusing UX: "Warmup" displays as if user typed it
Root Cause Analysis
The "Warmup" injection appears to be an optimization attempt:
- Use Haiku for cheap "connection handshake" (~550 tokens)
- Then switch to Sonnet for real work
However, the implementation breaks continuation by:
- Setting
parentUuid: null(orphans the message) - Starting a new conversation chain
- Discarding previous session context
Suggested Fix Directions
- Link to previous session: Set
parentUuidto the last message UUID from the previous session - Remove synthetic injection: Skip "Warmup" entirely and directly resume with actual context
- Add continuation marker: Include metadata indicating this is a continuation, not a new session
- Preserve conversation graph: Ensure the message chain remains connected across
--continueinvocations
Additional Context
The "Warmup" message is consistently followed by Haiku responding with a generic "I'm ready to help" message (also "isSidechain": true), suggesting this was designed as a cost-optimization handshake. However, this breaks the core continuation functionality.
What Should Happen?
Expected Behavior
Running claude --continue should:
- Resume the previous conversation with full context
- Maintain conversation history
- Allow building on previous work
Error Messages/Logs
## Evidence from JSONL Logs
The "Warmup" message injection breaks the conversation chain:
{
"type": "summary",
"summary": "Claude Code Ready: Codebase Exploration Tool Warmup",
"leafUuid": "7724a014-3cc3-4e68-a406-a692fdbead85"
}
{
"parentUuid": null, // ← THIS BREAKS THE CHAIN
"isSidechain": true,
"userType": "external",
"sessionId": "03389f78-c35b-4fb9-bae9-3fc3622687d6",
"type": "user",
"message": {
"role": "user",
"content": "Warmup"
},
"uuid": "a6966d07-e1da-4a13-b0ed-e4d9932fc34b",
"timestamp": "2025-10-21T14:59:06.316Z"
}
By setting `"parentUuid": null`, the CLI signals a new conversation start rather than continuation.
Steps to Reproduce
Reproduction
# Start a conversation
claude "analyze this codebase"
# ... conversation happens ...
# Exit
# Repeat --continue and exit
claude --continue
# Exit
# Eventually "> Warmup" appears in terminal formatted as user input and context from previous conversation is lost
Claude Model
Sonnet (default)
Is this a regression?
Yes, this worked in a previous version
Last Working Version
2.0.15
Claude Code Version
2.0.27
Platform
Anthropic API
Operating System
Other Linux
Terminal/Shell
VS Code integrated terminal
Additional Information
This is the nth issue opened after all the previous ones got auto-closed without resolution. Can someone please address it?
If you really have to waste those tokens on the warmup message that isn't even displayed, please at least make it not break the JSONL logs.
Oh and these even mess up CC's own summary generation:
{"type":"summary","summary":"Claude Code CLI Documentation Task","leafUuid":"2b7394b6-d370-4a65-a777-0094c76c0ecd"}
{"type":"summary","summary":"CSV data labeling implementation completed successfully","leafUuid":"ddfb079c-148a-4f2e-a026-3fb67be197ed"}
{"type":"summary","summary":"Claude Code Codebase Navigation Warmup","leafUuid":"4b539575-1024-4ba4-85bf-2bc32b44e1bd"}
{"type":"summary","summary":"Fixed Gemini API response handling for metrics","leafUuid":"f37103d8-9aa4-4914-99b1-5acf322bc1c2"}
{"type":"summary","summary":"Claude Code Assistant Ready for Codebase Help","leafUuid":"0d2ded92-d6e1-4d71-8b55-aeec153121fb"}
{"type":"summary","summary":"Claude Code CLI Codebase Navigation Warmup","leafUuid":"ddb89a28-00ee-4473-a268-120296c5cf14"}
{"type":"summary","summary":"Flexible Regex Placeholder Parsing Implementation","leafUuid":"b0ae4cb3-8f34-4801-ae8a-68d6b121828c"}
{"type":"summary","summary":"Platform Frontend Policy Agent Feature Work","leafUuid":"8e5b8f99-a127-4aa5-bc5e-494df828d6c7"}
{"type":"summary","summary":"Browser Logger Configuration Fix","leafUuid":"46206d98-151c-4729-9906-207d6bd9f8b1"}
{"type":"summary","summary":"Claude Code Ready for Codebase Help","leafUuid":"3be88cfb-b496-4aca-884e-891052a0aae5"}
{"type":"summary","summary":"Clean Architecture: Policy Assistant with Explicit Navigation","leafUuid":"29576c98-d4de-43d9-95d1-114542a9d26f"}
{"type":"summary","summary":"Claude Code Introduction Warmup Session","leafUuid":"a2337fae-6edd-4f04-a76b-425e16a6bee0"}
{"type":"summary","summary":"Policy Assistant Integration Architecture Review","leafUuid":"6cdb20ae-00c2-4968-9247-8aff0d2ae2a7"}
{"type":"summary","summary":"Claude Code CLI Usage Tutorial","leafUuid":"e93899e5-78d4-4dc7-974c-41aa1092a5a5"}
{"type":"summary","summary":"AI SDK Tool Result Integration Fix","leafUuid":"8b602288-04e1-46ff-9acd-b1d84e2848cd"}
{"type":"summary","summary":"Claude Code Initialization and Codebase Overview","leafUuid":"f311f4b7-5e29-4548-84cf-fce6afa7bb3b"}
{"type":"summary","summary":"Fixed failing unit tests by mocking Next.js","leafUuid":"7e46c7a7-1057-4265-8a9f-baca0a30879b"}
{"type":"summary","summary":"Claude Code Warmup: Monorepo Navigation Ready","leafUuid":"fe2a8cec-41fc-4f8f-84a3-a87fae1f79e7"}
{"type":"summary","summary":"Claude Code CLI Documentation Summary","leafUuid":"826ba32a-6888-4c92-a539-2a1f3b622f26"}
{"type":"summary","summary":"Claude Code Warmup Ready for Codebase","leafUuid":"0523d4c3-8390-49f9-b7f5-ecbb69ece5d2"}
{"type":"summary","summary":"Created Storybook stories for six UI components","leafUuid":"23d033d4-09dd-44c5-8e7e-580dedf656b8"}
{"type":"summary","summary":"Codebase Overview and Setup Readiness","leafUuid":"217068f9-4dde-4404-827f-5cadecf30ff7"}
{"type":"summary","summary":"Fixed Comment Highlight Scrolling Issue","leafUuid":"d6201ad7-e573-4bd1-9fc6-2af46cd4e1d2"}
{"type":"summary","summary":"Claude Code Warmup Ready","leafUuid":"f908ac65-174e-448d-9f6e-0709f20d4483"}
{"type":"summary","summary":"Conversation interrupted by user","leafUuid":"d67166a4-de52-4226-940b-09142e10c6dc"}
{"type":"summary","summary":"Claude Code warmup codebase exploration setup.","leafUuid":"0e3aa434-9dbd-467a-a120-4e5889563fb2"}
{"type":"summary","summary":"Policy Assistant UI: Material-UI to Shadcn Migration Complete","leafUuid":"66d7fa9c-6721-4166-a02e-3b48f008233c"}
{"type":"summary","summary":"Claude Code warmup ready for monorepo","leafUuid":"c30fb483-4a7b-4539-bd6c-446c89ffb334"}
{"type":"summary","summary":"Figma MCP Integration Setup","leafUuid":"59da773f-cee8-4707-aa77-656cb821dd68"}
{"type":"summary","summary":"Claude Code CLI Setup Warmup","leafUuid":"d3b16ab6-da91-4c48-98f0-8ab85d4b0b26"}
Oh man, the VS Code plugin (2.0.35) is even unable to render my first message now because of these:
This issue has been inactive for 30 days. If the issue is still occurring, please comment to let us know. Otherwise, this issue will be automatically closed in 30 days for housekeeping purposes.
Issue stopped occurring.
This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.