Add `statusLine.hidePermissionModeIndicator` and expose `permission_mode` in the status line payload
Ask
- Add
permission_modeto the status line payload so i can add the selected permissions setting into the statusline - Add
statusLine.hidePermissionModeIndicatorso I can hide the selected permissions option from the static (uneditable) statusline beneath it
Why
<img width="1820" height="587" alt="Image" src="https://github.com/user-attachments/assets/ee4dc9f6-4187-4416-8184-0421a2298256" />
I customized my status line, and now I have 2 statuslines.
Row 1 is my status own line
Row 2 is ⏵⏵ auto mode on and mostly only shows that
If the mode were in the payload I would render it in the status line I already have, and take the row back. Vim users can already do that (according to Claude - I don't use Vim).
Precedent
statusLine.hideVimModeIndicator exists. Its description states the principle:
Hide the built-in-- INSERT --/-- VISUAL --indicator below the prompt. Use this when your status line script rendersvim.modeitself.
The payload ships vim.mode, so the built-in indicator becomes optional. Permission mode has neither the payload field nor the flag.
Current state (2.1.226)
Full statusLine schema:
{ type: "command", command, padding?, refreshInterval?, hideVimModeIndicator? }
Mode labels come from a fixed table:
{label:"default", symbol:"", color:"text"}
{label:"accept edits on", symbol:"⏵⏵", color:"autoAccept"}
{label:"plan mode on", symbol:"⏵⏵", color:"planMode"}
{label:"auto mode on", symbol:"⏵⏵", color:"warning"}
Scope
This will not always free the row. The same area carries contextual hints (image-paste, search-history-hint, scroll-as-arrows, tmux-mouse-hint, and others) plus the agent count. Most of those only show for 5 to 15 seconds, so it's ok. But if you accept this, I will maybe open an issue for that later as well.
My setup
2.1.226, macOS, Ghostty + tmux, custom command status line, permissions.defaultMode: "auto".
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗