Harness Everything Routing Orchestrator
Drive the coding sessions on your machine, from any browser
HERO is a web dashboard over the Claude Code and Codex sessions already running on your machine. List them, send a message and watch the reply stream in, approve or deny a tool-permission prompt — from your phone if you like.
It is a thin wrapper over the official CLIs, not another agent: the CLIs do the work, HERO adds the interface, remote access, and session management.
What it's for
Start something long, then walk away
Kick off a big refactor or a full test run and leave the keyboard. Watch it stream on your phone, send a follow-up, approve a permission prompt if one comes up.
One dashboard across projects and both CLIs
Several projects, and Claude Code and Codex side by side, in one place — instead of hunting through `claude --resume` or `codex resume`.
Route work from one main chat
Quick slash commands by default; turn on the optional LLM agent and use plain language: "run the tests in the auth session and tell me what fails".
A terminal inside a session
Open one tmux shell per session, starting in that session's working directory.
Two ways to run it, with different boundaries
The data boundary is not the same for both. We'd rather write that down than paper over it.
Self-hosted
Runs on your own machine
The core dashboard has no HERO account, no cloud, and no relay. Sessions, transcripts, and CLI processes stay on your machine. To reach it from another device, run your own tunnel on that same machine (Tailscale or Cloudflare Tunnel) — HERO keeps listening on 127.0.0.1.
Except for services you explicitly connect: the optional LLM agent, Telegram / Lark, Web Push, or a tunnel each send the data that feature needs to its provider.
Hosted control plane
A dedicated instance we operate
We provision a separate control-plane instance per customer, with its own subdomain and HTTPS certificate. The isolation boundary is the instance — not a tenant ID column in a shared database. Your nodes dial out to it from your own machines.
We operate and maintain that control plane, so session metadata and transcripts that pass through it live on an instance we run. Teams for whom that is the wrong trade-off should self-host.
How it works
- 01
Discovery is read-only
HERO watches ~/.claude/projects/ and ~/.codex/sessions/ and lists every session — including ones you started in a terminal or IDE — tagged with the CLI that produced it. It never takes ownership.
- 02
It drives the official CLIs
Sending uses a long-running `claude -p` stream-json process per active session, and one `codex app-server` worker per live root Codex session. Session logs remain the content source.
- 03
Permissions ride the native channels
Prompts flow through Claude's `can_use_tool` callback and Codex app-server approval requests. A request blocks until you decide in the UI.
Run it yourself first
Self-hosting is free and works the moment it's installed. Come back for a hosted plan when you need several machines, several people, and one dashboard over all of it.