Feature Request: Expose Plan/Edit Mode in Statusline JSON
Summary
Add a mode field to the statusline JSON input so users can display the current operational mode (plan vs edit) in their custom status lines.
Motivation
When working with Claude Code, switching between plan mode and edit mode changes the behavior significantly:
- Plan mode: Read-only exploration, no edits allowed
- Edit mode: Full tool access, can make changes
Currently, users must rely on memory or visual cues in the conversation to know which mode they're in. Having this in the statusline would provide persistent, at-a-glance awareness - similar to how showing the git branch helps maintain context.
Proposed Solution
Add a mode field to the statusline JSON input:
{
"mode": {
"name": "plan",
"display_name": "Plan"
},
...existing fields...
}
Possible values:
plan- Plan mode active (read-only)edit- Normal edit mode- (future modes as they're added)
Use Case
Users with custom statuslines could display:
➜ Opus ~/myproject main [PLAN] $0.23 (15%)
Or with colors:
- Green for edit mode (safe to make changes)
- Yellow/orange for plan mode (read-only)
Current Workaround
None. Mode state is internal and not exposed to statusline scripts.
Additional Context
The statusline feature is powerful for building awareness of session state. Adding mode would complement the existing fields (model, cost, context %) and help users maintain situational awareness during complex workflows.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗