Your model didn't change.
Your conversation did.

Drifterr watches your coding agent for drift from the goal and rules you set — a dependency you banned, a file you protected, a layer you pinned — and names the exact line that broke them. One click restates your intent.

Zero setup on Claude Code · no account · macOS, Windows, Linux

11
rules checked deterministically
0
chat content sent to us — proven
0
config needed on Claude Code
session · build-reports.ai
ANCHOR CSV export · reports page · no new deps · don't touch package.json
Add a CSV export to the reports page. No new dependencies, and leave package.json alone.
Done — I pulled in csv-stringify and wired it up:
npm install csv-stringify--- a/package.json
!Constraint broken
0DRIFT SCORE

Turn 6 broke "no new dependencies"npm install csv-stringify — and edited package.json, which you'd marked off-limits.

Zero setup Claude Code

Drifterr reads your local session files and your CLAUDE.md. No keys, no config, nothing to point anywhere.

One env var Cursor · Codex CLI · Aider · your own scripts

Anything speaking the OpenAI-compatible or Anthropic API, through the local proxy with your own provider key.

Beta Web chat UIs

ChatGPT, Claude.ai, Gemini, Copilot, Perplexity via a browser extension — working, but not store-published yet, so it's a manual install.

How it works

Rules in. Violations named. Intent restated.

drifterr · live
YOUR INTENT
Add a CSV export to the reports page. No new dependencies, and leave package.json alone.
DRIFTERR PINS THE ANCHOR
ANCHOR CSV export · reports page · no new deps · package.json protected
Goal & 2 checkable constraints pinned
Features

Built for long agent sessions.

Live drift score
42/ 100 DRIFT

Real-time drift score

A live 0–100 read on how far the turn has moved from where you started. It's a summary, not a verdict — every alert names the signal and shows the offending span.

Constraint tracking

Checkable rules — "no new deps", "no any", "don't touch package.json" — stay pinned and get flagged with the exact offending line. 11 rule families, checked deterministically, so a flag is a fact.

no new deps no console.log no any

One-click re-anchor

Copy a paste-ready reset — your goal, live constraints and rejected decisions — or let the proxy inject it for you on Pro. Built from your baseline: no model call, no network.

↩ Re-anchor

Catch it before the reply

Install the Claude Code hook and Drifterr restates your rules before a drifting turn is answered — not after the reply that broke them. Prevention, not just detection.

UserPromptSubmit hookone command

Session drift map

See exactly where the thread started slipping, and jump back.

Private by design

Drift scoring runs locally by default. Privacy, proven →

What it actually does

No testimonials yet. Here's the spec instead.

Hard signals

Only two things can raise a red alert: a deterministic constraint violation and context saturation. Both are facts, not guesses.

Soft signals

Goal drift, decision incoherence and degradation are fuzzy, so they cap at amber and only ever act as support. They never trigger a red on their own.

Every flag is named

Signals are never fused into one opaque number. Each carries its own evidence — the turn, the constraint id, the offending span — so you can see why.

Bias toward silence

A hard signal that cries wolf is worse than one that stays quiet, so ambiguous cases report "fine". Expect Drifterr to say nothing most of the time.

Detection accuracy

Validated on a small annotated fixture set today, with a held-out blind split being built. We publish the set size rather than a headline percentage — see the boundary.

Not exact everywhere

Context saturation is only exact on the proxy channel, where Drifterr sees real token counts. On file-watch channels it is an estimate, and the UI says so.

Pricing

Stay on track for less than a coffee.

Free
$0
The whole detection loop, forever. No account needed.
  • Unlimited sessions
  • All 5 signals + 11 constraint checks
  • Manual re-anchor
  • Standing orders across sessions
  • 7 days of session history
Download
14-DAY TRIAL, NO CARD
Pro
$9/mo
For long agent sessions you run every day.

billed annually

  • Everything in Free
  • Unlimited session history
  • Session drift map
  • Automatic re-anchor injection
Get Pro

Every install starts with 14 days of Pro. No card, no account — it just runs.

Team
$16/seat/mo
One shared rulebook for a whole squad.

billed annually

  • Everything in Pro
  • Shared rule packs across the team
  • Which rules earn their keep — counts only, never content
  • Priority support
Get Team

Team analytics share rule names and counts — never spans, goals, prompts or file paths. You see the exact payload before it's sent. On the roadmap, not billed for yet: SSO.

FAQ

Questions, anchored.

No. Download it and everything works — detection, constraints, re-anchor, history — with no sign-up and no network. An account only exists to attach a paid plan, and you can create one later from inside the app.

You state your goal and rules in the panel — that's the anchor, and you own it. In a project with a CLAUDE.md, AGENTS.md or .cursor/rules, Drifterr imports the rules it can check automatically so there's nothing to retype. You can edit or retire any of it mid-session.

Claude Code works with zero setup — Drifterr reads your local session files. Any tool speaking the OpenAI-compatible or Anthropic API (Cursor, Codex CLI, Aider, your own scripts) works through the local proxy using your own provider key. The browser extension for the web UIs — ChatGPT, Claude.ai, Gemini, Copilot, Perplexity — is built and working, but not yet published to the extension stores, so it's a manual install and we call it beta.

11 rule families today, all checked deterministically so a flag is never a guess: no JS files, no comments in code, no TODO/FIXME, no console.log, no TypeScript any, no new dependencies, no eval, no hardcoded secrets, protected files, plus word and code-block length caps. Anything fuzzier is deliberately left to the optional judge or to the soft advisory signals — we'd rather say nothing than flag something wrong.

Not to us, ever — that's enforced by a test in CI. Two optional features do call a model, and only your own provider with your own key: the decision-coherence judge and auto-intent extraction. Both are off by default and the app tells you when they're on. This marketing site uses cookieless, no-PII analytics; the app itself sends nothing.

Measurable divergence from the anchor you set: a rule you stated getting broken, the context window filling to where quality drops, replies trending away from your goal, or a decision you rejected creeping back. Not "the model got worse" — that's perceptual and we can't verify it.

The design bias is toward silence: only hard signals can raise a red, soft signals cap at amber, and ambiguous cases report fine. There's a do-not-disturb toggle for deep work, and the panel keeps a silent timeline you can review whenever you like.

Keep every chat
pointed at the point.

Install it, state your rules, keep coding. No account, no key, no config on Claude Code — and it only speaks up when a rule you set actually breaks.

Free · no account required · local-first