Sessions starting with slash commands (/fast, etc.) are invisible in --resume picker

Resolved 💬 2 comments Opened Feb 9, 2026 by dylandifilippo Closed Mar 10, 2026

Bug Description

Sessions that begin with a slash command (e.g. /fast) before the first user prompt do not appear in the claude --resume interactive picker. The session data is fully intact on disk and can be resumed by ID (claude --resume <session-id>), but is invisible in the picker UI and cannot be found by name search or /rename.

Steps to Reproduce

  1. Start a new Claude Code session
  2. Type /fast as the first input (before any prompt)
  3. Enter your actual prompt (e.g. "Create an agent team...")
  4. Work through the session normally, then exit
  5. Run claude --resume to open the interactive picker
  6. The session does not appear in the list

Expected Behavior

The session should appear in the resume picker like any other session, regardless of whether it started with a slash command.

Actual Behavior

  • The session is missing from the picker (tested with both search and scrolling)
  • claude --resume <full-session-id> works fine — the session is intact
  • /rename updates metadata but the session remains invisible in the picker
  • claude --resume <name> also fails to find it

Root Cause Analysis

Inspecting the .jsonl session files, the difference between hidden and visible sessions is:

Hidden session (started with /fast):

Line 0: type=system, subtype=local_command (/fast)  → parentUuid: null
Line 1: type=system, subtype=local_command (response) → parentUuid: d56555bc
Line 2: type=file-history-snapshot
Line 3: type=user (actual prompt)                    → parentUuid: 048b294f  ← NOT root

Normal visible session:

Line 0: type=file-history-snapshot
Line 1: type=user (actual prompt)                    → parentUuid: null  ← root

The picker appears to require the first user message to have parentUuid: null (i.e., be the root of the message chain). When /fast is typed first, it becomes the root message, and the actual user prompt gets chained to the /fast response with a non-null parentUuid. The picker then skips the session entirely.

Environment

  • Claude Code version: 2.1.37
  • OS: macOS (Darwin 25.2.0)
  • The affected session contained a team (TeamCreate with 3 agents), though the issue is likely caused by the /fast prefix, not the team usage

Impact

  • Any session started with a slash command becomes permanently invisible in the resume picker
  • The only way to access the session is via the full UUID, which users are unlikely to remember
  • /rename does not help since the picker can't see the session at all
  • This is especially frustrating for long, complex sessions (e.g., team sessions with multiple agents)

Workaround

Resume directly by session ID:

claude --resume b52fb797-328d-4335-985e-52a58daf73fc

Or avoid the bug by always typing the first prompt before any slash commands.

View original on GitHub ↗

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