A companion app for Claude Code and Codex

Your agents write the code.
Bonsai keeps the rest in view.

Run a few agents in a few worktrees and it gets hard to keep track: which branch is where, which dev server is still up, what's ready to land. Bonsai is one small Mac window that keeps all of it in sight. It doesn't run your agents, and it doesn't write code.

Download for MacBuy · $29

Free for 24 hours from your first own repository, then $29 onceApple silicon, macOS 14 or later

Bonsai's Home window on the sample repository: worktrees on the left, dev servers, contribution activity and live plan steps on the right.
Home, drawn on leaf-me-alone: the made-up repository Bonsai opens with, so you can look around before pointing it at your own.

How it works

It sits beside your agents, not between them.

Keep starting Claude Code and Codex the way you do now. Bonsai reads what they leave on your Mac and draws it in one window.

  1. Your agents work in worktrees

    Each agent gets its own checkout, so several can work at once without stepping on each other. Bonsai finds the worktrees you have and makes new ones in one step.

    git worktree list
  2. Bonsai reads what's already there

    Branches from git, servers from the processes holding your ports, tokens from the session files Claude Code and Codex write, steps from your plan files.

    git · ps · lsof · ~/.claude · ~/.codex
  3. You glance at one window

    What's serving, what stopped, what's ahead of main and what would conflict. A terminal waiting for input posts one notification.

    Home · Timeline · Plans

What you'll see

Three things you stop holding in your head.

Bonsai on the sample repository: a small terminal for each dev server, lit while its port answers.

Which dev servers are up

Every script a worktree serves gets a small terminal, lit green while its port answers. Stop, run again or restart, one button each.

Bonsai on the sample repository: every worktree on one rail beside main, with how far each is ahead or behind.

How the branches fit together

Every worktree on one rail beside main: how far ahead or behind, and which merges would conflict before you try one.

Bonsai on the sample repository: the week's commits and output tokens by model.

What the week cost

Commits and tokens by model, counted from the session files on your Mac. The Timeline splits each day into plan work and side quests.

What it isn't

What Bonsai doesn't do.

Worth knowing before you download it.

It doesn't run your agents.
Claude Code and Codex stay in their own apps and terminals. Bonsai's terminals hold your dev servers and shell jobs.
It doesn't write your code.
The one thing it drafts is a commit message, through your own claude, when you ask for one.
It doesn't upload your work.
Code, transcripts and plans stay on your Mac. It goes online to check its license, and when you ask claude to draft that message.
It isn't finished.
This is version 0.1. It runs on Apple silicon with macOS 14 or later, and it will change as it's used.

Pricing

One price. Try it for a day first.

$29 once


  • 24 hours free, from when you open a repository of your own
  • The sample repository is free for as long as you like
  • One key for three Macs, working offline up to 14 days
  • No subscription, and no account to make
Download and try it freeBuy · $29

Checkout opens in your browser. Your key arrives by email.

FAQ

A few straight answers.

Does it work with Cursor, Aider or other agents?

Worktrees, branches and servers show up whatever made them. Token counts come only from Claude Code and Codex, because those are the session files Bonsai can read.

Do I have to use worktrees?

No. A repository with only branches shows its branches, and Bonsai offers to set worktrees up when you want them.

What happens when the 24 hours are up?

Everything stays readable, and servers already running keep running. Starting something new waits for a key, and once per Mac you can ask for one more day.

What does it need?

A Mac with Apple silicon, macOS 14 or later, and git. Drafting commit messages needs the claude command line tool; everything else works without it.