Setting to hide built-in vim mode indicator when custom statusLine renders it

Open 💬 0 comments Opened Jul 15, 2026 by sindrehenriksen

Problem Statement

Since v2.1.119 the statusLine JSON exposes vim.mode, so custom statusLine scripts can render vim mode in their preferred style and position. However, Claude Code still renders its built-in -- INSERT -- / -- NORMAL -- indicator below the prompt unconditionally. This produces visible duplication when a custom statusLine already shows the same information.

Example:

[I] t:1.8k (12%) | main | opus 4.8 th:high   ← my custom statusLine
-- INSERT --                                  ← built-in, unhideable

Proposed Solution

A boolean setting in settings.json such as hideVimModeIndicator: true (default false) that suppresses the built-in vim mode indicator. Users who want to render vim mode themselves via the vim.mode field can opt in; everyone else keeps the current behavior.

Alternative Solutions

  • Always render the built-in indicator alongside the custom statusLine (current behavior) — accepts duplication.
  • Remove the built-in indicator entirely once vim.mode is in JSON — breaks users who haven't migrated their statusLine scripts.

A user-controlled opt-in setting avoids both downsides.

Use Case Example

  1. I run Claude Code with editorMode: "vim" and a custom statusLine that prefixes [N] / [I] / [V] based on .vim.mode.
  2. The built-in -- INSERT -- line below the prompt repeats the same information.
  3. Setting hideVimModeIndicator: true would let my single statusLine be the canonical display, freeing the row below the prompt for system messages and reducing visual noise.

Additional Context

Re-file of #66319, which was auto-closed by the stale bot for inactivity ("Closing for now — inactive for too long"), not resolved on merit. #66319 was itself a re-file of #53556, closed the same way. The data-exposure half shipped in v2.1.119 (vim.mode in statusLine JSON); this issue narrowly targets the still-missing setting to hide the built-in indicator. Prior related: #19185, #18917, #16788.

View original on GitHub ↗