Variable Recognition
Last updated: June 5, 2026
Available on: Mac, Windows
Variable Recognition wraps code symbols in backticks when you dictate in supported IDEs. Say a variable, function, or class name out loud, and Flow formats it as inline code — no manual editing needed.
What it is
When you dictate in Cursor, Windsurf, or VS Code, Flow uses your code context to improve recognition accuracy. In Cursor and Windsurf, recognized symbols are wrapped in backticks, and Flow also supports file tagging in AI chat.
VS Code receives screen reader mode integration so Flow can read code context, but backtick formatting and file tagging are limited to Cursor and Windsurf.
Note: Variable Recognition is off by default. To enable it, go to Settings → Vibe coding and toggle on Variable Recognition. Flow will activate Screen Reader Mode in your IDE so it can read code content.
When to use it
Use this feature when you want to:
Dictate commit messages or PR descriptions that reference code symbols.
Write documentation or notes that mention functions and variables.
Collaborate with teammates using properly formatted code references.
How it works in Flow
Overview
Flow reads the code content from your active editor tab and matches spoken words to code symbols. When a match is found, the symbol is automatically wrapped in backticks.
Key behaviors
Symbol extraction: Flow recognizes function, class, and variable names from your code so they can be wrapped in backticks when you say them.
Formatting: Backticks are applied only when you are dictating in developer-type apps. Common single words (such as "To" or "Function") won't be backticked even if they appear in the vocabulary list.
File name caching: File names from previously opened tabs are remembered across dictation sessions, so you can reference files you've worked with recently even if they're not currently active.
Screen Reader Mode auto-recovery: If Screen Reader Mode is turned off in your IDE while Variable Recognition is enabled, Flow re-enables it after your next dictation.
Supported IDEs: Cursor and Windsurf get full Variable Recognition (backtick formatting and file tagging). VS Code gets screen reader mode integration only.
Supported languages: JavaScript, TypeScript, Python, Java, Swift, C++, C, Rust, and Go. Code in other languages does not have symbols extracted.
Case flexibility: For file tagging, Flow matches spoken filenames to their camelCase or separator-based forms (e.g., "my script dot py" matches myScript.py).
Code context source: Flow reads code context from your active editor, including file names visible in the file explorer, to recognize symbols.
Terminal behavior: In the integrated terminal, file tagging autocomplete is suppressed, but dictated text — including recognized variable names — is still inserted.
Independent settings: Variable Recognition (off by default) and File Tagging in Chat (on by default) are independent. You can toggle each separately.
File extension required for tagging: Only files with extensions can be tagged.
Best practices
Keep the relevant code file open in your active tab for best recognition. File names from the sidebar are also recognized, and recently-closed files may still match.
Say variable names clearly without filler words for more accurate matching.
Avoid overlapping Custom Dictionary substitutions with file tagging — when a dictionary substitution fires, IDE file tagging in Cursor and Windsurf is skipped for that transcript. Variable name vocabulary and backtick formatting are unaffected.
If you're new to the feature, open it from the Get started button on the Home page, which jumps straight to Vibe coding settings.
Examples
Dictating a function name
You say: "Can you update the clearPasteboard function?"
Flow types: Can you update the `clearPasteboard` function?
Using natural speech for camelCase
You say: "Check the user settings object"
Flow types: Check the `userSettings` object
Tip: Variable Recognition works with constants, class names, and other identifiers — not just functions.
FAQs
Why aren't my variables being formatted with backticks?
Check that Variable Recognition is enabled in Settings → Vibe coding, you're in a supported IDE (Cursor or Windsurf), and the file containing the symbol is open in your active tab.
Does this work with VS Code or VS Code Insiders?
Standard VS Code has limited support — screen reader mode integration only, without backtick formatting or file tagging. VS Code Insiders is not supported.
What is File Tagging in Chat?
File Tagging is a separate feature in Settings → Vibe coding that automatically tags files in your IDE's AI chat (like index.tsx). It's on by default and works in Cursor and Windsurf only.
To tag a file, say the full filename with extension (e.g., "myScript.py") — no trigger word needed. To tag a file without saying the extension, use a trigger word ("at", "tag", "tagged", or "@") before the base filename (e.g., "at myScript").
Dot-prefixed files (e.g., .env, .github) require saying "dot" before the name, or speaking the literal filename, since they would otherwise be filtered.
Does Custom Dictionary affect this feature?
If a Custom Dictionary substitution fires during your dictation, IDE file tagging in Cursor and Windsurf is skipped for that transcript. If no substitution triggers, file tagging runs normally. Variable name vocabulary and backtick formatting are unaffected either way.
Limitations and notes
This feature is available on Mac and Windows only.
Full Variable Recognition (backtick formatting and file tagging) works in Cursor and Windsurf. VS Code receives screen reader mode integration only.
Supported languages: JavaScript, TypeScript, Python, Java, Swift, C++, C, Rust, and Go.
Recognition accuracy depends on code structure, language support, and speech clarity.
Password and secure text fields are never read by Flow.
If Screen Reader Mode is enabled in your IDE but its status indicator is hidden from the bottom bar, Flow may not detect it correctly and may repeatedly toggle the setting after each dictation.