Voice dictation for Cursor, Claude Code and VS Code
Prompts are getting longer than code. FnFlow lets you say them: hold fn in the Cursor chat, the Claude Code terminal or any editor, talk for as long as you need, let go.
How it works
- Click into the chat or terminal. Cursor's composer, Claude Code, VS Code, Windsurf – any text field.
- Hold fn and describe what you want. Context, constraints, the bug you saw. Double-tap fn for hands-free when it's long.
- Let go. Text appears in about 1.2 seconds, punctuated. FnFlow checks it landed; if not, it's one click away in history.
Why it fits coding
- Jargon, spelled right. On a test sentence, adding five terms to the vocabulary turned “update Zapot” into “update Saypad” and “post-GIRS” into “Postgres”.
- Electron editors handled. Cursor and VS Code hide their text fields from macOS until asked; FnFlow wakes them up before pasting.
- Local by default. Whisper large-v3-turbo runs on your GPU. Nothing about your codebase leaves the Mac.
- No limit. Long prompts don't burn a weekly word quota.
Prompts that are easier to say than type
- “Refactor the auth middleware so tokens refresh before expiry, keep the public API the same, and add tests for the 401 path.”
- “Explain why this query is slow and suggest an index – the table has about forty million rows.”
- “Write a migration that splits the name column into first and last name, and backfill existing rows.”
Talk to your editor.Free · macOS 15 or later · Apple Silicon
Get FnFlowQuestions
Does it work in the terminal?
FnFlow pastes with ⌘V, the same way you would, so a terminal takes the text like any other app. We test most in Cursor and the Claude app; if a paste ever goes missing, the text is one click away in history.
How do I get project names right?
Add them in Settings → Vocabulary – “Supabase, Postgres, Zustand”. Whisper uses them as spelling hints on every dictation.
Will it send my prompts anywhere?
No. Recognition runs on your Mac. Only what you paste into Cursor or Claude goes where those apps send it.