/resume hides conversations that started with a local command and shows broken branch names
Resolved 💬 3 comments Opened Mar 25, 2026 by v3nividiv1ci Closed Mar 29, 2026
Bug description
Two related issues when a conversation begins with a local command (e.g. /login):
- The conversation is hidden from
/resumelist, even though it contains substantial user-initiated work afterward. - Branch names are unreadable — when the conversation has branches (sidechains),
/resumeshows the raw<local-command-caveat>XML tag as the branch label instead of a meaningful summary, making it impossible to distinguish between branches.
Steps to reproduce
- Start a new conversation
- Run
/login(or any local command) as the first action - Continue working in the conversation normally
- Create conversation branches (sidechains) during the session
- Exit the conversation
- Run
/resume
Expected behavior
- The conversation should appear in
/resumelist - Branches should show meaningful names based on actual conversation content
Actual behavior
- The conversation is completely hidden from
/resume. The only way to restore it is viaclaude --resume <session-id>if you happen to know the UUID. - When branches are accessed, they display as:
````
claude --resume "<local-command-caveat>Caveat: The messages below were generated by the user while running local comm (Branch)"
claude --resume "<local-command-caveat>Caveat: The messages below were generated by the user while running local comm (Branch 2)"
Making it impossible to tell which branch is which.
Root cause
The /login command inserts a <local-command-caveat> tag as the first message. /resume uses this first message for both conversation listing and branch naming, causing it to either hide the conversation or display garbled names.
Environment
- Claude Code CLI
- macOS
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗