[FEATURE] Setting to hide the permission-mode footer indicator (like hideVimModeIndicator)
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
I use a custom statusLine that shows everything I need, and on small terminal windows vertical space is precious. The built-in footer line showing the current permission mode ("auto mode on", "plan mode", ...) permanently consumes a terminal row and can't be turned off.
A precedent exists for this kind of control: hideVimModeIndicator hides the -- INSERT -- indicator, but there is no equivalent for the permission-mode line.
Proposed Solution
A settings.json boolean such as hidePermissionModeIndicator, analogous to hideVimModeIndicator. When true, the footer's permission-mode line is not rendered.
Alternative Solutions
I found no workaround: a custom statusLine renders in its own row above the footer rather than replacing it, and no current setting suppresses the mode line.
Companion request (cross-linked in Additional Context): expose the permission mode in the statusLine stdin JSON, so the hidden information can be shown in a custom statusline instead.
Priority
Medium - Would be very helpful
Feature Category
Interactive mode (TUI)
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 the companion
permission_modestdin field, I would render the current mode in that same row. - With this setting, the built-in footer mode line would no longer consume a second row — same information, one less line.
Additional Context
Safety consideration: hiding the mode indicator could let a user forget they're in a more permissive mode than they think. Two possible mitigations: (a) only honor this setting when a custom statusLine is configured, so the mode can be displayed there instead (see the companion issue on exposing permission_mode in the statusline JSON); (b) keep the indicator visible for bypassPermissions regardless of the setting, since that mode disables prompts entirely. Note that with auto mode now the default, always-showing auto would defeat the setting's purpose (the line would be present in the common case) — and a constantly-present indicator loses its value as a deviation signal anyway.
Companion issue: #89127
Claude Code version: 2.1.241