CrewCtl CLI
A local Node.js orchestrator that runs Codex, Claude Code, Gemini and OpenCode as one team led by an operator agent
- 76 ★ on the repository
- Last commit
Broad access
Why this level
- Agents get write access to the working folder and run the commands from `verify.commands`
- Parallel tasks and foreign CLI sessions spend the limits of your subscriptions
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add cli/crewctlDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- Agents get write access to the working folder and run the commands from `verify.commands`
- Parallel tasks and foreign CLI sessions spend the limits of your subscriptions
This is third-party code. Review the repository files before installing.
What it does
CrewCtl coordinates CLI agents that are already installed and signed in: Codex CLI, Claude Code, Gemini CLI and OpenCode. One of them takes the operator role, analyzes the goal, plans, delegates pieces to specialist agents, reviews the result and starts another round when needed. Specialists run as separate processes per delegation. CrewCtl has no service and no API key of its own: it works through your sessions and keeps data locally. A web panel shows progress: an event feed, a live diff, a kanban board with Pending, Running, Done and Failed columns, and a schedule for recurring tasks. Before agents start, CrewCtl takes a checkpoint of the working folder, and a "back to this version" action rolls changes back. With `worktree.mode: task` every task gets its own git worktree and a `crewctl/task-<id>` branch, and nothing is pushed to a remote. The `verify.commands` setting lists `npm test`, `npx tsc --noEmit` and similar commands: CrewCtl runs them at the end of every round and does not close the task while the check is red. The `crewctl mcp` command turns the orchestrator itself into an MCP server so another agent can delegate tasks to it.
Who it is for. Developers who already run several CLI agents and want to hand out tasks from one panel with planning, verification and rollback.
Good fit when
- A large task splits into planning, implementation and review, and each part goes to a fitting agent
- Tests and type checks should block closing a task while they are red
- Tasks run in parallel and each needs its own branch and git worktree
- Periodic work, such as a nightly audit, goes into the schedule from the panel
- Claude Code hands the orchestrator a task through MCP and reads its status
Not a fit when
- You need one agent and one request: the orchestrator adds a layer
- No CLI agent is installed and signed in
- The task needs unattended autonomy: the schedule does not start the engine until you press Start
Example request
Split the task "add pagination to the orders list" between a planner, an executor and a reviewer, and run `npm test` after every round.Limitations
It needs Node.js 18 or newer and at least one installed CLI agent with an active session. Documentation is in Turkish and English. Checkpoint rollback works only while the engine is idle, and the author advises keeping regular git for important work. Uncommitted edits do not reach the isolated worktree, and `node_modules` dependencies are carried over with `linkPaths` or `setupCommands`. The MCP server may start the engine only if `mcpServer.allowEngineControl` is enabled, and it is off by default. The agents get write access to the working folder.
How to disable. Stop the panel, remove the global package with `npm uninstall -g @omerrgocmen/crewctl` and delete the `crewctl` block from your agent MCP config. Task data lives locally in the project folder.
FAQ
Does it need a separate API key?
No. CrewCtl runs the installed CLI agents through your existing sessions and asks for no key of its own.
How do I connect CrewCtl to Claude Code as an MCP server?
Add the block `{"mcpServers":{"crewctl":{"command":"npx","args":["-y","@omerrgocmen/crewctl","mcp"]}}}` to the config and open the panel, since the tools work through it.
Can agent changes be rolled back?
Yes. A checkpoint is taken before the run, and the "back to this version" action restores files. Rollback is possible while the engine is idle.
Does CrewCtl push code to a remote?
No. In worktree mode the result stays a commit on the `crewctl/task-<id>` branch, and the push and pull request decision is yours.
Which execution modes exist?
Auto, Fast, Balanced and Deep. A README example: `npm run cli -- task "..." --mode balanced`.
Discussion
No questions or reviews yet.
Related
CLI toolsA desktop app where Claude Code, Codex, Gemini and other agents work as a team of specialists in a shared project
A bridge between local CLI agents: Codex, Cursor or Claude Code delegate work to Antigravity, Grok, Kimi and seven more.
PromptOps keeps Claude Code, Codex and Gemini CLI side by side by project and gives a lead agent MCP to launch helpers
One runtime for Claude Code, Codex, OpenCode and more: a run counts as done only when checks the agent did not write pass
An orchestrator that hands a coding task to CLI workers in separate Git worktrees, reviews and merges the result.
A tmux-based TUI that runs Claude Code, Codex and other agents in one list: status, quick prompts, worktrees and diff review
README in short
Covers the operator and specialists, the panel with an event feed and live diff, checkpoints and worktrees, verify commands, MCP in both directions, the schedule and running through npx.