Hosenur Rahaman

Building onlydiffs

· engineering

I spend less time writing code in an IDE now. Most of my work happens through CLI agents, often with herdr. But a CLI alone doesn’t cut it. I still need to read the code before I trust it.

I usually have several projects open at once, and keeping an IDE window open for each one leaves me managing two sets of windows.

The review loop

  1. Ask Claude to make a change.
  2. Open the IDE and review the diff.
  3. Return to Claude with feedback.

Then I repeat the loop.

Skipping step two isn’t an option. I have opinions about how my code should be written, and the slop I let through stops being mine the moment I push it. A teammate has to read it, or work around it, and that is an hour out of their day I could have saved them. Agent-generated code needs supervision. I just don’t want that supervision to require a second workspace.

What I am building

onlydiffs keeps that loop in one place. It has one job: show the diff. It cannot edit code or read unchanged files. Claude writes, I read and respond.

Click the flagged line below. onlydiffs opens a text box over the diff, and whatever you write goes straight to the Claude Code session already running in your terminal. That runs on Claude Channels, which is still experimental.

The Onlydiffs App
// onlydiffs cannot edit the contents of a file.
// click the flagged line to fix it.
const UserSchema = z.object({ id: z.string().min(1) });
const { id } = UserSchema.parse(await req.json());

Sent to your Claude Code session, running in its own terminal.