Feature Request: Expose permissions mode in status line JSON input
Summary
Add the current permissions mode to the JSON payload passed to custom status line scripts, allowing users to consolidate the permissions indicator into their custom status line.
Current Behavior
The status line JSON input includes:
model- current model infoworkspace- directory infocost- session cost/lines changedcontext_window- token usage
The permissions mode (>> bypass / > normal / etc.) is displayed as a separate built-in UI line below the custom status line:
✨ ███░░░░░░░ · repo/main · +208/-19 · 💰 $2.69 · Opus 4.5
>> bypass permissions on (shift+tab to cycle)
Requested Behavior
Add a permissions field to the status line JSON input:
{
"permissions": {
"mode": "bypassPermissions",
"display_name": "bypass",
"icon": ">>"
},
"model": {...},
"workspace": {...},
...
}
This would allow users to integrate the permissions indicator into their custom status line:
✨ ███░░░░░░░ · >> repo/main · +208/-19 · 💰 $2.69 · Opus 4.5
Benefits
- Cleaner UI - Consolidate two lines into one, reducing vertical space
- Customization - Users can style/position the permissions indicator as they prefer
- Consistency - All session info in one customizable line
Implementation Suggestion
When a custom statusLine is configured in settings.json, hide the built-in permissions line to avoid duplication. Users who want the permissions indicator can include it in their custom status line using the new JSON field.
This keeps backward compatibility:
- No custom status line → show built-in permissions line (current behavior)
- Custom status line configured → hide built-in line, expose
permissionsin JSON
Additional Context
The permissions mode already exists internally and is displayed in the UI - this would just expose it to the status line script input.
Possible modes to expose:
bypassPermissions/>>normal/>planmode indicator if applicable
Environment
- Claude Code version: 1.0.x
- OS: macOS / Linux / Windows
---
🤖 Generated with Claude Code
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗