claude-code - 💡(How to fix) Fix [Feature Request] Vim-style j/k navigation in selection menus (/effort, /model, /agents, etc.) [1 comments, 2 participants]

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…
GitHub stats
anthropics/claude-code#49606Fetched 2026-04-17 08:36:25
View on GitHub
Comments
1
Participants
2
Timeline
4
Reactions
0
Author
Timeline (top)
labeled ×3commented ×1

Add vim-style j/k (and/or Ctrl+J/Ctrl+K) navigation to selection menus invoked by slash commands such as /effort, /model, /agents, /permissions, etc. Currently these menus only respond to arrow keys.

Root Cause

Add vim-style j/k (and/or Ctrl+J/Ctrl+K) navigation to selection menus invoked by slash commands such as /effort, /model, /agents, /permissions, etc. Currently these menus only respond to arrow keys.

RAW_BUFFERClick to expand / collapse

Description

Add vim-style j/k (and/or Ctrl+J/Ctrl+K) navigation to selection menus invoked by slash commands such as /effort, /model, /agents, /permissions, etc. Currently these menus only respond to arrow keys.

Current Behavior

When invoking commands like /effort that present a list of options, navigation requires arrow keys (↑/↓).

Expected Behavior

In any selection menu, users should also be able to:

  • Press j (or Ctrl+J) to move selection down
  • Press k (or Ctrl+K) to move selection up

Use Case

Users running Claude Code inside terminal-heavy vim/neovim workflows (tmux + nvim + fzf + telescope) have muscle memory for j/k navigation. Reaching for arrow keys breaks flow, especially since much of Claude Code's audience is terminal-native developers.

Related Prior Issues

Two previous issues requested the same thing but only for the @ file picker, and both were auto-closed:

  • #6517 — Vim-style keyboard navigation (Ctrl+J/K) for file picker
  • #16547 — Customizable keyboard shortcuts for @ file picker navigation

This request is broader: apply vim navigation consistently across all selection menus, not just the file picker.

Possible Implementation

  1. Always-on: Ctrl+J/Ctrl+K (unambiguous — does not conflict with filter typing)
  2. Opt-in: bare j/k only when /vim mode is active, or behind a config flag in settings.json
  3. Expose bindings in ~/.claude/keybindings.json so users can rebind

Environment

  • Platform: darwin
  • Terminal: ghostty (inside tmux + neovim)
  • Version: Claude Code with Opus 4.7

extent analysis

TL;DR

Implement vim-style navigation by adding j/k (and/or Ctrl+J/Ctrl+K) key bindings to selection menus in Claude Code.

Guidance

  • Review the ~/.claude/keybindings.json file to see if custom key bindings can be added for selection menus.
  • Consider implementing an "always-on" approach for Ctrl+J/Ctrl+K navigation, as it does not conflict with filter typing.
  • Investigate the possibility of adding a config flag in settings.json to enable bare j/k navigation when a specific mode (e.g., /vim mode) is active.
  • Look into exposing bindings in ~/.claude/keybindings.json to allow users to rebind keys according to their preferences.

Example

No code snippet is provided, as the issue does not contain sufficient technical details to create a concrete example.

Notes

The implementation approach may vary depending on the specific requirements and constraints of the Claude Code project. It is essential to consider potential conflicts with existing keyboard shortcuts and ensure that the new bindings do not interfere with other features.

Recommendation

Apply workaround by adding custom key bindings to ~/.claude/keybindings.json to enable vim-style navigation in selection menus, as this approach allows for flexibility and user customization.

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 Request] Vim-style j/k navigation in selection menus (/effort, /model, /agents, etc.) [1 comments, 2 participants]