The agent writes it.
You read it here.
Git, files, databases and a shell in one native Mac window, every card linked to where it came from. And soon the same box from your iPhone and iPad, wherever you are.
1
2
3
4
5
- The agent's worktree, done and waiting for you, with how much of it you have viewed.
- A note says what you are chasing, in your words.
- The query that shows the bug in the data: 16 customers got their duck twice.
- The agent's fix as a diff against main, opened from its worktree.
- The rail. Every card, and the line that brought it here.
Apple silicon
TestFlight soon
Commit · push
MariaDB · SQLite
No web view
No account
Every card knows how you got there
A query result opens the table behind row 1. A diff opens from the commit in the log. Each card keeps that line, and the rail shows the whole trail, so after an hour of digging you can still say why a card is open.
1
2
3
- The query on a read-only connection. Run is the one mint button.
- Opened from row 1. The table card names the row it came from.
- The rail draws it as a branch under the query.
Leave the desk, keep the diff
Pair your iPhone or iPad once and pick up right where you left off, with the same projects, cards and even unsaved edits. It talks straight to your Mac, at home or over Tailscale.
Pairing, once per device
- 1
On the Mac, Pair a Device… shows a one-time code. On a server: batchad pair.
- 2
On the iPhone or iPad, scan the code or type it.
- 3
The Mac asks you to confirm. The device gets its own key, and you can revoke it any time.
What a paired device may do
| Action | Default |
|---|---|
| Read code, diffs, logs, tables | On |
| Edit files, Git writes | Off, per project |
| Run commands | Off, per project |
| Write to a database | Off, per connection |
| Delete a project | The Mac only |
The daily parts of an IDE, minus the heavy bits
What you open ten times a day while checking your agent's work. Nothing you haven't touched since last year.


Every agent's worktree, as a review queue
- Finds
- The worktrees your agents make, whatever made them: Conductor, worktrunk, gtr, a .worktrees folder or your own pattern. Each knows the branch it started from.
- Shows
- A row per agent with what needs you now: still writing, quiet for 38 minutes, 2 of 4 files viewed, done. Lines, commits ahead and the database its .env points to are in its tooltip and its review card.
- Writes
- A new worktree with your ignored files copied in, and removing it when the work has landed.


The whole review, in one card
- Reads
- Any branch against its base, word by word. The log with its graph, blame, worktrees.
- Writes
- Stage a hunk, commit, push, pull, cherry-pick, branches, stash. The conflicts a pull stops on.
- Leaves
- Interactive rebase, bisect.


The history, drawn
- Reads
- Branches and merges as lanes, a commit's message and files beside it.
- Opens
- The diff of a commit, linked back to it.


Read the code the agent touched
- Reads
- Syntax colours, go to definition and find in files, for the languages you install.
- Writes
- Quick fixes in place, then save.
- Leaves
- Completion, refactors, a debugger.


⌘K finds all of it
- Finds
- Branches, open cards, files, tables, commands.
- Keys
- Every action names its shortcut in its tooltip.
Your connections, with a prod pill
- Reads
- PostgreSQL, MySQL, MariaDB, SQLite. Tables, filters, foreign keys you can follow, query history.
- Writes
- Edit cells right in the grid, even in a query result. Edits stay tinted until you save, then go in as one transaction, and a row someone else changed meanwhile stops the save. Each connection is read-only, preview first, or direct.
- Leaves
- Schema designers, migrations, import wizards.


A quick command, in the right place
- Runs
- A command in the project, or inside its Docker Compose service. The output is a card.
- Leaves
- Tabs and a full terminal. Your agent runs where it runs.
Native, and measured
Written in Swift and AppKit, with no browser hiding inside.
From opening the app to a window that takes input.
Scrolling a stack of mixed cards on a 120 Hz display.
CPU per frame while it scrolls.
For the box to start and answer.
For the box at rest, after indexing a 9,706-file repository.
Measured on a MacBook Pro with M4 Max and 64 GB: launch (reopened after quitting) and scrolling on 1 November, the box on 27 October 2026.
No telemetry. No account. Nothing phones home.
Your code, your databases and your credentials stay on your machines. We never see them, and the app sends us nothing about how you use it.
What it is not
Keep yours for writing. Batchabox is for reading what got written.
One quick command, yes. Your agent runs in its own.
The daily writes are in. rebase -i and bisect stay in the terminal.
Read, follow, query, a careful write. No schema designer.

