by iishyfishyy
Run many Claude Code (or Codex) sessions in parallel — across every project — from one screen. Local-first, git-worktree-isolated tasks, no API key.
# Add to your Claude Code skills
git clone https://github.com/iishyfishyy/operator-ossoperator-oss is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by iishyfishyy. Run many Claude Code (or Codex) sessions in parallel — across every project — from one screen. Local-first, git-worktree-isolated tasks, no API key. It has 57 GitHub stars.
operator-oss's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/iishyfishyy/operator-oss" and add it to your Claude Code skills directory (see the Installation section above).
operator-oss is primarily written in TypeScript. It is open-source under iishyfishyy on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh operator-oss against similar tools.
No comments yet. Be the first to share your thoughts!
Unlocks once the catalog security scan passes (runs nightly).
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
Each project carries reusable context. Each task is its own agent session — Claude Code or Codex — in its own git worktree. Drive ten at once, see exactly which one needs you, review every diff before it merges. Runs on your Max/Pro login — no API key, no per-token billing.

/clear hands a summary to a fresh context window; the task lives on.Watch the session stream — tool calls, edits, questions:

Review the diff next to the chat, then merge (or open a PR):

A real terminal, right in the workspace:

| Agent | Status |
|---|---|
| Claude Code | Fully supported — the reference driver; every feature lands here first. |
| OpenAI Codex | Fully supported — parallel tasks, diff review/merge, /clear lineage, interactive questions (via the orchestrator's ask_user bridge), and cost tracking. Two caveats from the upstream CLI being non-interactive: dollar figures are estimated from token counts × published API prices (ChatGPT-plan auth reports tokens only — shown with a ~), and there are no mid-turn command approval prompts, so the permission modes offered are Auto-run and Plan. Issues welcome. |
Want another agent? The driver seam is small — see adding a new agent.
Open Insights from the top bar for a local analytics dashboard of what your agents cost and ship: per-day spend and token usage (including cache reads/writes), tasks shipped, and lines merged to base — sliceable by project and agent across 7/30/90-day ranges, with deltas against the prior period. Everything is computed from the local SQLite database in a single fetch, filter changes recompute instantly in the browser, and nothing is sent anywhere. Claude spend is the SDK-reported dollar figure; Codex spend is estimated from token counts at published API prices and marked with a ~.
Give a project dev / setup / test commands in its context editor (⚙) and the
Services drawer runs them as supervised processes owned by the server — not by an
agent turn or a browser tab — so npm run dev keeps serving after the turn ends and the
tab closes, with live logs on reconnect. Agents can also register servers they started
via the expose_service tool.
ORCH_SERVICE_PORT_BASE + slot), injected as PORT
into its services and PTY shell.kill -9, OOM), the next boot reaps the orphaned
process group before respawning, so restarts never fight zombies for ports; a clean
shutdown kills its service processes on the way out.ORCH_SERVICE_LOG_LINES, default 1500 lines).GET /api/instance/idle reports
runningServices informationally): stopping the instance is safe because services
restart on boot at the same URL.Public URLs are a separate opt-in. Set ORCH_SERVICE_HOSTS=1 (plus
PUBLIC_BASE_URL and wildcard DNS/TLS) and each service gets a stable hostname
<slug>--<your-host> with per-service visibility — private (your session only),
shared (tokened link), or public. Enabling the services feature alone exposes
nothing. Frameworks with host checks see the hostname as ORCH_PUBLIC_HOST in the
service's env: Vite → server.allowedHosts: [process.env.ORCH_PUBLIC_HOST], Next dev →
allowedDevOrigins: [process.env.ORCH_PUBLIC_HOST]; CRA/webpack-dev-server is
pre-cleared via env.
Managed services are on by default; ORCH_FEATURE_SERVICES=0 turns the whole feature off.
npm install
npm run dev
# open http://localhost:3000
You need Node 18.18+, macOS or Linux, and at least one agent CLI: Claude Code
(npm i -g @anthropic-ai/claude-code, Pro/Max plan — recommended) or Codex
(npm i -g @openai/codex, ChatGPT plan). First run opens a setup wizard that signs the
agent in from the browser — connecting either one completes setup (it becomes the app
default and the tutorial runs on it) — then drops you into a 2-minute hands-on tutorial.
Keep ANTHROPIC_API_KEY / OPENAI_API_KEY unset so it uses your subscription, not the API.
Every setting is an env var with a sane default — see .env.example.
One hardened Docker container, built to sit behind an authenticated tunnel:
docker build -t agent-orchestrator .
ORCH_USER=alice ORCH_PORT=10001 docker compose -p orch-alice up -d
The port binds to loopback only — the app hands out a full shell, so put auth in front and never expose it raw. Tunnels, Cloudflare Access, idle sleep, and every config knob: docs/SELF_HOSTING.md.
Don't want to run a server? getoperator.dev is your own always-on instance — works from your phone, zero setup. Same codebase plus a closed-source control plane.