FAQ

Home > FAQs > What is a cue

What is a cue in OpenCues?

A cue is a word, or a whole sentence, that OpenCues has enriched with alternatives, a tip, or other functionality. Cued text appears dimmed. Navigate between cues with Ctrl+Alt+←/→ and cycle a cue's alternatives in place with Ctrl+Alt+↑/↓; your cursor and your text stay where they are until you choose.

Where cues come from

Two kinds of source feed cues. Local sources are static dictionaries of word to tip and alternatives, looked up in roughly zero milliseconds with no LLM call; the shipped per-host tip packs work this way. LLM sources are domain prompts that trigger on words matching a regex or keyword list, typically returning in a few hundred milliseconds on fast providers. The shipped defaults include spelling, legal, medical, financial, and a sentence-level more-formal cue.

How word cues are routed

Every highlighted word is dispatched to exactly one source: the highest-priority source whose match: regex or keywords: list claims it, with ties broken by declaration order. A catch-all is just match: .* at a low priority, which is exactly how the shipped spell-checker works. Because each source only sees the words it claims, one badly written source can never poison the rest of your text.

Sentence cues

Cues aren't only word-sized. A cue declaring scope: sentence skips word triggers entirely and offers rewrites of each whole sentence; the shipped more-formal cue works this way. You cycle a sentence rewrite with the same gesture you use for a word, and your buffer keeps the original sentence until you do. Sentence cues suppress any word cues they overlap, always defer to an explicit _, and are off by default behind the sentence-cues-mode setting.

Making your own

Drop a CUE.md file into ~/.cues/cues/<name>/. The frontmatter declares the scope and trigger (scope: words, the default, needs a match: regex or keywords: list; scope: sentence needs neither); the body is either a static dictionary, an LLM prompt, or both. Edits hot-reload within a couple of seconds, no restart. The format is part of the open standard, so a cue you write works in every OpenCues host.

Related: What is a blank? · the Inline Cues essay covers why the dim exists · Cues vs blanks · GitHub repo.