Tab key captured by webview in v2.1.69, breaks global hotkey tools (e.g. Aqua Voice)

Resolved 💬 3 comments Opened Mar 5, 2026 by rom228bot Closed Mar 8, 2026

Summary

After updating Claude Code to v2.1.69, the Tab key no longer triggers global hotkey listeners (WH_KEYBOARD_LL) when the Claude Code window is focused.

Steps to reproduce

  1. Install Aqua Voice (voice-to-text tool that hooks Tab globally via WH_KEYBOARD_LL)
  2. Open Claude Code v2.1.69
  3. Click inside the input area (webview)
  4. Press Tab

Expected: Aqua Voice activates (starts recording)
Actual: Tab is silently consumed by the webview, Aqua Voice never sees the keypress

Environment

  • Claude Code: v2.1.69
  • OS: Windows 11 Pro (10.0.26200)
  • Was working in v2.1.68 and earlier

Root cause analysis

Claude Code uses an Electron/Chromium webview for the input area. Starting from v2.1.69, the webview appears to capture Tab at a lower level before WH_KEYBOARD_LL hooks can see it. Tab is a special key in browser/webview context (focus traversal), so it gets intercepted before being forwarded to OS-level hooks.

Other keys (letters, Enter, etc.) still reach global hooks normally.

Workaround

Using Win+H (Windows built-in voice typing) as a fallback. Or using a different key (non-Tab) for Aqua Voice hotkey.

Impact

Any global hotkey tool that relies on WH_KEYBOARD_LL and uses Tab as a trigger key is broken when Claude Code is focused. This is a regression from v2.1.68.

Request

Please either:

  1. Forward Tab key events to OS-level hooks (like other keys), or
  2. Add a setting to disable Tab capture in the input webview

View original on GitHub ↗

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