With contradiction-cues-mode: on, OpenCues quietly fact-checks what you type against the clock, arithmetic, and live data - flagging a weekday that doesn't match its date, split-the-bill maths that's wrong, a meeting booked on a public holiday, or an outdoor plan the forecast is about to rain on. It's a passive tip, never an auto-rewrite, and the correction is always computed data, never something the model invented.
What it catches
| Tier | Catches | Example that flags |
|---|---|---|
| 0 | a weekday that doesn't match its date; split-the-bill maths | "see you Thursday, 24 July 2026" (it's a Friday); "£120 between 4 of us, £25 each" (it's £30) |
| 0.5 | a work/office day that's a public holiday | "in the office Monday 31 August 2026" (a UK bank holiday) |
| 5 | an outdoor, weather-dependent plan vs the forecast | "picnic in the park on Saturday" when rain is forecast |
| 5b | a London transit plan vs live disruption | "let's take the Jubilee line tomorrow" during a suspension |
| 5c | a wildly-underestimated journey time | "5 minute walk from East Finchley to Muswell Hill" |
Tier 0 is pure date and number arithmetic - instant, private, no network. The higher tiers each make one live call and only appear when their background data is available; if it isn't, that check simply stays quiet.
The correction is data, never a guess
An LLM only parses your sentence into a typed claim ("this asserts Friday 24 July 2026"); the runtime then verifies it deterministically - it computes the real weekday, does the sum, reads a cached fact. The model never invents the fix, so a cue can't hallucinate a false contradiction: it can only flag a claim the arithmetic, the clock, or a real data source actually disproves. A sentence that checks out produces no cue at all - silence is the rule, because a wrong flag is worse than none.
A tip, not a rewrite
Contradiction cues are cues, not agents. The flag lands as a passive tip on the sentence, and the corrected value is offered as an alternative you can swap in with Ctrl+Alt+Up. Nothing touches your buffer until you press the key - OpenCues never rewrites your text in the background.
Turning it on
Add contradiction-cues-mode: on to ~/.cues/OPENCUES.md (or cycle it via opencues settings _); it's off by default and hot-reloads in a couple of seconds. Privacy: the sentence goes to your configured cues provider like any other cue, and the verify step's outbound calls go to fixed, hardcoded sources (GOV.UK, open-meteo, TfL, a geocoder) with grounded inputs - an injection in your prose can't redirect them.
Related: Sentence cues · Calendar-aware inline AI · How good is OpenCues? · GitHub repo