claude-code - 💡(How to fix) Fix [FEATURE] Configurable initial vim mode for each new prompt

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Add a setting to choose which vim mode the composer enters at the start of every new prompt.

Root Cause

Add a setting to choose which vim mode the composer enters at the start of every new prompt.

Fix Action

Fix / Workaround

Scope

  • Applies to the composer only. Slash-command dispatch and other modal overlays are unchanged.
  • Orthogonal to existing vim-mode work (cursor shape #32469, statusline JSON #16788, jk→Esc remap #53039): a pure entry-state setting.

Code Example

{
  "vim": {
    "initialMode": "insert"
  }
}
RAW_BUFFERClick to expand / collapse

Summary

Add a setting to choose which vim mode the composer enters at the start of every new prompt.

Proposed setting

{
  "vim": {
    "initialMode": "insert"
  }
}
valuebehavior
insertevery new prompt starts in INSERT — current default
normalevery new prompt starts in NORMAL
preservekeep the mode that was active when the previous prompt was submitted

Motivation

  • insert (default) fits the most common flow: type first, edit after.
  • normal matches pure-vim discipline — users who hit Esc by reflex at every turn save one keystroke per prompt.
  • preserve avoids being bounced back to INSERT for users who just submitted from NORMAL (e.g., right after :-style editing of the previous prompt).

The default stays insert, so existing users are unaffected.

Scope

  • Applies to the composer only. Slash-command dispatch and other modal overlays are unchanged.
  • Orthogonal to existing vim-mode work (cursor shape #32469, statusline JSON #16788, jk→Esc remap #53039): a pure entry-state setting.

Related

  • openai/codex#21850 — start in INSERT
  • openai/codex#21804 — preserve mode after submit

Codex split this design into two separate proposals. Folding both into a single tri-state setting keeps the configuration surface smaller and makes the three behaviors mutually exclusive by construction.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

claude-code - 💡(How to fix) Fix [FEATURE] Configurable initial vim mode for each new prompt