context debt /ˈkɒn.tekst det/ · n. — the expired code your AI reads, and you pay for, every day

Your AI reads expired code. You pay for it.

Workarounds for bugs fixed upstream years ago. Polyfills for browsers you dropped. Retries tuned for defaults that no longer exist. The reason died — the code stayed. Now your agents read it on every task, learn from it, and bill you for it.

OUT NOW
Read The Context Debt Report →
1,813 of the most-starred repositories on GitHub. 201 million lines. 978 cited issues checked — 679 of those fixes had already shipped, a median of 4.2 years ago. Every claim published as data and re-checked before every publish.
You're on the list. The next report lands in your inbox first.

The next one will be found by the watcher, not by hand — those 1,813 repositories are being re-checked as the issues their workarounds cite get closed. No spam, ever.

OR SEE YOURS RIGHT NOW — FREE, RUNS LOCALLY
npx contextdebt
Scans your repo for self-admitted workarounds and flags the ones whose cited issues are already closed. Your code never leaves your machine.

Receipts

This is real. We checked.

Every diagnosis comes with an evidence chain: the commit that created it, the upstream cause, and the proof that the cause is dead.

axios · ~50M downloads/week Still checks whether you're running Internet Explorer. On every page load. In 2026. Added Nov 2015 for an IE port quirk · IE retired Jun 2022 · carefully carried over in a 2024 refactor
express · the web framework Ships a workaround for a V8 bug from 2016. We benchmarked it on Node 22: 0.0% difference. Commit f90f9dde · V8 issue #4730 · dead for years, dodged on every res.json()
cal.com · Ghost · directus Workarounds referencing upstream issues that closed in 2021, 2016 and 2022 — still shipping today. Next.js #8592 at 4 call sites · buffer PR #148 merged Dec 2016 · rollup #1329
20
repos scanned so far
5.5M
lines of production code
491
self-admitted workarounds ("until we upgrade…")
3/3
sampled upstream issues: already fixed, years ago

How it works

Flag fast. Diagnose slow.

01 · LEAD

The code testifies

Markers, cited issues, dates — your codebase already confesses which lines exist because of somebody else's bug. A comment is testimony: people can write anything, or nothing. So a lead opens a case. It never closes one. What a returnable note looks like →

02 · EVIDENCE

Facts that cannot lie

Your lockfile. The shipped artifact. The vendor's own end-of-life record. Even a closed issue is only testimony — someone clicked a button — so the case advances on evidence matched against the versions you actually run, and nothing else.

03 · DIAGNOSIS

Sure over fast

A diagnosis needs independent evidence agreeing and a human reading the code in place. It ships with its receipts: origin commit, upstream cause, proof the cause is dead, your own tests passing without it. Code that survived fifteen years can wait a week for that.

We never ask you to trust a diff. We hand you the evidence and you press the button. No auto-merge. Ever.

Pricing

The watcher is free. Forever.

Install the GitHub App and every note in your repo with an address gets watched — scan, inventory, and an alert when a cited reason dies. That never costs anything. You pay at the evidence: the diagnosis packs and the bot that opens the change for you.

FREE · $0

Watch

Full scan and inventory (investigable vs unaddressed), every cited issue checked daily with the closed≠fixed rule, a check-run when a reason dies. Unlimited public and private repos.

Install the app →

PRO · $19/MO

Evidence & the PR

Per repository. Every died reason arrives as a full evidence pack — origin commit, upstream cause, proof, lockfile check — and the bot opens the change and keeps it rebased. You press the button.

Monthly →  ·  $190/year →

ORG · $99/MO

Every repo, one ledger

Everything in Pro across your organization, plus the rollup: which reasons died where, what each one costs to keep, in priority order. For the team that owns more code than it remembers writing.

Monthly →  ·  $990/year →

At checkout you'll be asked for your GitHub organization — that's how the subscription finds your installation. Cancel any time from the receipt.