claude-code - 💡(How to fix) Fix [FEATURE] Feature request: cross-project session resume / global history view [1 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
anthropics/claude-code#55967Fetched 2026-05-05 06:01:39
View on GitHub
Comments
1
Participants
2
Timeline
3
Reactions
0
Timeline (top)
labeled ×2commented ×1

/resume (and claude --resume without a session UUID) is scoped to the current working directory's project folder under ~/.claude/projects/. There's no built-in way to browse or resume sessions from other projects without already knowing the session UUID.

Why this matters

Users with many active projects (I currently have 20+ project folders under ~/.claude/projects/) routinely need to find a recent session by topic or recency rather than by project. Today this requires one of:

  1. Remembering which directory a session was started from and cd-ing there before launching claude.
  2. Manually grepping the JSONL files under ~/.claude/projects/.
  3. Writing a custom script to enumerate sessions across projects (which I ended up doing, see below).

This is friction that adds up when you switch projects often. The data is already on disk in a clean JSONL format — Claude Code just doesn't surface it cross-project.

Root Cause

  • Encouraging users to cd first — works but assumes the user remembers which project a session belongs to, which is exactly what they're trying to rediscover.
    • A user-side script reading ~/.claude/projects/*/*.jsonl — works for read-only listing (I wrote one), but it cannot safely resume a session cross-project because it can't re-bind the working directory, MCP scopes, or CLAUDE.md inheritance the way Claude Code itself can.
RAW_BUFFERClick to expand / collapse

Preflight Checklist

  • I have searched existing requests and this feature hasn't been requested yet
  • This is a single feature request (not multiple features)

Problem Statement

Summary

/resume (and claude --resume without a session UUID) is scoped to the current working directory's project folder under ~/.claude/projects/. There's no built-in way to browse or resume sessions from other projects without already knowing the session UUID.

Why this matters

Users with many active projects (I currently have 20+ project folders under ~/.claude/projects/) routinely need to find a recent session by topic or recency rather than by project. Today this requires one of:

  1. Remembering which directory a session was started from and cd-ing there before launching claude.
  2. Manually grepping the JSONL files under ~/.claude/projects/.
  3. Writing a custom script to enumerate sessions across projects (which I ended up doing, see below).

This is friction that adds up when you switch projects often. The data is already on disk in a clean JSONL format — Claude Code just doesn't surface it cross-project.

Proposed Solution

Any of the following would solve this; listed in increasing scope:

  1. /resume --global (or a separate /history command): an interactive picker that lists sessions across all ~/.claude/projects/<encoded-cwd>/ folders, sorted by recency, showing the project cwd + first user prompt as preview. Selecting one would change the active project root to that session's cwd (so tool allowlists, MCP scopes, and CLAUDE.md inheritance stay correct) and load the session.

  2. claude history CLI subcommand: a one-shot command (e.g. claude history --limit 30 [--filter <substring>]) that prints the same view to stdout, without entering an interactive session. Useful for scripting and for finding a session UUID to feed to claude --resume.

  3. A flag on claude --resume <id> that warns the user when the session's original cwd differs from the current shell, and offers to switch — so resuming a cross-project session can never silently mis-bind tool permissions and project context.

Alternative Solutions

  • Encouraging users to cd first — works but assumes the user remembers which project a session belongs to, which is exactly what they're trying to rediscover.
  • A user-side script reading ~/.claude/projects/*/*.jsonl — works for read-only listing (I wrote one), but it cannot safely resume a session cross-project because it can't re-bind the working directory, MCP scopes, or CLAUDE.md inheritance the way Claude Code itself can.

Priority

High - Significant impact on productivity

Feature Category

CLI commands and flags

Use Case Example

No response

Additional Context

Why first-class support matters

The non-trivial part isn't the listing — it's the safe resume. Tool allowlists, MCP server scopes, and CLAUDE.md inheritance are all cwd-bound in Claude Code, so a "global resume" must re-bind those correctly when crossing project roots. That's the part user-side scripts can't do.

Environment

  • Claude Code on Windows 11 (PowerShell), but the request is platform-agnostic.
  • Sessions stored under %USERPROFILE%\.claude\projects\<encoded-cwd>\*.jsonl.

extent analysis

TL;DR

Implementing a /resume --global command or a claude history CLI subcommand would allow users to browse and resume sessions across multiple projects.

Guidance

  • To address the issue, consider adding a flag to the /resume command that enables global session browsing, allowing users to select a session from any project.
  • Implementing a claude history CLI subcommand would provide a non-interactive way to list recent sessions across all projects, which could be useful for scripting and finding session UUIDs.
  • When resuming a session, it's essential to re-bind the working directory, MCP scopes, and CLAUDE.md inheritance to ensure correct project context.
  • The proposed solution should handle cases where the session's original cwd differs from the current shell, potentially offering to switch to the correct project root.

Example

No code example is provided, as the issue focuses on the desired functionality rather than specific implementation details.

Notes

The solution requires careful consideration of how to handle project context and permissions when resuming a session from a different project. The proposed solutions aim to provide a seamless experience for users with multiple active projects.

Recommendation

Apply a workaround by implementing a claude history CLI subcommand, which would provide a basic way to list and find sessions across projects, while planning for a more comprehensive solution like /resume --global. This approach allows for incremental improvement and testing of the feature.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

claude-code - 💡(How to fix) Fix [FEATURE] Feature request: cross-project session resume / global history view [1 comments, 2 participants]