OPENCUES.md is the runtime settings file at ~/.cues/OPENCUES.md: every feature toggle, LLM routing choice, and tunable lives in its YAML frontmatter, and one value applies across every integration you have installed.
What's inside
Scalars like voice-mode, tips-mode, debug-mode, transform-blank-mode, blank-trigger-mode, and identity-context-mode; the LLM routing keys (llm-provider, llm-model, plus the per-bucket pairs for cues and blanks); and numeric tunables like agent-debounce-ms. The schema isn't defined by the file, it's defined by the runtime's feature registry, which is why every host renders the same settings menu from it. The body below the frontmatter is documentation, not parsed config. The file also carries the smaller tunables that don't warrant much ceremony, like the loading-animation glyph and interval shown at a resolving _.
Three ways to change a value
- Edit the file. Hot-reload picks changes up in about 2 seconds on the next keystroke; no restart.
opencues config: an interactive settings browser, plusget/set/listsubcommands, validated against the registry.- In-text: type
opencues settings _in any host and cycle values with the arrow keys, without leaving your text field.
User-level only, on purpose
Unlike CUES.md and BLANKS.md, there is no project-level OPENCUES.md. Runtime settings are one-value-per-user by design: a project override would mean your voice mode or provider silently changes when you cd. And the file self-heals: if it's ever truncated to 0 bytes (which would silently break every settings read), opencues seed-configs re-seeds it, preserving the one-file-owns-settings invariant. A couple of deliberate footgun values (like identity-context-mode: raw) are file-edit-only and hidden from the menus.
Related: What is CUES.md? · Change settings from your text field · opencues seed-configs · Blank trigger mode · GitHub repo