# Codeman > Codeman is a free, MIT-licensed, self-hosted web dashboard for AI coding agent CLIs. It runs Claude Code, Codex, OpenCode, Gemini CLI, Antigravity, Pi, Grok Build, DeepSeek Harness and OMP in persistent tmux sessions on your own machine and streams the real terminals to any browser, phone included. No accounts, no cloud component, no telemetry. Key facts: - Install: `curl -fsSL https://getcodeman.com/install | bash` or `npm install -g aicodeman` (the npm package is named aicodeman; the command is `codeman`). Requires Node.js 22+ and tmux. macOS and Linux; Windows through WSL. - Source: https://github.com/Ark0N/Codeman (MIT). Current version: 1.33.1. - Binds to 127.0.0.1 by default; remote access is meant to go through Tailscale, a tunnel, or a password. - Main features: session tabs that flag when an agent needs you, a phone UI with local-echo typing, automatic resume after a Claude usage-limit reset (opt-in per session), live subagent windows, cron jobs, per-project Docker containers, remote SSH sessions, an Approvals Inbox, and a Claude Code plugin/skill that lets one agent start and drive other sessions. ## Docs - [Agent CLIs](https://getcodeman.com/docs/agent-clis): Codeman drives ten run modes: nine agent CLIs plus a plain shell. This page covers picking one, setting it up, and the differences that actually change how yo - [Autonomous Loops](https://getcodeman.com/docs/autonomous-loops): Two features that go further than "keep the session going": the Ralph loop, which works a task list to completion in one session, and the Orchestrat - [Contributing](https://getcodeman.com/docs/contributing): The full guide lives in CONTRIBUTING.md. This page is the short orientation, plus how to fix a page in this wiki. - [Core Concepts](https://getcodeman.com/docs/core-concepts): The five ideas the rest of the manual assumes: cases, sessions, run modes, location overlays, and tmux. Plus what actually persists, and where it lives on dis - [Cron Jobs](https://getcodeman.com/docs/cron-jobs): Saved, named jobs that start a session and send it a prompt on a schedule. Cron for agent sessions: every weekday at 03:00, open a Claude session in ~/proj an - [Custom Model Endpoints](https://getcodeman.com/docs/custom-model-endpoints): Point a harness at your own OpenAI-compatible server instead of its native cloud backend, for one session at a time. "Custom endpoint" covers local - [Docker Cases](https://getcodeman.com/docs/docker-cases): Run a case inside its own container instead of directly on your host: for isolation, for a reproducible toolchain, and for the ability to pick the whole envir - [Driving Codeman From An Agent](https://getcodeman.com/docs/driving-codeman-from-an-agent): Everything the dashboard does is HTTP, so an agent can do it too. This page is for the case that makes Codeman interesting: Claude Code running inside a Codem - [FAQ](https://getcodeman.com/docs/faq): The questions that keep arriving in Discussions and issues. For "why is it doing that", go to Troubleshooting instead. - [HTTP API](https://getcodeman.com/docs/http-api): Codeman's HTTP and SSE API is a stable contract. Everything the dashboard does goes through it, so anything the dashboard can do, a script can do. - [Codeman documentation](https://getcodeman.com/docs/): Codeman runs your coding agents on your own machine and puts them behind one dashboard you can open from any device. It spawns Claude Code, OpenCode, Codex, A - [Hooks and Integrations](https://getcodeman.com/docs/hooks-and-integrations): Events flowing back into Codeman, and the four seams a third party can build against. - [Input and Voice](https://getcodeman.com/docs/input-and-voice): Getting words into an agent: typing, dictating, and letting Codeman guess. Plus the input machinery that only shows up when it goes wrong. - [Installation](https://getcodeman.com/docs/installation): Getting Codeman onto a machine, verifying it works, updating it, and removing it. - [Keeping Agents Running](https://getcodeman.com/docs/keeping-agents-running): Codeman exists for the hours you are not at the keyboard. This page covers how it notices an agent has stopped, what it does about it, and how to run a sessio - [Keyboard Shortcuts](https://getcodeman.com/docs/keyboard-shortcuts): Every binding, and how to change them. Ctrl also accepts Cmd on macOS. - [Mobile Guide](https://getcodeman.com/docs/mobile-guide): Codeman on a phone is not a shrunken desktop UI. It is the surface most of its design attention has gone into, because checking on an agent from a bus is the - [Multi-User Mode](https://getcodeman.com/docs/multi-user-mode): Share one Codeman with a small trusted team. Each person gets their own login and workspace, and sessions, cases, search, and live events are scoped to their - [Notifications and Approvals](https://getcodeman.com/docs/notifications-and-approvals): An agent that stops to ask a question, with nobody watching, is a run that quietly wasted an hour. This page covers every way Codeman tells you it needs you, - [Quick Start](https://getcodeman.com/docs/quick-start): From an installed Codeman to a working agent, in about five minutes. If you have not installed yet, start at Installation. - [Remote Access](https://getcodeman.com/docs/remote-access): Reaching your Codeman from a phone, a laptop on the other side of the house, or a hotel network. This is the page to read carefully, because Codeman's das - [Remote SSH Sessions](https://getcodeman.com/docs/remote-ssh-sessions): Point a case at another machine and the agent runs there, with the same dashboard, mobile UI, and autonomy features. Your laptop becomes a window onto a sessi - [Running As A Service](https://getcodeman.com/docs/running-as-a-service): Keeping Codeman up: past the shell you started it in, past a logout, past a reboot. Plus logs, updates, and running more than one instance. - [Security](https://getcodeman.com/docs/security): The honest version first: Codeman's dashboard is a remote code execution surface, by design. It starts agents with permission prompts skipped by default, - [Settings Reference](https://getcodeman.com/docs/settings-reference): Two settings surfaces, and the rule that explains why a setting you changed on your laptop did not follow you to your phone. - [The Dashboard](https://getcodeman.com/docs/the-dashboard): What the interface is telling you, and which parts of it are hidden until you turn them on. - [Troubleshooting](https://getcodeman.com/docs/troubleshooting): Symptom first. Find the line that matches what you are seeing. - [Versioning](https://getcodeman.com/docs/versioning): Codeman follows semantic versioning. This page says what the version number actually promises, which matters if you are building anything against Codeman. - [Watching Agents Work](https://getcodeman.com/docs/watching-agents-work): Modern agents fan out. A single Claude session can be running six subagents, and the parent terminal shows you almost none of it. Codeman surfaces that hidden - [Web Tabs](https://getcodeman.com/docs/web-tabs): Open any dashboard you run, Grafana, Uptime Kuma, Portainer, a status page on port 4000, as a tab beside your agent sessions. Codeman becomes one mission cont - [Working With Files](https://getcodeman.com/docs/working-with-files): Reading, editing, attaching, and previewing files without leaving the dashboard. Useful on a desktop; on a phone it is the difference between reviewing an age ## Guides - [Run Claude Code, Codex, Gemini CLI and other agents side by side](https://getcodeman.com/guides/claude-code-codex-gemini-side-by-side): Run several AI coding agent CLIs on one project without collisions: a worktree per agent, one shared AGENTS.md, tmux windows, and where the CLIs differ. - [Run Claude Code in a Docker sandbox, one container per project](https://getcodeman.com/guides/claude-code-docker-sandbox): Run Claude Code and other agent CLIs in one Docker container per project: a hardened docker run, where logins live, network limits, and common traps. - [Claude Code ignores Enter from tmux send-keys: causes and fix](https://getcodeman.com/guides/claude-code-enter-key-ignored-tmux): Why a prompt sent to Claude Code with tmux send-keys sits unsubmitted, how to confirm it by reading the pane, and a script that retries Enter safely. - [Use Claude Code from your phone without a laggy SSH app](https://getcodeman.com/guides/claude-code-from-your-phone): Run Claude Code from a phone with Remote Control, SSH plus tmux and mosh, or a browser terminal. Why phone SSH feels laggy, and what fixes the lag. - [Get notified when Claude Code finishes or needs your input](https://getcodeman.com/guides/claude-code-notification-when-done): Use Claude Code's Notification and Stop hooks to get a desktop alert or a phone push when a session finishes or waits on you, and when each one fires. - [Auto-continue Claude Code when your usage limit resets](https://getcodeman.com/guides/claude-code-usage-limit-auto-resume): Claude Code can wait out a usage limit and continue on its own. Why the wait sometimes does not happen, and how to schedule the continue yourself. - [Keep Claude Code running when your laptop sleeps or closes](https://getcodeman.com/guides/keep-claude-code-running-laptop-closed): A sleeping laptop runs nothing, Claude Code included. Keep a session working by preventing sleep, or run it in tmux on an always-on machine and reattach. - [Fix node-pty Error: posix_spawnp failed on macOS (spawn-helper)](https://getcodeman.com/guides/node-pty-posix-spawnp-failed-macos): node-pty throws posix_spawnp failed on macOS when its prebuilt spawn-helper lacks the executable bit. How to confirm it, fix it, and keep it fixed. - [Run many Claude Code sessions at once and know which needs you](https://getcodeman.com/guides/run-multiple-claude-code-sessions): Run parallel Claude Code sessions without file collisions and get a clear signal when one is waiting on you: worktrees, agent view, tmux bells, dashboards. ## Comparisons - [Codeman alternatives: tools for running AI coding agents](https://getcodeman.com/compare/alternatives): An honest map of tools that run or supervise coding agents: Herdr, Vibe Kanban, Happy, CloudCLI, Claude Squad and others, and when each beats Codeman. - [Codeman vs Claude Code UI (CloudCLI): chat UI or live terminal](https://getcodeman.com/compare/codeman-vs-claude-code-ui): CloudCLI, formerly Claude Code UI, is a chat-style web UI with a hosted option. Codeman streams real agent terminals from tmux. Where each one fits best. - [Codeman vs Claude Squad: web dashboard or terminal TUI](https://getcodeman.com/compare/codeman-vs-claude-squad): Claude Squad is a terminal app that puts each agent on its own git worktree. Codeman is a self-hosted web dashboard for agents in tmux. How to choose. - [Codeman vs Happy: self-hosted dashboard or native mobile app](https://getcodeman.com/compare/codeman-vs-happy): Happy puts Claude Code and Codex in native phone apps through an encrypted relay. Codeman is a self-hosted web dashboard for agent terminals in tmux. - [Codeman vs Herdr: browser dashboard or terminal agent runtime](https://getcodeman.com/compare/codeman-vs-herdr): Herdr is a terminal multiplexer built for coding agents, shipped as one Rust binary. Codeman is a self-hosted web dashboard for agents in tmux. How to choose. - [Codeman vs Vibe Kanban: live terminals or review workspaces](https://getcodeman.com/compare/codeman-vs-vibe-kanban): Vibe Kanban gives each agent a worktree, a chat, a diff to comment on and a PR button. Codeman streams agent terminals from tmux to any device. How to choose. ## Optional - [Changelog](https://getcodeman.com/changelog/): every release, newest first - [Full text of the docs, guides and comparisons](https://getcodeman.com/llms-full.txt) - [GitHub repository](https://github.com/Ark0N/Codeman)