[Feature Request] Vim-style j/k navigation in selection menus (/effort, /model, /agents, etc.)

Resolved 💬 3 comments Opened Apr 16, 2026 by cyperx84 Closed Apr 20, 2026

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

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗