[FEATURE] Feature request: cross-project session resume / global history view

Resolved 💬 3 comments Opened May 4, 2026 by PonrajMahalingamTR Closed May 7, 2026

Preflight Checklist

  • [x] I have searched existing requests and this feature hasn't been requested yet
  • [x] 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.

  1. Manually grepping the JSONL files under ~/.claude/projects/.
  2. 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.

  1. 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.

  1. 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.

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗