Feature: Expose conversation branch info in statusLine JSON input
Resolved 💬 3 comments Opened Apr 1, 2026 by placenameday Closed May 8, 2026
Summary
The /branch command (formerly /fork) is a great feature for conversation forking. However, the statusLine JSON input does not expose any conversation branch information, making it impossible to display branch context in a custom status bar.
Current behavior
The JSON object passed to statusLine.command includes fields like model, workspace, context_window, rate_limits, vim.mode, agent.name, etc. — but nothing about the current conversation's branch state.
Proposed fields
Add the following to the statusLine JSON input:
{
"session": {
"id": "current-session-uuid",
"branch_name": "optional user-given branch name",
"parent_session_id": "uuid of parent if this is a branch, null otherwise",
"is_branch": true/false,
"depth": 0 // 0 = root, 1 = branched from root, etc.
}
}
Use case
Users with custom statusLine commands could display:
- Whether the current session is a branch or the main conversation
- The branch name (if named)
- A visual indicator of branching depth
Example status bar: Claude Opus my_mm (main) 🌿 fix-refactor ███░░ 65%
Additional context
/branchwas introduced in v2.1.77 (renamed from/fork)- StatusLine configuration is in
settings.json→statusLine.command - This would help users maintain awareness of which conversation branch they're working in, especially when resuming sessions with
/resume
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗