Conversation history shows duplicate 'Warmup' titles and loads wrong conversations

Resolved 💬 29 comments Opened Oct 16, 2025 by hrothgarious Closed Oct 24, 2025
💡 Likely answer: A maintainer (hackyon-anthropic, collaborator) responded on this thread — see the highlighted reply below.

Claude Code Bug Report: Conversation History Loading Issue

Summary

Conversation history UI displays duplicate "Warmup" titles for multiple distinct conversations, and selecting a specific conversation loads the wrong conversation content.

Environment

  • OS: Linux (WSL2) - Linux 6.6.87.2-microsoft-standard-WSL2
  • Claude Code Version: 2.0.17 (from ~/.vscode-server/extensions/anthropic.claude-code-2.0.17)
  • VSCode: Remote (WSL)
  • Working Directory: /home/hrothgarious/bke
  • Date of Issue: October 16, 2025

Expected Behavior

  1. Each conversation in the history list should display a unique, descriptive title or first message
  2. Selecting a conversation from the history should load that specific conversation
  3. Different conversations should be distinguishable in the UI

Actual Behavior

  1. Multiple distinct conversations all show "Warmup" as the title in the conversation history list
  2. Selecting a specific conversation loads different/wrong conversation content
  3. User cannot distinguish between conversations or reliably resume a previous conversation

Evidence from Filesystem

Conversation files are stored in ~/.claude/projects/-home-hrothgarious-bke/ as JSONL files.

Actual Conversations from Today (Oct 16):

1. File: c7bc33e6-dd71-409e-9a42-c45b27c6789f.jsonl
  • Size: 250KB
  • Messages: 69
  • Last Modified: 17:23
  • Actual First Message: "@medial_axis/curve_descriptor.py"
  • Topic: Curve analysis and splitting work
  • Shows in UI as: "Warmup" (incorrect)
2. File: 0d0d6579-39e9-4511-a347-9b3bb2319bb8.jsonl
  • Size: 128KB
  • Messages: 87
  • Last Modified: 17:03
  • Topic: Grasshopper MCP forking and development
  • Shows in UI as: "Warmup" (incorrect)
3. File: 7cfe8332-8326-4c3c-aa76-fcf2b755eaf0.jsonl
  • Size: 295KB
  • Messages: 210
  • Last Modified: 17:38 (current/ongoing)
  • Topic: GitHub MCP server installation discussion
  • Shows in UI as: "Warmup" (incorrect)

JSONL Structure

First line of each conversation file:

{
  "parentUuid": null,
  "isSidechain": true,
  "userType": "external",
  "cwd": "/home/hrothgarious/bke",
  "sessionId": "7cfe8332-8326-4c3c-aa76-fcf2b755eaf0",
  "version": "2.0.17",
  "gitBranch": "",
  "type": "user",
  "message": {
    "role": "user",
    "content": "Warmup"
  },
  "uuid": "4aeee286-9ecf-48e1-803a-0c7689c2a31e",
  "timestamp": "2025-10-16T14:00:03.919Z"
}

Root Cause Analysis

The issue appears to be that:

  1. The conversation history UI is using the FIRST user message ("Warmup") as the conversation title
  2. Many users type "Warmup" as their first message to initialize the session
  3. The UI should either:
  • Skip "Warmup" messages when determining conversation titles
  • Use the second user message or a summary of the conversation
  • Use timestamps or other metadata to disambiguate

Impact

  • Severity: High - Users lose access to their previous work
  • Frequency: Reproducible - Affects all conversations that start with "Warmup"
  • Data Loss: No actual data loss (files intact), but data is effectively inaccessible through the UI
  • Workaround: Access conversation JSONL files directly from filesystem (requires technical knowledge)

Steps to Reproduce

  1. Start multiple conversation sessions
  2. Begin each session with the message "Warmup"
  3. Have substantive conversations with different topics
  4. Close and reopen VSCode/Claude Code
  5. Attempt to select a specific previous conversation from the history
  6. Observe that:
  • All conversations show "Warmup" as title
  • Selecting a conversation may load wrong content

Suggested Fixes

  1. Short-term: Skip common initialization messages ("Warmup", "Hello", etc.) when generating conversation titles
  2. Medium-term: Use AI to generate descriptive titles from the first few substantial messages
  3. Long-term:
  • Add explicit conversation naming/titling feature
  • Show timestamp + first non-trivial message
  • Show file tree or code files discussed as subtitle/metadata

Additional Context

User reported:

"I recall I had two relatively long conversations today" "I tried all conversation from today and I cannot find the one" "when I select the right one the same warm up conversation comes along and this is wrong"

The user was unable to resume their work through the UI and required filesystem-level investigation to identify the correct conversation files.

Related Files

  • Conversation storage: ~/.claude/projects/-home-hrothgarious-bke/*.jsonl
  • Extension location: ~/.vscode-server/extensions/anthropic.claude-code-2.0.17

Contact

Issue can be reproduced in the environment described above. Conversation JSONL files available for inspection if needed for debugging.

View original on GitHub ↗

29 Comments

bluelight773 · 9 months ago

I'd submitted a duplicate here. I can add that:

  • The issue occurs with the extension 2.0.19 as well
  • The issue occurs on Windows as well
  • The issue occurs whether the Haiku model is 3.5 or 4.5
  • When I launch the CLI that is bundled with the extension, the issue doesn't appear (or at least titles that are NOT "Warmup" show up for the conversations). Thus, perhaps the issue is specific to the extension and doesn't even apply to the CLI that is bundled with the extension.
  • I think the issue occurred for me without me using "Warmup" as the prompt, but that prompt somehow ended up replacing the prompts that I did use (at least for one-prompt conversations).
sorryhyun · 9 months ago

I have this issue too and imo I think some kind of agent setting is being overriden when haiku model got triggered. This also happens when I use agent sdk with fork_session=true, resume={session_id}

FutureExcited · 9 months ago

It's not that users start conversations with "Warmup"

It looks like Claude Code itself started sending a "Warmup" message from user side. Which in turn triggers assistant response of the sorts of "Hi, I'm Claude Code, ready to work on your project ..."

started happening on the day of haiku 4.5 release

QFrankQ · 9 months ago

My conversation history has been flooded by sessions named "Warmup" as well

FredipusRex · 9 months ago

This is happening for me as well. VSCode Plugin v2.0.21

Numerous conversations all starting with "Warmup" and then a confused Claude trying to figure out what you want to do. Completely wiped out a bunch of conversations.

arturogarciavw · 9 months ago

Same problem here, I'm building a script to remove this files until they fixed.

allfadersup · 9 months ago

Same issue on macOS

Environment:

macOS (Darwin 24.4.0)
Claude Agent SDK: 2.0.19, 2.0.21, 2.0.22 (all affected)
Last working version: 2.0.13 (October 16, 2025)
First broken session: October 17, 2025 @ 3:16 PM (SDK 2.0.19)

Zhaoren1998 · 8 months ago

我也遇到了,这个影响很大

eliasg52 · 8 months ago

Same issue here. All my past conversations were deleted

MikhailRatner · 8 months ago

Same here! MacOS.
First broken session: October 20, 2025
I saw the session, closed VS Code and opened another file and wanted to continue with the session and suddenly saw "Warmup" in all!

MikhailRatner · 8 months ago

I "hot fixed" my issue by just asking another question inside the session. Not sure at what point exactly, but afterwards I was able to see the previous conversations. Just asked "Can you summarize our session so far?".

Zhaoren1998 · 8 months ago

赶紧解决啊

hackyon-anthropic collaborator · 8 months ago

Sorry for the inconvenience, this should be fixed in the latest release! Please update and give it a spin (and let us know if you continue to see if afterwards!)

BTankut · 8 months ago
Sorry for the inconvenience, this should be fixed in the latest release! Please update and give it a spin (and let us know if you continue to see if afterwards!)

no, not fixed! still going!

Zhaoren1998 · 8 months ago
应该

还没改好,很严重这个问题

hackyon-anthropic collaborator · 8 months ago

Can you please let us know the version you're seeing this in?

BTankut · 8 months ago

2.0.24 (Claude Code)

eliasg52 · 8 months ago
Can you please let us know the version you're seeing this in?

2.0.24

FutureExcited · 8 months ago

2.0.25 and this warmup still exists.

raw jsonl of an example chat:

{"type": "summary"}
{"type": "summary"}
{"uuid": "1", "parentUuid": null, "sessionId": "2", "timestamp": "2025-10-22T10:50:15.112Z", "type": "user", "message": {"role": "user", "content": "Warmup"}}
{"uuid": "3", "parentUuid": "1", "sessionId": "2", "timestamp": "2025-10-22T10:50:20.158Z", "type": "assistant", "message": {"role": "assistant", "content": [{"type": "text", "text": "I'm ready to assist you with the Conare project. I've reviewed the system instructions and understand:\n\n**Key principles I'll follow:**\n- Minimal, elegant code changes\n- Nuxt 4 pre-release structure (app/ for frontend, root for backend)\n- [TRUNCATED: 1170 chars total]"}]}}
{"type": "file-history-snapshot"}
{"uuid": "4", "parentUuid": null, "sessionId": "2", "timestamp": "2025-10-22T10:50:30.921Z", "type": "user", "message": {"role": "user", "content": "tf"}}

my first actual message was "tf"

hackyon-anthropic collaborator · 8 months ago

Found the issue, fix inbound!

eliasg52 · 8 months ago
Found the issue, fix inbound!

thanks!

hackyon-anthropic collaborator · 8 months ago

We just shipped a hotfix for this in v2.0.27. Apologies for the inconvenience. Let us know if you still run into it with the new update!

FutureExcited · 8 months ago

not sure if this fix was intended for VSCode extension only. but Claude still sends the same warmup messages

raw jsonl of the chat in 2.0.27:

{"type": "summary"}
{"type": "summary"}
{"type": "summary"}
{"uuid": "1", "parentUuid": null, "sessionId": "2", "timestamp": "2025-10-25T08:25:52.590Z", "type": "user", "message": {"role": "user", "content": "Warmup"}}
{"uuid": "3", "parentUuid": "1", "sessionId": "2", "timestamp": "2025-10-25T08:25:57.256Z", "type": "assistant", "message": {"role": "assistant", "content": [{"type": "text", "text": "I'm Claude Code, Anthropic's official CLI for Claude. I'm ready to help you navigate and explore this codebase efficiently.\n\n [TRUNCATED]"}]}}
{"type": "file-history-snapshot"}
{"uuid": "4", "parentUuid": null, "sessionId": "2", "timestamp": "2025-10-25T08:25:58.043Z", "type": "user", "message": {"role": "user", "content": "hello54321"}}
{"uuid": "5", "parentUuid": "4", "sessionId": "2", "timestamp": "2025-10-25T08:26:01.967Z", "type": "assistant", "message": {"role": "assistant", "content": [{"type": "text", "text": "Hello! I see your test message. The vibe-rules are loading correctly (I can see \"test1234\" and \"hello54321\" in the context).\n\nHow can I help you today?"}]}}
sorryhyun · 8 months ago

This keeps happening. would you guys open the issue please

eliasg52 · 8 months ago
This keeps happening. would you guys open the issue please

same to me

FutureExcited · 8 months ago

@hackyon-anthropic can we get the issue re-opened please?

hackyon-anthropic collaborator · 8 months ago

Can you check that you have updated and post screenshots of your issue?

@FutureExcited this gets sent but it shouldn't show up in your message history.

allfadersup · 8 months ago

Double Warmup Sessions + No Summaries Generated

Just discovered that SDK v2.0.28 is creating TWO warmup phantom sessions on every initialization, not just one:

  1. agent-{id1}.jsonl - Haiku 4.5 warmup
  2. agent-{id2}.jsonl - Sonnet 4.5 warmup

Both created simultaneously (1ms apart) with isSidechain: true and marked with the same parent sessionId.

Impact during development:

  • Every app restart = 2 phantom sessions
  • Every hot reload = 2 more phantom sessions
  • After a few hours of dev work = hundreds of agent-*.jsonl files cluttering the sessions directory

Additional Impact - No Summaries:
Sessions initiated through the SDK are no longer generating conversation summaries. This breaks the ability to quickly identify and /resume conversations when switching between Claude CLI, VSCode extension, and SDK-based applications. All sessions just show as "New Session", <ide_opened_file>, or display the warmup message instead of meaningful summaries.

Workaround:
Auto-delete files matching agent-*.jsonl pattern when loading sessions:

// Filter and delete warmup phantom sessions
for (const file of files) {
  if (file.startsWith('agent-')) {
    fs.unlinkSync(path.join(sessionsDir, file));
  }
}

This matches the CLI's behavior of hiding warmup messages from users, but at the filesystem level.

Related: This appears to be related to Anthropic's fix for keeping warmup out of real conversations (from #9671), but creating separate phantom sessions causes its own problems - especially for SDK-based applications with frequent restarts during development.

github-actions[bot] · 8 months ago

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.