Yes, with session-contradiction cues turned on. Long coding sessions drift. You settle something in the first ten minutes, work for two hours, and then ask for the opposite without noticing. OpenCues reads the session you are already in for the things you decided, and flags a message that goes against one before you send it.
What it catches
| You settled earlier | You start typing |
|---|---|
| "the runtime is Bun, not Node" | "switch this to node" |
| "no new dependencies" | "add the lodash package" |
| "this work is scoped to the cache module" | "while we're here, fix the auth flow" |
| "we're keeping the old API shape" | "rename the response fields" |
The flag names the decision it thinks you are going against, so you can see at a glance whether it has a point. Often you have changed your mind on purpose, and that is fine - it is a note, not a gate.
It remembers the whole session, not the recent part
The obvious way to build this is to re-read the end of the transcript each time, which quietly loses everything decided early on. Decisions here accumulate instead: something agreed in the first ten minutes still counts three hours later. When you genuinely revise a decision, the new one replaces the old rather than sitting alongside it and raising false alarms.
What is read, and what never leaves your machine
Only prose: your messages and the assistant's replies. File contents, tool output and the assistant's thinking are dropped before anything is sent. Records are kept per working directory, so two sessions in different projects never bleed into each other, and they reset when a new session starts.
A tip, not a rewrite
Like every cue, it is passive. The flag lands as a note on the sentence and a reconciled rewrite is offered as an alternative you can swap in with Ctrl+Alt+Up. Nothing touches your text until you press the key.
Turning it off
It is on by default: it is passive, so nothing reaches your text without a keystroke. Add session-contradiction-mode: off to ~/.cues/OPENCUES.md to silence it and it hot-reloads in a couple of seconds. There is nothing to set up to use it: each host starts the background reader itself, so the record builds on its own within the first few seconds of a session.
It works in Claude Code, OpenCode and Gemini CLI - the surfaces that keep a session transcript. In the shell app and in Chrome there is no session to read, so it stays quiet.
Related: Ask-cues · Catch mistakes as you type · What is OpenCues costing me? · GitHub repo