Use Flow with Cursor, VS Code, and other IDEs
Last updated: July 30, 2026
Available on: Mac, Windows
Dictate code, comments, and prompts directly into Cursor, VS Code, Windsurf, and their integrated terminals. Flow recognizes variable names from your open editor and lets you tag files by voice in chat panels.
What it is
A set of IDE-aware features that make voice-driven coding feel natural. Flow reads context from your open editors so dictated text matches your code, and adds shortcuts for referencing files in chat panels and dictating into AI coding CLIs like Claude Code and Codex.
When to use it
Use IDE integration when you want to:
Dictate code or comments and have variable names match your existing code.
Tag files by voice in Cursor or Windsurf chat panels (e.g., "@main.py").
Dictate longer prompts to AI coding assistants like Claude Code and Codex.
Write commit messages, documentation, or terminal commands hands-free.
How it works in Flow
Overview
Flow has dedicated integrations for Cursor, VS Code, and Windsurf. When enabled, it reads code context from your editor to improve transcription accuracy and lets you reference files by voice in chat panels.
Key behaviors
Variable recognition: Flow detects variable, function, and class names from your open editor and uses them as context to improve transcription. Supports JavaScript, TypeScript, Python, Java, Swift, C++, C, Rust, and Go.
File tagging (Cursor and Windsurf only): In chat panels, say "at," "tag," "tagged," or "@" followed by a filename to reference files (e.g., "Check at main.py" becomes "Check @main.py"). With a trigger word, you can say just the base name ("tag myScript" tags myScript.py); without one, say the full filename including the extension. When multiple matches are possible, the longest match wins. Turn this off in Settings → Vibe coding.
Multi-file tagging: Tag multiple files in a single dictation (e.g., "look at cron.py and vad.py" tags both).
File detection: Flow detects files from your open IDE tabs and sidebar file tree. Files must have an extension. Filenames starting with numbers are supported.
Dot-prefixed files: For files like .env, say "dot" (or "punto" in Spanish) before the filename. If your dictated text already includes the dot character, Flow tags it automatically.
Long-dictation chunking in AI coding CLIs: In Claude Code and Codex, Flow splits long dictations into smaller chunks so the full prompt is received cleanly. Shorter dictations paste normally.
Windows IDE terminal paste: In the integrated terminals of Cursor, VS Code, and Windsurf on Windows, Flow uses Shift+Insert to paste when Ctrl+V isn't reliable.
Dictating with no text field focused: If you dictate in a supported IDE without a text field focused, Flow shows your clean dictated text in a popup and copies it to the clipboard. If the dictation contained only formatting markers, you'll see a "paste failed" notification instead of an empty popup.
Note: File tagging is disabled in terminal panes within the IDE. It may also not work if a custom dictionary word was substituted in the same dictation.
Best practices
Speak variable names phonetically — for
userId, say "user I.D." or "user ID."Keep the file you want to tag open in a tab or visible in the sidebar.
Close unused editor tabs to keep Flow's context focused and responsive.
Use a trigger word ("at," "tag") when filenames are short or ambiguous.
How to set it up
Open the Wispr Flow app.
Go to Settings → Vibe coding.
Click the Set up button next to Variable recognition (VS Code, Cursor, Windsurf). Flow opens a setup dialog with three steps:
Open the Command Palette in your IDE (Cmd+Shift+P on Mac, Ctrl+Shift+P on Windows).
Run Toggle Screen Reader Accessibility Mode.
Confirm the Screen Reader Optimized indicator appears in the IDE's bottom status bar.
For more detail, see Variable recognition.
Note: Variable recognition is not a toggle — it activates whenever your IDE has Screen Reader Optimized mode on and Flow recognizes the app. File tagging in chat (Cursor and Windsurf) is a toggle and is on by default.
Dictate in your IDE
Open your IDE and place your cursor where you want text.
Press your Flow hotkey to start dictating (default: Fn on Mac, Ctrl+Win on Windows).
Release the hotkey to stop. Flow pastes the transcribed text automatically.
Tip: On Mac, if your Fn key is unavailable, Flow uses Ctrl+Option as a backup hotkey.
Dictate into a terminal
Flow inserts dictated text using your system's paste shortcut. Some terminals expect a different shortcut (such as Ctrl+Shift+V), so Flow's paste may not work the first time.
Dictate with Flow as normal.
If text doesn't appear, press Ctrl+Cmd+V (Mac) or Alt+Shift+Z (Windows) to use Paste last transcript.
Try your IDE's integrated terminal — Cursor, VS Code, and Windsurf integrated terminals all support direct paste.
Warning: Flow restores your original clipboard contents after each paste. On macOS, if a paste fails, your dictated text may no longer be on the clipboard — use Paste last transcript to recover it.
Examples
Dictating with variable recognition
You say: "set user ID to none"
Flow types: set userId to None
Flow matches "user ID" to the userId variable in your open editor.
Tagging a file in Cursor chat
You say: "Check at main.py for errors"
Flow types: Check @main.py for errors
Tagging a file without a trigger word
You say: "open package.json"
Flow types: open @package.json
Saying the full filename (including the extension) auto-tags it, even without a trigger word like "at" or "tag."
Tagging multiple files in one dictation
You say: "look at cron.py and vad.py"
Flow types: look at @cron.py and @vad.py
Dictating a commit message
You say: "fix null pointer exception in user auth module"
Flow types: fix null pointer exception in user auth module
Dictating a long prompt into Claude Code
Dictate a multi-paragraph prompt into Claude Code. Flow splits it into smaller chunks automatically so the CLI receives the full prompt cleanly instead of collapsing it.
FAQs
Why aren't my variable names being recognized?
Work through these checks in order:
Confirm Screen Reader Optimized mode is on in your IDE (run Toggle Screen Reader Accessibility Mode from the Command Palette).
Grant Accessibility permissions to Wispr Flow on macOS. This is a hard requirement — without it, dictation reports "Accessibility is not enabled" and no IDE context can be read.
Confirm the variable appears in your IDE's visible editor content — offscreen elements outside the viewport are skipped.
Say the variable name clearly, matching its exact spelling.
Restart Flow and your IDE.
If you're on VS Code Insiders, variable recognition isn't supported — use standard VS Code, Cursor, or Windsurf.
Why isn't file tagging (@filename) working?
Make sure the file is open in a tab or visible in the sidebar, and say "at" clearly followed by the filename. File tagging only works in Cursor and Windsurf chat panels.
How do I disable Screen Reader Mode?
Flow detects whether Screen Reader Mode is active but does not enable or disable it. To turn it off, open the Command Palette in your IDE (Cmd+Shift+P on Mac, Ctrl+Shift+P on Windows) and run Toggle Screen Reader Accessibility Mode.
Why does Flow feel slow in my IDE?
Turn off Screen Reader Optimized mode in your IDE if you don't need variable recognition, and close unused editor tabs. Flow reads context from open tabs, so fewer tabs means faster processing.
My long Claude Code prompt got cut off or collapsed
Flow chunks long dictations for Claude Code and Codex automatically. If you start a new dictation while a previous one is still pasting, wait for the chunking to finish before triggering Flow again. Update Wispr Flow to the latest version if you don't see this behavior.
Common issues
Void dictation popup showed garbled text or symbols instead of my dictation
This was caused by formatting markers leaking into the void dictation popup (shown when no text field is focused) and being copied to the clipboard as garbage text. Fixed in a recent update — the popup and clipboard now always show only your clean dictated text. Update Wispr Flow to the latest version to get this fix.
Limitations and notes
Variable recognition and file tagging are available on Mac and Windows only.
File tagging works in Cursor and Windsurf chat panels only — not in VS Code.
VS Code (standard) supports variable recognition but not file tagging. VS Code Insiders supports neither.
Long-dictation chunking in Claude Code and Codex CLIs is Mac only.
Flow preserves your clipboard before pasting and restores it afterwards. These clipboard content types are not preserved: file contents, PDFs, rich text with attachments (RTFD), and audio data.
On macOS, if a paste fails, your original clipboard content may not be restored — use Paste last transcript to recover dictated text.
On macOS, Flow marks dictated text as concealed when pasting, so most third-party clipboard managers will not store it in their history. On Windows, dictated text is not concealed and may appear in Windows clipboard managers.
The Paste last transcript shortcut can be customized in Flow's keyboard shortcut settings.
Still need help?
Reach out to our support team if:
Vibe coding settings cause crashes or freezes.
Variable recognition worked before but stopped.
You're hitting an issue specific to a particular IDE.
Include your IDE name and version, your OS, and what you tried. Most IDE issues are resolved in one reply. Visit wisprflow.ai/support to get in touch.