[FEATURE] Expose current permission mode in the statusLine stdin JSON
Status Open
Reported on v2.1.241
Maintainer reply None cached
Activity 0 comments · opened Aug 24, 2026
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
The statusLine stdin JSON includes model, workspace, cost, context_window, rate_limits, and even vim.mode — but not the current permission mode (default / acceptEdits / plan / bypassPermissions). The statusline docs note that the status line re-renders when the permission mode changes, yet the mode itself isn't in the payload, so a custom statusline has no way to display it.
Proposed Solution
Add a field such as "permission_mode": "acceptEdits" to the statusLine stdin JSON, following the existing vim: {mode} precedent.
Alternative Solutions
None found — there is no file, flag, or API a statusline script could query to learn the current permission mode.
Priority
Medium - Would be very helpful
Feature Category
Configuration and settings
Use Case Example
- I work in a narrow terminal pane on a laptop, where every row counts.
- My custom statusLine already shows model, directory, context usage, git state, cost, and rate limits.
- With this field, I would render the current permission mode in that same row.
- Combined with the companion request to hide the built-in footer mode indicator, the mode stays visible while freeing a terminal row.
Additional Context
Companion issue: #89126
Claude Code version: 2.1.241