The note blank is a personal snippet store you drive without leaving the text field. Save a command or link once with note add <anything> _, then recall it anywhere with a couple of words: note ffmpeg _ brings the saved command back, ready to tweak and run. Every operation is deterministic and fully local: notes live in ~/.cues/NOTES.md and never reach an LLM provider.
The four operations
note add <anything> _saves a snippet. An optionallabel:prefix names it:note add fix mp4: ffmpeg -fflags +genpts -err_detect ignore_err -i in.mp4 -c copy out.mp4 _stores the command under the label "fix mp4".note <query> _recalls the best match with the label stripped, so a recalled command lands ready to run, not prefixed with its name. Other matches become cycling alternatives (Ctrl+Alt+↑/↓), and editing inside the fill never wipes it - recall exists precisely so you can tweak in place.note delete <query> _removes an entry, and refuses an ambiguous query rather than guess:[err] 2 notes matchleaves both the file and your typed command untouched.note _on its own browses the five most recent entries, labels kept so they stay identifiable, cycleable, and dismissible by cycling past the end.
A plain file you own
~/.cues/NOTES.md is a markdown bullet list, one entry per line. Edit it, reorder it, or bulk-delete by hand; changes hot-reload. Runtime writes are line surgery (append or remove a single bullet), so your own headers, comments, and spacing are never rewritten. The file is shared across the native hosts, so a note saved in Claude Code recalls in OpenCode or the shell with no sync step; the Chrome extension round-trips it via the chrome-messaging host, with an extension-storage fallback when that isn't installed.
Deterministic by design
Search is local and predictable: every query word must appear in the entry (case-insensitive), label matches rank above body matches, and newer entries win ties. There is no LLM call anywhere in the loop, and the blank declares as-context: off, so notes never ride ambiently into prompts either - the store can safely hold things like meeting links or key names. Writes pass one validator: 256 entries, 1024 characters each, control characters refused, and saving an identical entry twice is a no-op. Failures paint visibly as [err] <detail> and never consume the command you typed.
The note blank runs on all five hosts (Claude Code, OpenCode, Gemini CLI, shell, Chrome).
Related: What is a blank? · 50 things to type with a blank · Hot-reload · GitHub repo