Codeman logocodeman View on GitHub →
free·open source·self-hosted·no telemetry

Mission control for your AI coding agents.

Codeman is a free, open-source web dashboard for AI coding agents. It runs Claude Code, Codex, Gemini CLI, OpenCode and five more agent CLIs 24/7 in persistent tmux sessions on your own machine. Watch and answer every agent from any browser, phone included.

codeman @ your-box
$ curl -fsSL https://getcodeman.com/install | bash

Mac · Linux · Windows (WSL) · needs Node 22 + tmux · prefer npm? npm i -g aicodeman

▶ live a real recording: six agents in the tile grid, DeepSeek Harness, Claude Code, Pi, Codex, OpenCode and a shell, each tile powering on like an old CRT
## the zerolag trick

Zero input lag. Even over a tunnel.

Typing into a remote terminal normally means a 200-300ms round trip per keystroke, and seconds on a bad link. Codeman paints your keystrokes instantly in a Mosh-inspired local echo overlay, then hands off invisibly the moment the real echo arrives.

▶ side-by-side same phone, same tunnel: 0ms local echo with Zerolag, 600ms to 2.7s without

Extracted as a standalone library for any xterm.js app: npm i xterm-zerolag-input

## every agent, one screen

Built for the Poweruser workflow.

You never run just one coding agent. Codeman puts all of them, across every project, in a single row of tabs with live status.

1:session-tabs working Every agent is a tab, every project a case. Real streamed terminals with full scrollback, not summaries. And because every session is plain tmux, ssh still works like it always has.
2:needs-you idle A tab blinks yellow when its session goes idle, red when it waits on an answer. One glance replaces cycling through six terminal windows.
3:phone connected Better than any mobile SSH client: QR login, push notifications, and zero input lag via a Mosh-inspired local echo overlay (xterm-zerolag-input on npm).
4:auto-resume armed "5-hour limit reached ∙ resets 8pm" at 1am? Codeman parses the reset time, waits it out, and continues the run. Live 5h/7d plan-usage chips show the limits coming.
5:subagents fanning-out Subagents pop up as floating windows with live token counts, tethered to their parent tab by connector lines. Peek into any worker mid-flight.
6:multi-cli 10 modes Claude Code, OpenCode, Codex CLI, Antigravity CLI, Gemini CLI, Pi, Grok Build, DeepSeek Harness, OMP, plus a plain shell. One dashboard for whatever you run today, and whatever you switch to next month.
7:isolation hardened Run a case in its own Docker container (cap-drop ALL, non-root, credentials never written back) or on another machine over SSH. Same tabs, different blast radius.
8:file-viewer previewing See what an agent just created without an SSH round trip: code, images, videos, PDFs, Office docs, previewed in the browser and downloadable straight to the device in your hand.
The Codeman dashboard annotated: session tabs are tmux sessions, live 5-hour and weekly plan-usage chips, one click starts N agents and tabs
● the dashboard, annotated: tabs are tmux sessions, live 5h/7d plan usage, one click starts N agents & tabs
Codeman tab states, annotated and animated: a working tab with a spinning green ring, a red tab blocked on the agent's question shown below it, and a yellow tab whose turn is done and waiting for the next prompt, both alert tabs breathing
● tab states at a glance: green ring working, red needs a decision, yellow your turn
## new in 1.40: tiles

Six agents. One grid. All live.

Hit Tiles and up to six sessions sit side by side in one window. Every tile is a real terminal you can type into, and its header shows which agent runs there, the model it's on, and whether it's working or waiting on you. Claude Code next to Codex next to DeepSeek, all at once, no tab switching.

The Codeman tile grid: six live agent sessions side by side in a 3x2 grid (DeepSeek Harness, Claude Code and Pi on top, OpenCode, Codex and a shell below), each tile headed by its CLI logo, session name and model
● a real screenshot: six agent CLIs side by side, each tile a live terminal · desktop, 1180px and wider
Ctrl+Shift+G

Same as the Tiles button. Brings back the grid you had last, every tile where you left it.

right-click Tiles

Pick 2, 4 or 6 tiles. Your pick sticks on that device.

drag a header

Swap two tiles, or drop one on an empty slot. Ctrl+Shift+Arrows does the same from the keyboard.

⤢ zoom

One tile fills the grid, one more click and the grid is back. Files, git and voice follow the tile you're in.

Every key and every detail: the Tile Grid docs · without Codeman: running many Claude Code sessions at once

## agents that spawn agents

One prompt. A whole crew.

Install the codeman skill and the agent inside a session can drive Codeman itself. Ask it in plain English and it starts worker sessions, hands each one its task, waits for them and reports back. Workers can run different harnesses side by side, and lineage lines show who spawned whom.

● a real run: one short prompt, a DeepSeek Harness worker on qwen and a Claude Code worker power on as tiles

Install with codeman skill install, then just ask. The plugin route and every recipe: driving Codeman from an agent

## your files

Click a path. The file opens.

Your agents print the paths of what they made. Click one and the picture, the video or the report opens right in the page, Markdown rendered. Fix a line, hit Save, and the file on disk changes. No SSH, no editor, and it works the same on your phone.

● a real run: Claude Code made a chart, a video and a report · one click opens each, the report is edited and saved in place

Every file type, the edit rules and downloads: Working With Files

## watch

See it run.

Two short tours recorded on a live Codeman with real agents working: six sessions from one click, links that open files and videos in place, and answering an agent's question from the desktop or a phone.

● part 1 · your agents, on steroids · 50s, sound on
● part 2 · it follows you · 36s, sound on
## while you sleep

It keeps working when you leave.

Multi-layer idle detection (completion messages, output silence, token stability, an optional AI check) re-prompts a session that has genuinely stopped. Around 110k tokens Codeman triggers /compact, around 140k a full /clear plus re-init, and a circuit breaker trips on no-progress loops instead of burning tokens all night. Background: auto-continue after a usage limit and what lock, sleep and a closed lid do to Claude.

w1-myproject · overnight run
01:125-hour limit reached ∙ resets 3am
01:12[codeman] limit pause armed · resume 03:02 (+2min safety)
03:02[codeman] dialog dismissed · "continue" sent
03:02▶ agent working · branch ready before breakfast

Opt-in per session, because auto-consuming your quota the moment it resets should be a deliberate choice. A built-in overnight-autonomous preset tunes all of it for unattended runs.

## built for speed

Glance. Unblock. Queue. Done.

A tool you live in all day has to be keyboard-first. The speed that matters isn't benchmark speed; it's "check five agents, unblock two, queue one more, done in ninety seconds" speed.

Ctrl/Cmd+K

A session palette: fuzzy-type any session or case name and jump. Behind it, a manager of every session you've ever run: searchable by prompt, pinnable, resumable.

Alt+1-9 · Ctrl+Tab

Straight to any tab, cycle through them, and every shortcut is rebindable (Ctrl+? shows the map).

Run ×N

Pick a case, hit Run, the tab appears named and numbered. Need five agents on one repo? The tabs number themselves.

search

Cross-session search digs through session names, run events, and files the agents touched.

cron

Recurring work doesn't need you: scheduled jobs launch an agent with a prompt, in any of the supported CLIs.

away digest

One click answers "what happened while I was gone": which sessions need attention, finished, or are still running.

approvals

Every agent sitting on a permission prompt, in one queue. Answer it from the drawer, or straight from the push notification, without hunting for the tab.

web tabs

Your Grafana, your dev server, your dashboard: saved as a tab next to the agents, proxied through Codeman so it works from the phone too.

read my mind

Stuck on what to type next? It reads the session and your recent prompts and drafts the next one. Nothing sends itself.

## any screen

Your desk. Your couch. Same sessions.

One dense dashboard at the desk, and the exact same live sessions from the phone in your hand: QR login, push notifications when an agent needs you, and typing that feels local even over a tunnel. Every way to use Claude Code from a phone.

The Codeman desktop dashboard: session tabs across projects, a live terminal, plan-usage chips in the header
● the desktop dashboard: tabs, live plan-usage chips, one-click parallel launches
Codeman on a phone: session tabs, a live Claude Code terminal, and the keyboard accessory bar
~3,080commits in eight months
790+GitHub stars
28contributors
10CLI modes
0telemetry, accounts, cloud
## faq

Questions, answered.

Will Claude Code keep running if I close my laptop?

Not on the laptop itself: closing the lid puts it to sleep, and a sleeping computer suspends every process (locking the screen does not). Install Codeman on any machine that stays on: a Mac mini, a home server, a VPS. Every agent runs there in a persistent tmux session, so closing your laptop changes nothing. Open a browser later and you're back in the same live session, full scrollback included. What lock, sleep and a closed lid each do.

What happens when Claude Code hits a usage limit overnight?

Codeman reads the "limit reached, resets 8pm" message, parses the reset time, waits it out and continues the run automatically. It's opt-in per session, so consuming your quota the moment it resets is always a deliberate choice. Claude Code's own auto-continue, and when it does not fire.

Can I use Claude Code from my phone?

Yes. Scan a single-use QR code to log in, get a push notification when an agent needs you, and type with zero perceived lag thanks to a Mosh-inspired local echo overlay. It's a real mobile client, not a shrunken desktop. All the ways to use Claude Code from a phone.

Does Codeman support Codex, Gemini, Grok, DeepSeek and the other CLIs too?

Yes: Claude Code, OpenCode, Codex CLI, Antigravity CLI, Gemini CLI, Pi (pi.dev), Grok Build, DeepSeek Harness and OMP all run as first-class session types, side by side in the same tab row, plus plain shell sessions. Gemini is enterprise-only since Google's consumer cutover, and Antigravity (agy) is Google's current CLI, so Codeman runs both.

Can I run multiple Claude Code sessions at once?

Yes. Every session is its own tmux session and browser tab, tabs turn yellow or red when an agent needs you, and the tile grid shows up to six live terminals side by side. Give each session its own git worktree to avoid file collisions. Running many sessions without collisions.

Is there a web UI for Claude Code?

Anthropic offers claude.ai/code for cloud sessions and Remote Control for a local one. Codeman is the self-hosted option: it streams the real Claude Code terminal, and Codex, Gemini CLI and six more CLIs, from your machine to any browser. How it compares with other web UIs.

How does Codeman compare to Herdr?

Herdr is a strong terminal-first runtime that keeps agent processes alive on one machine. Codeman is web-first: the same persistent sessions, but streamed to any browser, with a real phone UI, tabs that blink when an agent needs you, push notifications, QR login and zero-lag typing over high-latency links. If you live in the terminal, Herdr fits great; if you want to reach your agents from anywhere, that is exactly what Codeman was built for. Nothing stops you from trying both. Codeman vs Herdr in detail, or every alternative.

Is it safe to expose Codeman to the network?

It binds to loopback only by default, so nothing is reachable until you decide how to expose it: set a password and reverse-proxy it, or point Tailscale at the loopback bind. DNS-rebinding protection, an Origin/CSRF guard and rate-limited auth are always on.

How much does Codeman cost?

Nothing. Codeman is MIT-licensed open source with no telemetry, no account and no cloud component; it runs entirely on your own hardware.

## get codeman

Your box. Your agents. One screen.

One command on any machine that stays on: a Mac mini in a closet, a Linux box, a VPS. The installer prompts before every system change and binds to loopback by default.

A dashboard that drives coding agents deserves paranoia about who can reach it. Defense in depth, always on:

loopback-only bind by default Host-header allowlist vs DNS rebinding Origin/CSRF guard rate-limited auth single-use QR login · 60s TTL agent permission modes: your call
codeman @ your-box
$ curl -fsSL https://getcodeman.com/install | bash

MIT licensed · built by Ark0N · runs entirely on your own hardwaredocs · guides · compare · changelog · llms.txt