When InkSpoke keeps mangling a product name or an acronym, there are three different mechanisms that could fix it. They behave differently, and picking the wrong one is why people conclude "vocabulary does not work".
The three systems
| System | Scope | Can it rewrite text? |
|---|---|---|
| Custom vocabulary | Global, syncs across devices | Yes — with a replacement |
| Workspace vocabulary | One workspace | No — biasing only |
| Personal dictionary | Global, local to the device | Yes — including snippet expansion |
Custom vocabulary
This is the one to reach for first. Entries come in two forms:
A bare term biases transcription toward that spelling. A term => replacement pair also rewrites the transcript afterwards, catching the cases where the speech model got it wrong anyway. Replacement is whole-word and case-insensitive, so it will not corrupt words that merely contain the term.
Workspace vocabulary — and the inheritance trap
Each workspace has its own term list, and a setting controlling how it combines with the global one. That setting has three values:
| Mode | Effect |
|---|---|
| Inherit (default) | Uses the global list only — this workspace's own terms are ignored |
| Append | Workspace terms on top of the global list |
| Workspace only | Only this workspace's terms |
Workspace vocabulary is bias-only. It cannot rewrite text, so replacement pairs must go in the global custom vocabulary.
Personal dictionary
The dictionary is a trigger-and-replacement list applied after transcription, and it also handles snippets — say a short trigger, get a longer block of text. Longer triggers are matched first, and your personal entries take precedence over any team entries.
The budget nobody mentions
Bias terms are passed to the speech model as a prompt with a hard ceiling of 1,024 characters. Terms beyond that are silently dropped, in a defined order:
- Workspace terms go in first
- Then global vocabulary
- Then dictionary triggers — these are dropped first when space runs out
Separately, at most 50 terms are passed to the refinement model as known terms.
A note on secrets
Vocabulary and personal context are scanned for values that look like credentials. If one is detected, that data is refused for cloud sync and the app tells you rather than uploading it quietly. Vocabulary is not a password manager — do not put keys in it.