claude-code - 💡(How to fix) Fix Active sessions are invisible in the Recents / `--resume` picker [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#52401Fetched 2026-04-24 06:08:10
View on GitHub
Comments
1
Participants
2
Timeline
4
Reactions
0
Timeline (top)
labeled ×3commented ×1

When a Claude Code session is currently running (in another terminal, or the terminal I'm looking at right now), it does not appear in the claude --resume picker. I understand the reason — attaching two live terminals to one session file causes interleaved writes — but the current behavior is confusing in practice:

  • There is no "live session" row in the picker, even with a disabled/greyed-out affordance.
  • There is no indication that an active session exists at all.
  • If I'm troubleshooting whether a long-running session is still alive, the picker actively misleads me into thinking it's gone.

Root Cause

When a Claude Code session is currently running (in another terminal, or the terminal I'm looking at right now), it does not appear in the claude --resume picker. I understand the reason — attaching two live terminals to one session file causes interleaved writes — but the current behavior is confusing in practice:

  • There is no "live session" row in the picker, even with a disabled/greyed-out affordance.
  • There is no indication that an active session exists at all.
  • If I'm troubleshooting whether a long-running session is still alive, the picker actively misleads me into thinking it's gone.

Fix Action

Fix / Workaround

Workaround today

Code Example

ls -lt ~/.claude/projects/<project>/*.jsonl
RAW_BUFFERClick to expand / collapse

Description

When a Claude Code session is currently running (in another terminal, or the terminal I'm looking at right now), it does not appear in the claude --resume picker. I understand the reason — attaching two live terminals to one session file causes interleaved writes — but the current behavior is confusing in practice:

  • There is no "live session" row in the picker, even with a disabled/greyed-out affordance.
  • There is no indication that an active session exists at all.
  • If I'm troubleshooting whether a long-running session is still alive, the picker actively misleads me into thinking it's gone.

Expected behavior

One of the following would resolve the confusion:

  1. Show active sessions in the picker with a • live indicator, unselectable for direct resume, with a secondary "Fork" action available.
  2. Show them with a different sort/section header ("Active — fork only") and keep them excluded from normal resume.
  3. Add a claude --list-sessions --include-active flag that dumps everything so the user can verify the session is still running.

Actual behavior

Session file exists at ~/.claude/projects/<project>/<id>.jsonl and is actively being written to. Picker hides it entirely. Only discoverable via shell:

ls -lt ~/.claude/projects/<project>/*.jsonl

Why it matters

For long-lived autonomous/agentic sessions (hours-long — mine had been compacted once and was still going), the Recents picker is the first place a user looks to reassure themselves the session exists. Silently hiding it turns a safety property (no dual-write) into a perceived bug (session vanished).

Workaround today

  • claude --fork-session to branch from the active one
  • ls -lt ~/.claude/projects/.../*.jsonl to confirm it's alive

Version

2.1.116 (Claude Code) — macOS 15 (Darwin 25.4.0)

extent analysis

TL;DR

To address the issue of hidden active sessions in the claude --resume picker, consider using the claude --fork-session command as a workaround or awaiting a potential update that includes active session indicators.

Guidance

  • The current behavior hides active sessions to prevent dual-write issues, but this can be misleading for users trying to verify if a long-running session is still active.
  • Using claude --fork-session can allow you to branch from an active session, indirectly confirming its existence.
  • Listing session files with ls -lt ~/.claude/projects/<project>/*.jsonl can also verify if a session is still being written to, indicating it's active.
  • A potential solution could involve modifying the picker to display active sessions with a "live" indicator or a separate section, as suggested in the expected behavior section.

Example

No specific code snippet is applicable here, as the issue revolves around the behavior of the claude command-line tool rather than code that can be modified directly.

Notes

The exact implementation details of how claude manages sessions and the picker's behavior are not provided, which limits the specificity of the guidance. The issue seems to be more about the usability and user experience of the claude tool rather than a code-level bug that can be fixed with a snippet.

Recommendation

Apply workaround: Until a version of claude that includes indicators for active sessions is available, using claude --fork-session and manually listing session files can help mitigate the confusion caused by hidden active sessions.

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…

FAQ

Expected behavior

One of the following would resolve the confusion:

  1. Show active sessions in the picker with a • live indicator, unselectable for direct resume, with a secondary "Fork" action available.
  2. Show them with a different sort/section header ("Active — fork only") and keep them excluded from normal resume.
  3. Add a claude --list-sessions --include-active flag that dumps everything so the user can verify the session is still running.

Still need to ship something?

×6

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

Back to top recommendations

TRENDING