[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

  1. I work in a narrow terminal pane on a laptop, where every row counts.
  2. My custom statusLine already shows model, directory, context usage, git state, cost, and rate limits.
  3. With this field, I would render the current permission mode in that same row.
  4. 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

View original on GitHub ↗