Recently I bought a mini PC. Nothing fancy, just a small, quiet box that sits on my desk and stays on all day. The idea was simple: keep my laptop light, push the heavy work onto the box, and let my coding agents keep working there even when I close the lid.
Then I tried to actually use it that way, and it got messy fast.
The problem
Agentic coding changed how I work. Instead of one editor and one terminal, I now have several agents running at the same time: one refactoring an API, one writing tests, one watching a dev server, plus a couple of plain shells for git and infra. On a single machine that is already a lot of windows. Across two machines it turns into a pile of SSH tabs, half-remembered tmux session names, and forwarded ports that I set up by hand and forgot about.
I tried the usual approaches. Plain SSH and tmux from the laptop. Remote editor setups. A few terminal managers and dashboards. Each one solved one piece and made another piece worse. None of them treated "many long-running agents on a box I am not sitting at" as the main use case. They treated it as an edge case.
At some point I stopped looking for the right tool and admitted what I really wanted: my own system, built around exactly how I work.
What I built
PzzaCode is a grid terminal manager for agentic coding. Every tile in the grid is a live terminal, either a shell or a coding agent like Claude Code or Codex, and every tile is backed by a tmux session on the device. Close the app and everything keeps running. Open it again and you land exactly where you left off.
The things I cared about the most:
- A grid of terminals you can see and drive at once. Drag to reorder, maximize one, resize another.
- Workspaces as browser-style tabs, each with its own layout, icon and color, so a client project and a side project never mix.
- Focus and dim. Spotlight one tile and grey out the rest when you need to concentrate.
- Keyboard first. Switch workspaces, jump to a tile, and paste an image straight into an agent, even over SSH.
- Per-device agents. A small agent runs on each machine and serves its terminals, ports and saved state. A setup wizard installs it on a new device over SSH.
- Automatic port forwarding. Whatever is listening on the mini PC shows up on my laptop without me touching anything.
- Remote desktop. Open the device's Linux desktop over an SSH-tunneled RDP session when a terminal is not enough.
- MCP. Sessions and ports are exposed to Claude, Codex, Zed, Cursor and Windsurf, so the agents themselves can see what is running.
- Live agent usage. Claude and Codex 5-hour and weekly windows, reset countdowns and plan, read straight from the accounts on the device.
- Multi-account. Launch a session bound to a specific Claude or Codex account.
How it is built
The desktop app is Tauri 2 with a Rust core and a React 18 + TypeScript front end. Terminals are xterm.js with WebGL rendering, sitting on top of tmux. Each device runs a small Node agent that owns the pseudo-terminals and talks to the app over WebSockets. The whole thing also runs in the browser against that same agent, so the native install is optional.
Why open source
I built this for exactly one user: me. Every decision came from my own daily friction, not from a roadmap or a market. But that is also why I think it might be useful to other people. If you ended up with a box under the desk and a handful of agents you want to keep an eye on, you probably hit the same walls I did.
So PzzaCode is open source under the MIT license. Use it, fork it, rip out the parts you do not like. If it saves you one afternoon of fighting with SSH tabs, it did its job.
It is early and it is opinionated, because it was built for one person first. I would love to hear how it holds up on your setup.
Keep reading
- Coding After Code Agents
Most of my coding happens in a terminal chat. People picture agentic coding as delegation; the version that ships real work is closer to pairing, and the steering is where the engineering lives.
- Developer Experience Improved
Building on crypto got significantly easier. Better tools, better docs, better debugging. The rough edges smoothed.
- Jev: What a System One Model Is, and What It Isn't
TypeSafe shipped Jev, a model that returns typed decisions with calibrated probabilities instead of generating text. Here is what a System One model actually is, where it fits, and which of the claims are worth checking before you wire it into production.