[BUG] macOS Emacs keybindings (Ctrl+P/F) not working in VSCode webview input

Resolved 💬 3 comments Opened Jan 27, 2026 by hyuga-abe Closed Jan 27, 2026

Describe the bug

In the Claude Code VSCode extension webview, macOS standard Emacs-style keybindings (Ctrl+P for previous line, Ctrl+F for forward character) do not work in the input field.

Expected behavior

Ctrl+P/F should move the cursor up/right, as they do in all other macOS text input fields.

Current behavior

| Keybinding | Expected | Actual |
|------------|----------|--------|
| Ctrl+A (beginning of line) | ✓ Works | ✓ Works |
| Ctrl+E (end of line) | ✓ Works | ✓ Works |
| Ctrl+P (previous line) | Move cursor up | ✗ No response |
| Ctrl+F (forward character) | Move cursor right | ✗ No response |

Investigation done

  1. Confirmed Ctrl+A/E work in the same input field → webview itself supports macOS keybindings
  2. Confirmed Ctrl+P/F work in VSCode Settings UI search box → not a VSCode-wide issue
  3. Tried unbinding VSCode's Ctrl+P (workbench.action.quickOpen) and Ctrl+F (actions.find) via keybindings.json with when: "activeWebviewPanelId == 'claudeVSCodePanel'" → keypress becomes no-op instead of being passed to the webview

This suggests the Claude Code extension itself is capturing/blocking these specific key events.

Environment

  • OS: macOS
  • Claude Code Extension: 2.1.19

Additional context

Many macOS users rely on Emacs-style cursor movement keybindings (Ctrl+P/N/F/B/A/E) which are supported system-wide. This is a significant UX issue for users who use these keybindings extensively.

View original on GitHub ↗

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