[FEATURE] Desktop app: expose a configurable keyboard shortcut for voice dictation
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
The voice dictation feature works perfectly via the microphone icon in the Claude Code desktop app UI, but there is no keyboard shortcut to trigger it. Users must reach for the mouse every single time they want to dictate, which defeats the productivity benefit of voice input.
The /voice slash command returns /voice isn't available in this environment. in the desktop app, and a voice:pushToTalk binding in ~/.claude/keybindings.json has no effect (the keybindings file seems to apply to the CLI only). The desktop app's Settings panel exposes only Ctrl+Alt+Space for quick chat — nothing for voice.
Environment: Claude Code Desktop on Windows 10 Pro, version 2.1.86, authenticated with claude.ai account.
Proposed Solution
Add a configurable keyboard shortcut in the desktop app that triggers the same action as clicking the microphone icon.
Ideal user experience:
- Press a configurable hotkey (e.g. Ctrl+Space) while the chat input has focus → voice dictation starts (push-to-talk or toggle, matching the current
/voicemode semantics). - Release the hotkey (in push-to-talk mode) → dictation stops and the transcribed text is inserted into the input.
- The shortcut should be exposed both in the desktop app's Settings UI and in
~/.claude/keybindings.json(action namevoice:pushToTalk), so it stays consistent with the CLI binding system. - Sensible default:
Ctrl+Space(or another non-conflicting combo), with the user free to remap.
Alternative Solutions
- Windows native dictation (Win+H): works but uses the Windows speech engine, not Claude's transcription. Quality and integration are inferior for a Claude Code workflow.
- AutoHotkey script simulating a mouse click at the microphone icon's screen coordinates: fragile — breaks if the window is moved, resized, or if the UI layout changes. Not a viable long-term workaround.
- Configuring
"ctrl+space": "voice:pushToTalk"in~/.claude/keybindings.json: has no effect in the desktop app (binding silently ignored).
Currently I work around this by clicking the microphone icon manually with the mouse for every dictation, which is exactly the friction this feature should eliminate.
Priority
High - Significant impact on productivity
Feature Category
Interactive mode (TUI)
Use Case Example
_No response_
Additional Context
_No response_
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗