reneceo

Claude Dictation Hotkey — Design skill for Claude Code

Design community

Keyboard shortcut for the Claude desktop app's microphone on macOS.

How to install Claude Dictation Hotkey

This entry records only its repository, not the path inside it, so there is no exact command to give. Open reneceo/claude-dictation-hotkey and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Claude Dictation Hotkey does

Keyboard shortcut for the Claude desktop app's microphone on macOS. The AXManualAccessibility trick that makes Electron UI reachable — hold a key, dictate with Claude's own transcription, drop your Wispr Flow subscription.

Alternatives in Design

  • Stitch Remotion — Generate walkthrough videos from app designs 2.6k ★
  • Clui Cc — A lightweight, transparent desktop overlay for Claude Code on macOS 956 ★
  • Scaffold Project — Scaffold a new design-product project that matches the recommended Claude Code layout (the reference structure 781 ★

README

claude-dictation-hotkey

**A keyboard shortcut for the microphone button in the Claude desktop app — on macOS, using Claude's own transcription.**

Hold a key, speak, release. No mouse. No third‑party dictation app.

Everyone who has looked into this concluded it was impossible. It isn't — it just needs one undocumented accessibility flag.


The problem

The Claude desktop app has a microphone button in the Code tab's input bar. It is **mouse‑click only**. There is no keyboard shortcut, and the usual ways of adding one all fail:

What you try What happens
/voice /voice isn't available in this environment. — it's a CLI‑only feature
~/.claude/keybindings.json → voice:pushToTalk No effect. The keybindings file applies to the terminal CLI, not the desktop app
AppleScript / System Events Finds nothing. The button isn't in the accessibility tree
Hammerspoon with hs.axuielement Same — finds nothing
AutoHotkey (Windows) visually locating the icon Works until you move or resize the window

This has been asked for repeatedly and is still open: [#97929](https://github.com/anthropics/claude-code/issues/97929) · [#48305](https://github.com/anthropics/claude-code/issues/48305) · [#59400](https://github.com/anthropics/claude-code/issues/59400) · [#92402](https://github.com/anthropics/claude-code/issues/92402) · [#90576](https://github.com/anthropics/claude-code/issues/90576) · [#96340](https://github.com/anthropics/claude-code/issues/96340)

The fix

The mic button lives inside an **Electron WebArea**, and Chromium does not expose web content to the macOS accessibility API until something asks it to. Walk the app's accessibility tree cold and you get about **292 nodes — menu bar and window chrome only**. The button genuinely isn't there.

Set one attribute on the application element:

AXUIElementSetAttributeValue(axApp, "AXManualAccessibility" as CFString, kCFBooleanTrue)

and the tree jumps to ro