Your edits are protected
Every hand edit is described to Claude before your next request, with an instruction not to restore an earlier version or rewrite the file.
A development environment for Claude Code
Kwizmo Plynth is the application you sit in while an agent works on your code. It runs on your machine, drives Claude Code across your repositories, records what every prompt changed, and lets you keep only the parts you want — underneath your git repository, without ever touching it.
The problem
Agents are fast enough that an ordinary session produces a dozen changes before anything is committed. Git cannot help you: none of it exists in history yet.
Five prompts touched the same file. Which one added the line you are staring at?
The third prompt went wrong, but the ninth built on top of it. Now you are unpicking both by hand.
Four fifths of that change was right. Rejecting the whole prompt means asking for the good part again.
You fixed a line by hand. The agent still believes it wrote something else there, and quietly puts it back.
Every prompt, on its own
Each prompt becomes a numbered entry, coloured by what happened to it. Open one and you get the model's summary, the tool calls it made, the checker's output and a line-numbered diff of what that prompt — and only that prompt — changed.
Keep what is right
By default a prompt runs in a throwaway copy of your repository — nothing on disk changes until you say so. You get the diff split into individual hunks and tick the ones you want.
CLAUDE.md
Something git cannot do
Pick a file and see which request produced each line —
including work you have not committed, where ordinary
git blame has nothing to point at.
A question one diff cannot answer
One prompt, or everything since the last commit, with nothing in between — that was the gap. Pick the start of one prompt and the end of another and see what the whole feature changed, however many prompts sit between them.
Look at it, then ask about it
Read a file, spot the problem, ask about it — without leaving the file. The composer sits on every tab and collapses to one line where the code needs the room.
How it works
Before and after every prompt, Plynth writes your whole working tree into git's object database using plumbing commands and a throwaway index. Those snapshots are real commits on a private ref.
GIT_INDEX_FILE=<tmp> git read-tree HEAD
GIT_INDEX_FILE=<tmp> git add -A
GIT_INDEX_FILE=<tmp> git write-tree -> tree
git commit-tree <tree> -p <previous> -> commit
git update-ref refs/kwizmo/snapshots <commit>
| Because they are git objects | You get |
|---|---|
| git diff before after | the exact diff for one prompt |
| git blame | blame that names the prompt, not the commit |
| the commits already exist | bisect across prompts |
| git apply --cached | commit some prompts and not others |
| a ref keeps them reachable | nothing is ever garbage collected |
git status,
git log, your branch and your staging area are never touched.
Remove Plynth and your repository is exactly as you left it.
Also included
Every hand edit is described to Claude before your next request, with an instruction not to restore an earlier version or rewrite the file.
Run one prompt up to four ways at once, each in its own copy, and compare the results before adopting one.
Untick prompts and the commit is rebuilt from the rest. The schema change need not ride along with the UI change.
Written from the prompts you actually sent. You described the change before making it; that beats guessing from a diff.
Private keys, cloud credentials, tokens and database URLs with passwords are caught before the commit, not after the push.
Not a repository? Plynth tracks it anyway, keeping the history outside
your files. No .git, no marker, nothing added.
Syntax highlighting for 62 file extensions, so a two-line fix is something Plynth knows about the moment you make it.
The prompt you run every month with one word changed, saved with placeholders and reusable across repositories.
What you have spent, how long you waited, which files the agent keeps returning to, and every prompt you have ever sent.
A prompt takes minutes. Tab away and the browser tab title changes and a notification arrives, saying whether the checks passed.
An undone prompt keeps a button to restore it. Claude is told the change has returned, since it was told it had gone.
Checking out another branch rewrites half the tree. Plynth marks it as a new section rather than mistaking it for an enormous hand edit.
How many prompts the current conversation carries, and what it has cost. Long threads cost more and answer worse; now you can see it.
Requirements
Plynth ships as a single folder and depends on nothing beyond what is listed here. There is nothing to compile, nothing added to your project, and nothing to undo if you stop using it.
Locked-down machine? The paths to git and Claude Code can be set in the interface or through environment variables when PATH cannot be changed.
Under the hood
Nothing is mocked. Every test runs against a real git repository, because a tool whose job is to protect your code has to be held to the behaviour and not to a stand-in. They concentrate on the places where a silent break would be expensive: that snapshots never touch your branch, that undo restores binary files byte for byte and refuses cleanly when it cannot, and that pulling one hunk out of the middle leaves its neighbours untouched.
Plynth is a commercial product. Get in touch and we will set you up with a licence and walk through it on a codebase you actually care about — which is the only way to tell whether it earns its place.