devpit is a native desktop application for controlling the coding agents you run. Everything a session needs sits in one window: a chat pane, a terminal for each project, a board that holds the work, a running record of what every agent call cost, and an orchestrator that can see across every project you have linked. Today it drives Claude Code through the claude CLI you already have installed, while support for Codex, Cursor, Gemini CLI and opencode is described as coming. devpit runs on Linux, macOS and Windows, is free and open source, and is aimed at developers who run more than one agent at a time and want a single place to watch them all.
Coding agents are powerful, but they are also noisy. Each one lives in its own terminal, and the moment you run more than one at once — a task in one repository, a review in another — you are switching between windows, losing track of which process is still alive, and guessing at what any given run has cost you. There is no shared place where the work being done is visible, and no natural place for an agent to stop and ask you a question. devpit exists to put all of that in one window, with panes side by side rather than tabs spread across six applications. Its guiding rule is that nothing advances on its own: an agent writes down what it did, and moving the work forward remains your call.
The most basic pane is the terminal. It is a real pty behind tmux, which means you can split it, close the window, and find the same process still running when you come back. Beside it sits a chat that proceeds one turn at a time and shows what each turn cost, so a conversation with an agent is also a running account of what it is spending. Per project, devpit also offers capabilities — extra tools that open as panes next to the work; Notes and Excalidraw are the ones available today. Files, diffs and a browser are available in the same window, so you can review what an agent changed and look at the page it serves without leaving devpit. Because each terminal is held by tmux rather than by the visible window, and because each project has one target terminal, switching between pieces of work simply re-attaches the view to whatever you are looking at, while the previous session keeps running in the background.
The board is where work is organised. It uses your columns in your order, and moving a card is what starts the work: the card is not a passive note, it is the trigger for a step. A step does not advance on its own. It writes down its output, its exit code and its real cost, and then it stops. Deciding to move on is yours, unless you have deliberately set a lane to move by itself, in which case the board shows that. Cost is tied directly to the board too: a spending cap on every call is set by the column the work sits in, and the card records the real cost of what ran. In other words, the column defines the ceiling for that stage of work, and the card reports what was actually spent.
Above the individual project sits the orchestrator: a chat that reads every board you have linked, across projects. You can hand it a card and it starts a session for that card, then reports back to you. Alongside it, the Sessions panel lists every session on your account, with the ones waiting on you first, and you can answer them in place, as yourself. The island — a capsule that floats above your windows — shows what each agent is doing and lets you allow or deny from there. Agent state is expressed in words as well as visuals: thinking (started, before its first step), working, asking, waiting, done, failed and sleeping. There are also reminders that only remind: telling devpit to remind you at three to review a pull request means it will tell you then, and start nothing. The orchestrator has explicit limits: it never moves a card into a lane that runs a step, it never acts on a timer, and it never approves anything in another session. Any reply it drafts goes out only when you send it.
Underneath, devpit is local-first. Everything it creates — the board, the panes, the terminal and the costs — lives in a workspace per project under ~/.devpit, so nothing lands in your repository: there is nothing to gitignore and nothing appears in the diff. A teammate can work alongside you without ever hearing of devpit. When a step needs a checkout, devpit makes a worktree for that line of work, and it never removes a worktree while it still holds uncommitted work. Sessions are designed to outlive the window: close devpit, reopen it, and what was running still is, because tmux holds the processes. Windows is supported through a per-user installer that brings psmux, the tmux of Windows, and the Linux build also runs in WSL 2. devpit is written in Rust and Tauri rather than being another Electron app, and each terminal is a real pty behind tmux, or psmux on Windows.
The outcome for a developer is a single place to watch several agents at once, without losing any of them. Costs are visible per call and capped per column, so agent work does not become an unbounded bill. Sessions that wait on you are surfaced first, so time is not wasted hunting for the agent that has stopped and needs an answer. Because the workspace is separate from the repository, using devpit does not change your code base or your team's workflow. And because state is preserved — tmux holds the processes and the workspace persists per project — you can come back days later and find the board, panes, terminal and costs where you left them.
Concretely, this plays out in several ways. When you are running agents on more than one project, each board gets its own workspace and you watch them all through one window. When an agent finishes a change, you review its files, its diffs, and the page it serves without leaving the app. When you want work kicked off, you hand the orchestrator a card and it starts a session and reports back. When an agent stops and asks a question, you answer it in place as yourself, with the sessions waiting on you listed first. When you are away from the machine, you can check on running work from your phone over Tailscale. And when you want a nudge rather than action, you set a reminder that tells you at the time and starts nothing.
devpit is aimed at developers who use coding agents, and specifically at those who run Claude Code and find themselves managing several sessions or several projects. The agent it drives today is Claude Code, through the claude CLI you already have; other agents can report their status with the devpit-agent hook, and Gemini CLI does so with nothing to set up. Codex, Cursor, Gemini CLI and opencode are all listed as coming behind the same interface, and your own agents are markdown files. The tech stack is Rust and Tauri, with tmux as the process holder and psmux on Windows; optional remote checking is done over Tailscale by pairing a device with a one-time code and choosing what it may do, with nothing listening beyond your tailnet. devpit is free and open source under Apache 2.0, uses your existing Claude Code plan with no new API keys, and requires no account — an account today only signs you in, and sync, when it comes, will keep the workspace around your work rather than the work itself.
devpit's value proposition is control: one native window for the coding agents you already run, a board that makes the state of the work visible, a cost on every call and a cap on every column, and an orchestrator that sees every project while never acting on its own. Free, open source, local-first, and out of the way of your repository.