File Tagging
Last updated: July 30, 2026
Available on: Mac, Windows
Tag files in Cursor and Windsurf using just your voice. Say a file name while dictating, and Flow attaches it to your AI chat — no keyboard, no @ menu.
What it is
AI-powered IDEs like Cursor and Windsurf let you attach files to chats so the AI has more context for better code suggestions. Normally you press @, type the file name, and pick from a list. File Tagging skips that — speak the file name and Flow handles the rest.
When to use it
Use this feature when you want to:
Reference files in Cursor or Windsurf AI chat without typing.
Quickly attach multiple files while explaining a coding task.
Stay in flow while pair-programming with AI.
How it works in Flow
Overview
When you dictate in an AI chat window in Cursor or Windsurf, Flow listens for file names and tags them automatically. File Tagging is on by default.
Flow remembers file names from your open IDE tabs across dictation sessions, so recently-closed files may still be matched.
If you've dictated in Cursor or Windsurf, you may see a banner on the Hub Home page suggesting you try File Tagging. Clicking Get started opens Settings → Vibe coding.
Key behaviors
Full file name: Say the complete file name with extension — for example, "Can you fix the bug in index dot ts please?"
Trigger words: Say "tag," "at," "tagged," or "@" followed by the file name (extension optional) — for example, "Can you explain this code to me, tag my python script."
Case-insensitive triggers: Trigger words work in any case — "tag," "Tag," and "TAG" all work.
Multiple files in one utterance: Name more than one file in a single dictation — for example, "look at cron dot py and vad dot py" — and Flow tags each file correctly.
"Dot" as a separator: The word "dot" separates the name from the extension for any file (e.g., "main dot JS" tags main.js), not just dot-files.
Dot-files: For files like .env, say "dot" (or "punto" in Spanish) before the name — "dot env." Dot-files also tag if the full filename appears verbatim in the transcription (e.g., ".env"). Trigger words like "tag" or "at" do not work with dot-files.
Spanish "punto": Spanish speakers can say "punto" instead of "dot" for dot-files (e.g., "punto env" tags .env). Like "dot," "punto" functions only as the dot separator for dot-files — it is not a general trigger word.
No-dot files: Files with no dot in the name (e.g., Makefile, Dockerfile) cannot be tagged.
Smart matching: CamelCase and snake_case file names match naturally spoken words — say "cursor formatting" to match cursorFormatting.ts, or "my script name" to match my_script_name.py.
Ambiguous matches: When multiple files could match your spoken words, longer file names are matched first.
Note: With a trigger word like "tag" or "at," you can say just the base file name without the extension. Without a trigger word, say the full file name including the extension.
Best practices
Use a trigger word ("tag" or "at") when you don't want to say the extension out loud.
Speak CamelCase and snake_case names as natural words — Flow handles the casing.
Turn on Screen Reader Mode in your IDE for reliable variable and code-symbol recognition. You don't need it enabled for file tagging itself — only for variable and symbol names.
Screen Reader Mode and settings
Cursor, Windsurf, and VS Code have a Screen Reader Mode that makes it easier for other apps to read information from them. Flow uses this to better recognize variable names you mention while dictating.
You'll find these options under Flow Settings → Vibe coding:
Variable recognition (VS Code, Cursor, Windsurf): Click Set up to open the instructions. To enable it in Cursor or Windsurf:
Open the Command Palette with Cmd+Shift+P (Mac) or Ctrl+Shift+P (Windows).
Search for and run "Toggle Screen Reader Accessibility Mode."
Confirm the "Screen Reader Optimized" flag appears in the IDE's bottom bar.
Once enabled in your IDE, Flow can read code symbols to better recognize variable and function names you dictate.
File Tagging in Chat (Cursor & Windsurf): Controls whether file names are auto-tagged in AI chat. On by default.
Note: When Flow detects you're in Cursor or Windsurf without the integration enabled, it may occasionally show a suggestion to turn it on. The suggestion auto-dismisses if you don't act on it. It does not appear in VS Code.
Examples
Tagging a file by its full name
You say: "Can you fix the bug in index dot ts please?"
Flow tags: index.ts is attached to the AI chat automatically.
Using a trigger word without an extension
You say: "Can you explain this code to me, tag my python script."
Flow tags: The matching file from your open tabs (e.g., my_python_script.py) is attached.
Tagging a CamelCase file by speaking naturally
You say: "Look at cursor formatting for the styles."
Flow tags: cursorFormatting.ts is matched and attached.
Tagging multiple files in one dictation
You say: "Look at cron dot py and vad dot py and tell me how they interact."
Flow tags: Both cron.py and vad.py are attached to the AI chat.
FAQs
Does file tagging work in VS Code?
No. VS Code supports variable recognition through Screen Reader Mode, but file tagging is only available in Cursor and Windsurf.
Why didn't my file get tagged?
A few conditions can prevent file tagging:
Your cursor is focused on a terminal pane inside Cursor or Windsurf. Flow will insert the @filename text, but the tag isn't fully committed through the file picker — so the file isn't actually attached.
You're in VS Code (file tagging is only supported in Cursor and Windsurf).
The File Tagging in Chat setting has been turned off. If you've never changed the setting, tagging is still active — only explicitly toggling it off disables it.
A Custom Dictionary substitution changed the dictated text. A single replacement that modifies the text prevents file tagging for that dictation. A no-op replacement (one that does not change the text) does not disable tagging.
How do I turn off file tagging?
Open Flow Settings → Vibe coding and toggle off File Tagging in Chat (Cursor & Windsurf).
Limitations and notes
File tagging is available on Mac and Windows only.
File tagging is supported in Cursor and Windsurf — not VS Code, with or without GitHub Copilot.
File tagging does not fully commit in terminal panes within Cursor or Windsurf (the @filename text is inserted, but not attached via autocomplete).
Files with no dot in the name (e.g., Makefile, Dockerfile) cannot be tagged.
File tagging is disabled for any dictation where a Custom Dictionary substitution changes the text.
File tagging requires the File Tagging in Chat setting to be enabled (Settings → Vibe coding) — on by default.