Skip to content

[BUG] Claude Code's past conversation indexing is not working and may suffer from poor design #9898

Closed as not planned

Description

@kerim-ca

Preflight Checklist

  • I have searched existing issues and this hasn't been reported yet
  • This is a single bug report (please file separate reports for different bugs)
  • I am using the latest version of Claude Code

What's Wrong?

Claude Code has three interfaces:

  1. Terminal Application
  2. IDE Terminal
  3. VS Code Extension v2.0

The /resume command fails to reliably index and display conversation history, causing several issues:

Cross-Interface Inconsistency:

  • Conversations created in one interface often don't appear in /resume when accessed from another interface

Same-Interface Indexing Failures:

  • Within a single interface, switching between many conversations may cause some to disappear from /resume

Incomplete v2.0 Migration:

  • When VS Code Extension v2.0 launched, it only indexed a some of pre-v2.0 conversations
  • Terminal /resume shows different number of conversations than Extension /resume or 'Past conversations'

Path-Dependent Design Flaw:

  • All conversations are stored in ~/.claude/projects/ organized by absolute directory path
  • Moving a project directory breaks access to ALL previous conversations via /resume
  • The conversation files still exist in ~/.claude/projects/ but become inaccessible

Root Cause:
Conversations are indexed by absolute directory paths rather than a centralized index or project identifier.

What Should Happen?

Claude Code should implement a centralized conversation index similar to claude.ai/recents where:

  1. Unified History: All conversations accessible from a single, persistent index across all three interfaces
  2. Portable Projects: Conversations tied to project identifiers (not absolute paths), so moving/renaming directories doesn't break history
  3. Reliable Indexing: All conversations in ~/.claude/projects/ are consistently indexed and accessible
  4. Cross-Interface Sync: Conversations created in any interface appear in /resume across all interfaces

Steps to Reproduce

Issue 1: Cross-interface visibility

  1. Create a conversation using the Terminal Application
  2. Open the same project in VS Code Extension v2.0
  3. Run /resume
  4. Observe: Conversation may not appear in the list

Issue 2: Lost after project move

  1. Create a conversation in a project at /path/to/project
  2. Verify it appears in /resume
  3. Move the project to /new/path/to/project
  4. Run /resume in the new location
  5. Observe: All previous conversations for that project are gone from /resume
  6. Check ~/.claude/projects/ - files still exist but are inaccessible

Issue 3: Same-interface disappearance

  1. Create multiple conversations in the same interface
  2. Switch between them multiple times using /resume
  3. Observe: Some conversations disappear from the /resume list despite files existing in ~/.claude/projects/

Claude Model

None

Is this a regression?

I don't know

Last Working Version

No response

Claude Code Version

2.0.22

Platform

Other

Operating System

Ubuntu/Debian Linux

Terminal/Shell

Other

Additional Information

No response

Activity

  1. github-actions commented on Oct 19, 2025

    @github-actions

    Found 3 possible duplicate issues:

    1. [BUG] /resume shows different sessions and incorrect data between TUI and VSCode extension #8667
    2. Conversation history lost when changing directories with cd command #4843
    3. [FEATURE REQUEST] Ability to move directories and not break --continue #1516

    This issue will be automatically closed as a duplicate in 3 days.

    • If your issue is a duplicate, please close it and 👍 the existing issue instead
    • To prevent auto-closure, add a comment or 👎 this comment

    🤖 Generated with Claude Code

  2. kerim-ca commented on Oct 19, 2025

    @kerim-ca
    Author

    Related GitHub Issues

    #9258 - History Sessions lost in VS Code plugin
    #1516 - Directory moves break --continue
    #2717 - Conversation History Retrieval Failure in /resume
    #4050 - Project-specific session storage configuration

    Other Resume/History Issues:

    #8937 - Resume conversation doesn't display previous messages in terminal
    #3188 - v1.0.45 --resume bug
    #2302 - Resuming Previous Sessions Fails with "No Conversation Found"
    #3138 - Resume flag fails after hitting usage/context limits
    #371 - Resume old sessions (original feature request)
    #1340 - Feature Request: Session Resumption for CLI
    #6912 - Allow Claude Code to access /resume command

    Official Documentation

    Claude Code Common Workflows - Official docs on --continue and --resume
    Claude Code VS Code Integration - Documentation on the VS Code extension
    Claude Code Best Practices - Anthropic's official best practices
    Anthropic News: Claude Code Autonomous Features - Announcement of v2.0 features

    Community Resources & Workarounds

    GitHub Gist: Directory Migration Guide - Detailed explanation of how Claude Code stores conversations and how to migrate after directory moves
    Claude Code Session Management Guide - Steve Kinney's comprehensive guide
    Claude Code Tutorials Part 2: Resume Conversations - Practical tutorial on resuming conversations

    Third-Party Extensions (mentioned in research)

    Claude Code Chat Extension - Alternative VS Code interface
    Claude Code Assist - Chat History Viewer - Extension specifically for browsing history

    Additional Context

    Claude Code Cheat Sheet - Comprehensive command reference
    Complete Review & Guide to Claude Code 2.0 - Third-party review of v2.0 changes

  3. scampcat commented on Oct 20, 2025

    @scampcat

    Confirmed bug on Mac OS 26, same version, same problem in Claude Code CLI.

  4. alsage13 commented on Oct 23, 2025

    @alsage13

    This is a really annoying issue. Having recently migrated from Claude desktop/browser, not being able to find past chats is a massive pain! I like that they're housed in a project, but there should be a unified view, too.

  5. schpet commented on Oct 28, 2025

    @schpet

    yeah, would be great to e.g. be able to set a project name in a project's .claude/settings.local.json

    i'm using symlinks to work around this, e.g. given i have a project at /Users/schpet/code/foobar and run git worktree add ../bazbar to add a copy of it at /Users/schpet/code/bazbar

    then i run this:

    ln -s ~/.claude/projects/-Users-schpet-code-foobar ~/.claude/projects/-Users-schpet-code-bazbar

    this lets me share history between git worktrees, and in my case more commonly, jj workspaces

  6. github-actions commented on Dec 9, 2025

    @github-actions

    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.

  7. github-actions commented on Jan 12, 2026

    @github-actions

    This issue has been automatically closed due to 60 days of inactivity. If you're still experiencing this issue, please open a new issue with updated information.

  8. github-actions commented on Jan 19, 2026

    @github-actions

    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.

  9. locked as resolved and limited conversation to collaborators on Jan 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:corearea:idearea:tuiautocloseIssue will be closed automaticallybugSomething isn't workinghas reproHas detailed reproduction stepsplatform:linuxIssue specifically occurs on Linux

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions