Use Flow with Cursor, VS Code, and other IDEs
Last updated: October 26, 2026
Available on: Mac and Windows. Vibe coding features are available on all plans.
Use Flow for code-related text, comments, commit messages, and prompts. Variable recognition helps with names visible in your editor; file tagging attaches files you mention in a supported AI chat.
Where each feature works
Signed-in users have two controls under Flow Settings → Vibe coding, each with a Learn more link.
Feature | Where it works |
Variable recognition | Cursor, Windsurf, and standard VS Code. |
File tagging | Cursor and Windsurf AI chat panels only. |
VS Code Insiders supports neither feature. Standard VS Code, including with GitHub Copilot, does not support file tagging.
Note: On Mac, Flow needs Accessibility permission to read IDE context; without it, code context is unavailable. Secure and password fields are always excluded.
Dictate and paste in editors or terminals
Dictation defaults are Fn on Mac and Ctrl+Win on Windows; a Mac without Apple's Fn key can use Ctrl+Option.
Warning: Clipboard restoration can exclude files, PDFs, rich text with attachments, and audio. On Windows, if Flow reports a failed paste before the app picks up the text, the dictation stays on the clipboard; previous contents are not restored for that paste.
Click the intended text field.
Hold your Flow shortcut, speak your text, and release it.
Wait for the entire paste before editing or starting another dictation.
In an area Flow recognizes as a terminal, filenames are still recognized, but @filename text is pasted instead of attaching a file. Flow can mistake other fields for terminals or miss a terminal pane.
On Windows, whenever Cursor, VS Code, or Windsurf is in front—including integrated terminals—Flow pastes with Shift+Insert instead of Ctrl+V. The File Tagging switch does not change this shortcut.
On Mac, Flow pastes long dictations into Claude Code and Codex CLIs in plain-text parts; rich formatting is not kept.
Set up variable recognition
Variable recognition uses visible variable, function, and class names from the frontmost supported IDE. It has no on/off toggle in Flow: enable Screen Reader Optimized mode in the IDE yourself.
Note: Flow's setup dialog says "In Cursor or Windsurf:" and shows only Cmd+Shift+P, even on Windows.
Open Flow Settings → Vibe coding, then choose Set up beside Variable recognition for instructions.
Open your IDE's Command Palette: Cmd+Shift+P on Mac or Ctrl+Shift+P on Windows.
Run Toggle Screen Reader Accessibility Mode. Running it again disables the mode.
Confirm that Screen Reader Optimized appears in the IDE's status bar.
Keep the relevant file open and dictate a phrase using a visible variable or function name.
Keep relevant tabs and sidebar files visible; names in very large files may not all be picked up. A heavily customized IDE interface can prevent mode detection, and an unreadable status bar can leave its state unknown. A connection problem can also leave code context unavailable for a dictation.
Tag files by voice
File Tagging in Chat (Cursor & Windsurf) is on by default under Settings → Vibe coding, and changes apply to your account, not just one window. Tagging does not require Screen Reader Optimized mode.
Note: Tagging does not apply to a dictation in which a dictionary or snippet substitution was made.
Open the file in a tab or make it visible in the sidebar.
Click the AI chat input that supports @-autocomplete.
Say the full filename including its extension, or "tag," "tagged," "at," or "@" before its base name — for example, "Check index dot ts for errors" tags the visible file index.ts.
Matching filenames become @-tags, replacing the trigger word when present. If nothing matches, the words—including any trigger—stay unchanged.
Special filenames: Say "dot" or Spanish "punto" before a dot-prefixed name, or use the literal filename. Dotless names such as Makefile cannot be tagged.
Matching: Capitalization, separators, camelCase, run-together words, quotes, backticks, and surrounding markup do not prevent matching an available filename.
Multiple files: Flow can tag several files in one dictation, but slow autocomplete can select the wrong file; check each attachment.
Scope: This feature does not tag people or create @-mentions in other apps.
If recognition or tagging fails
After each check, dictate a visible name again; if recognition or tagging works, stop.
Recheck the editor, permissions, visibility, and settings listed above for your feature.
Close unused tabs if context reading feels slow.
Restart Flow and the IDE.
If text is missing
Flow notifies you on Mac and Windows when it could not find a focused text box. On Mac, when the app is simply slow this notice closes on its own as soon as the paste lands.
Use Paste last transcript: Cmd+Ctrl+V on Mac or Shift+Alt+Z on Windows. If text appears, stop.
Choose Copy last transcript in Flow's menu if text is still missing.
Paste with your terminal's paste command; some terminals use Ctrl+Shift+V instead of Ctrl+V.
Custom bindings replace these defaults. For further recovery, follow Fix text not pasting after dictation.
Still stuck?
Choose Talk to support in Flow if recognition, tagging, or pasting still fails after these checks. Include your IDE, operating system, device, what you tried, what you said, and what appeared.