A workspace activates on tags. Each tag is scored against the foreground window title and the application name, and the highest-scoring workspace wins.
Resolution order
Auto-matching is only the third of five steps. In order:
- 01A pinned workspaceIf you pinned one, it always wins and nothing else is consulted.
- 02Your overlay overrideIf you changed the workspace dropdown on the listening overlay yourself, that choice is used.
- 03Tag matchingScores every active workspace against the current window. Can be disabled with the Smart Context setting.
- 04The default workspaceWhichever workspace is flagged as default. This runs even with smart matching off.
- 05No workspaceYour transcript is refined with no workspace context.
How a tag scores
For each tag, InkSpoke tries the window title first, then the app name as a weaker fallback — so a title match beats an app-name match on a tie. A tag scores when:
- It appears as a substring, case-insensitively — the strongest and most common case
- It matches a word after the text is split on spaces, dashes, slashes, dots and brackets, with trailing digits stripped — this is what makes
itermmatch "iTerm2" - For tags of five characters or more, it is within a couple of typos of a word in the text
Scores are summed across all of a workspace's tags, and longer tags are worth more. A workspace with zero score never matches.
Writing tags that work
| Goal | Tag |
|---|---|
| Match Slack | slack |
| Match your editor | code or cursor |
| Match a specific project | acme-api — matches the repo name in the title bar |
| Match Gmail in a browser | gmail — matches the page title, not the URL |
Short tags are dangerous because substring matching is greedy. A tag of go will match "Google", "Django" and "Cargo". Prefer tags of five characters or more.
Exact application matching
For a tag that must match one specific application and nothing else, prefix it with bundle: and give the exact identifier — the bundle ID on macOS, or the process name on Windows:
bundle: tag. It is worth the effort when a plain tag keeps matching the wrong window.When the wrong workspace fires
- Check nothing is pinned — a pin overrides everything
- Check the workspace is Active
- Look at the actual window title; it is often not what you assume
- Remember scores add up — a workspace with five loose tags can outscore the one you wanted
- Use the overlay dropdown to confirm which workspace was chosen for a given dictation