Review agents
An agent reads every new commit of every pull request, your team's included, and says what it found on the lines it's about. On an fctl agent's pull request, the findings go back to it, and it fixes them.
Read a review
fctl is an open source software factory. Agents work in sandboxes on your
own Mac, around the clock, on your Claude subscription. Start them from the web, your terminal or your
phone, and follow every session live.
curl -fsSL https://fctl.sh/install | sh
Claude CodeCloudflare WorkersApple containerFirecrackerDockerGitHubLinear
One command registers it and starts it as a service. Each session gets a Linux sandbox of its own — a lightweight VM with Apple's container runtime on a Mac, a Firecracker microVM or a Docker container on Linux — with a fresh clone, its own branch and your project's setup script.
$ fctl host install
Sign in once with your Pro or Max plan. fctl refuses API keys, checks every session's billing source, and pauses a session before it would draw on paid extra usage. Rate limits pause and resume on their own.
One agent in a terminal is a tool. These are the parts that make many of them a factory you can leave running: reviews on every commit, tickets handed over, work that starts on its own, and the machines it all runs on.
An agent reads every new commit of every pull request, your team's included, and says what it found on the lines it's about. On an fctl agent's pull request, the findings go back to it, and it fixes them.
Read a reviewOne command turns a Mac or a Linux box into a runner. Every session gets a fresh sandbox of its own there, in Apple's container runtime, a Firecracker microVM or Docker.
Runners SandboxesDelegate a ticket to fctl the way you would to a teammate. It moves to In Progress, the agent answers in its thread, and the pull request comes back linked.
Hand one overA workspace for each team and a project for each repository, with roles, limits on what agents may do on GitHub, and the Claude plan each person's work runs on.
Set one upDependency updates every week, benchmarks every night: work that starts on its own, each run a session you follow like any other.
Set a schedule
Sessions join Claude's Remote Control, so they show up in Claude on your phone and desktop, where you can read along and reply.
Share projects and sessions. Everyone sees the same live transcript, who else is watching, and anyone with access can steer the agent.
fctl attach streams any session into your terminal, token by token. send,
interrupt and stop steer it from scripts and CI.
All of fctl is on GitHub, MIT licensed. Use the managed control plane at app.fctl.sh, or deploy your own with one command, on Cloudflare or in one container anywhere. Agents run on your hardware either way.
A Rust core end to end. Agents journal every event before it leaves the sandbox, links reconnect and replay, hosts pick running sessions back up after a restart, and agents leave notes for the agents after them.
Hosts keep their machine from sleeping, idle sessions wind down on their own, a queue holds work until a runner is free, and access tokens let your other tools start work as you.
You talk to the control plane. Your machines dial out to it and run each session in a sandbox of its own, so nothing on your network listens for anyone.
Every session lives in a Durable Object that keeps its event log and fans it out to everyone watching. Read the architecture
curl -fsSL https://fctl.sh/install | sh
fctl-reviewBotjust now
A break it can't reach makes
insert_breakloop foreverMedium severity. When the break's window ends before the shift starts, the loop never ends, and neither does
solve. Stop at the window's end and returnInfeasible.Found by fctl review in
9c2e1f4.