Free
For everyone- Capture from every agent✓
- Every mode and question kind✓
- Any model, local or cloud✓
- Spec and ADR grilling✓
- Commit trailer✓
- Review policy and PR check✓
- Repo-aware questions✓
- Learner profile, profile page and hints✓
01 · The hunk
Every hunk Claude Code, Copilot, Codex or Pi writes lands in a queue. Answer one question about it, or type it back, before it counts as reviewed. Nothing is blocked. Your commits carry an honest record of what you read.
Checkpoint · lines 17–20Predict
The cart already holds 3 of this product and its stock is 4. What does addToCart(user, product, 2) return?
Checkpoint after line 20. Press 1 to 4 to answer.
Reviewed-by-human: 0/1 hunks
Line 12: export async function addToCart(userId: string, productId: string, qty: number) {
02 · Capture
Run TypeBack: Install Agent Hooks. It writes one small hook for each agent you use, and every edit reaches your editor over 127.0.0.1 as the agent makes it. The agent never waits on your review.
.claude/settings.local.jsonEach edit arrives with its before and after text, so every hunk is exact. The file is per machine, so your paths never reach a teammate.
.github/hooks/typeback.jsonVS Code's agent hooks report the files an agent touched. TypeBack diffs each one against git to find the hunks.
.codex/hooks.jsonCodex's apply_patch edits, parsed into hunks. Trust the folder and the hooks once when Codex asks.
.pi/extensions/typeback.tsA small extension hands Pi's edit and write results over in the background, once you trust the project.
03 · Review
Questions are written from the code in front of you, pitched at your level. Multiple choice is graded on your machine. A miss says why and asks again, differently. Run out of tries and the only way out is Skip, and every skip is counted.
Q14 options
Pick what the code does for a given input.
› Three are in the cart and four in stock. What does addToCart(user, product, 2) return?
Q23 or 4 options
Follow the control or data flow to the right outcome.
› The product id does not exist. Which line ends the call?
Q3Pick a line
One line was mutated. Find it, or say there is no bug.
› One line of this hunk was changed to add a bug. Which one?
Q4Free text
Asked first on high-risk hunks: auth, concurrency, money, data deletion.
› Why does running out of stock return a result instead of throwing?
Q5Free text
When the other kinds are used up.
› Why upsert the cart line instead of inserting it?
Typing makes you read every character. Checkpoints only ask about lines you have already typed. Your words per minute show as you type, for the fun of it. They never grade a hunk: understanding the code is the point.
Type: const nextQty = (line?.qty ?? 0) + qty;
Click, then type the line.
Stuck on a checkpoint? Hint says what to notice. I don't know shows the answer and why, and counts as a miss, so nothing passes quietly.
04 · While it works
An agent turn can run for minutes. The hunks it has already written are waiting, so the status bar says so, and one notification per turn offers the next one. Read the first file while it writes the third.
TypeBack: Codex is working. 4 hunks are ready to review while you wait.
typeback.whileAgentWorksnotify by default, statusBar for the status bar alone, or off to remove the turn hooks entirely.05 · The record
When you commit, TypeBack keeps one line in the Source Control message box. It says what you read, in the commit itself, where it stays with the code.
The staged files, or every changed file when nothing is staged. The line updates as you review and stage.
Commit whenever you like. A skip is counted, not hidden. Turn the setting off and the line is removed.
Review the queue afterwards, then Stamp Review. It amends your last commit if no remote has it yet, or adds an empty commit to push.
commit 8e41c0a Author: You feat(cart): check stock before adding a line Reviewed-by-human: 14/17 hunks (questions), 2 skipped (low-risk)
TypeBack: Copy Review TrailerThe same line on the clipboard, for commits made somewhere else.
TypeBack: Copy Review Report for PRProCounts per file, right first time, second looks, skip reasons. No code, no answers.
06 · Teams
Commit a policy. Every commit message then carries a second line that counts the whole branch, and a GitHub check reads it.
Policy and pull request check are free
1.typeback/config.json
2Every commit on the branch
TypeBack-Record:
Counts, the policy hash and where the hunks came from. No code, answers or file names.
3typeback/verify
It fails when
The check reads the policy and its own script from the base branch, so a pull request cannot loosen or replace it. It is one readable file with no dependencies. Outside GitHub it runs anywhere git and Node.js 20 run.
What a record is, and is not. It is the author's attestation, like a DCO sign-off: they answered questions about each AI-written hunk TypeBack captured. It is not proof of understanding, and it does not replace code review.
07 · Models
TypeBack writes questions with a model you choose and has no server of its own. Multiple choice is graded on your machine; free-text answers go to the grader you pick.
VS Code
Language Model API
Any model registered there: GitHub Copilot, which includes GPT, Claude and Gemini models, or a bring-your-own-key provider extension.
Cursor and Windsurf
HTTP fallback
LM Studio or any OpenAI-compatible local server with no key, or the Anthropic or OpenAI API with a key kept in secret storage.
Local only
Your own machine
Point the fallback at LM Studio, Ollama or vLLM and choose it over Copilot, so questions are written on your own machine.
08 · Pricing
Everything that makes a review is free for good. Pro adds the mentor's deeper features. There are no pop-ups: Pro is mentioned only where a Pro feature lives.
Made by one developer. If it helps, you can also buy me a coffee.
Everything in Free, plus
MONTHLY$8 /mo
OR YEARLY$80 /yr (save $16)
⌘⇧P or Ctrl+Shift+P › TypeBack: Get TypeBack Pro
09 · Privacy
TypeBack has no server and no analytics. Code goes only to the model and the grader you picked. Here is the whole list.
The pull request check runs in your CI and sends nothing to TypeBack. The privacy page has every detail, and how to reset each store.
10 · Questions
Something else? Open an issue, or run TypeBack: Report Issue.
No. The agent never waits on a review, and a commit is never blocked. TypeBack keeps a record of what you read; a team that wants a gate adds the pull request check.
A miss gets another question of a different kind: three tries in questions mode, two for a checkpoint in the typing drill. After that the only way out is Skip, and every skip is counted in the trailer. I don't know shows the answer and why, and counts as a miss. In typing mode, filling in more than you typed is recorded as a skip.
Claude Code, Copilot agent mode, Codex and Pi, through hooks TypeBack installs for you. For anything else, Scan Git Changes queues every added hunk in the working tree, or select code and press ⌘⇧A (Ctrl+Shift+A).
Yes. Install it from Open VSX, then point the HTTP fallback at LM Studio, an OpenAI-compatible server, or the Anthropic or OpenAI API. The first review offers to set it up.
One request to the model you chose. With Copilot that counts against your plan like any chat request; with a local model it costs nothing. Multiple choice is graded on your machine.
Review the queued hunks afterwards and run Stamp Review. It puts the record on your last commit: it amends the message if no remote has the commit yet, and otherwise adds an empty commit for you to push.
More than 20 hunks or 600 lines arrive as one Large change card. Review a sample of each file, or skip the rest with one reason. Nothing is dropped.
No. It is the author's attestation, like a DCO sign-off, that they answered questions about each AI-written hunk TypeBack captured. It does not replace code review.
Install it, run the setup wizard once, and the next hunk your agent writes is waiting in the queue.
$ code --install-extension typeback.typeback$ cursor --install-extension typeback.typebackNeeds VS Code 1.109 or later.