Pilot CLI

A CLI that takes tickets from GitHub, Linear or Jira, writes code through Claude Code and opens a pull request for your review

  • 727 ★ on the repository
  • Last commit
CLI

Broad access

Why this level

  • Writes and commits code, creates branches and pull requests in the repositories from the config, and in `dev` and `stage` modes merges them itself
  • Keeps GitHub, Telegram and other tracker tokens in `~/.pilot/config.yaml` and spends money on model API calls without a manual start
  • Takes tasks from external sources (issues, chat, webhooks), so task text steers the agent's actions
All reasons and checks
Needs a VPN

qf-studio/pilot

Install

Manual install

brew install qf-studio/pilot/pilot

A short form of `brew tap qf-studio/pilot` and `brew install pilot`. Claude Code 2.1.17 or newer is required.

Access and checks

How we review

Broad accessThe tool can change data, run commands or handle secrets.

  • Writes and commits code, creates branches and pull requests in the repositories from the config, and in `dev` and `stage` modes merges them itself
  • Keeps GitHub, Telegram and other tracker tokens in `~/.pilot/config.yaml` and spends money on model API calls without a manual start
  • Takes tasks from external sources (issues, chat, webhooks), so task text steers the agent's actions

This is third-party code. Review the repository files before installing.

What it does

Pilot runs Claude Code in the background on tasks from your tracker. You put a `pilot` label on a GitHub issue or message a Telegram bot, and Pilot marks the issue as claimed, creates a `pilot/GH-{number}` branch, plans a solution, writes code, runs tests, lint and build, and opens a pull request linked to the issue. `pilot init` creates the `~/.pilot/config.yaml` config, `pilot start --github` turns on issue polling, `pilot start --telegram` starts the bot, and `pilot task "Add user authentication"` queues a one-off task in the current project. Adapters exist for GitHub, GitLab, Azure DevOps, Linear, Jira, Asana and Slack. Pilot splits complex tasks into subtasks, self-reviews code before pushing and by default waits for the previous pull request to merge to avoid conflicts. The autopilot mode `--env` sets autonomy: `dev` skips CI and merges on its own, `stage` waits for CI and merges, `prod` waits for CI and human approval. A budget caps spending, and `pilot metrics` and `pilot usage` show tokens and cost. The default execution backend is Claude Code, with OpenCode as an option.

Who it is for. For small teams and solo developers whose backlog fills with small bugs, refactors and tests, and who are ready to review an agent's pull requests.

Good fit when

  • The backlog holds dozens of small tasks an agent can close from a ticket: bugs, tests, docs, dependency updates
  • You want to queue tasks from a phone through a Telegram bot and get a link to a finished pull request
  • You want the agent to edit only the projects listed in `~/.pilot/config.yaml`
  • You need spend control: budget limits, daily briefs and alerts about stuck tasks
  • You want to see the plan first: `pilot task ... --dry-run` shows it without changes

Not a fit when

  • The task needs large architectural changes or human judgment: Pilot is built for small backlog tasks
  • The code is security-critical: auto-merge in `dev` and `stage` modes passes a change without your review
  • You just want a quick helper in an editor rather than a task queue: Claude Code itself is enough

Example request

Install Pilot, connect the owner/repo repository and pick up issues labeled pilot in stage mode

Limitations

  • Claude Code 2.1.17 or newer and access to the Anthropic API (your own key, Bedrock or Vertex) are required.
  • The user pays for token usage. The author estimates a typical task at 0.5 to 2 dollars.
  • License is BSL 1.1: internal use, self-hosting and forking are allowed, a competing SaaS is not. After 4 years the code converts to Apache 2.0.
  • Building from source needs Go 1.22 or newer.
  • Task text from issues and chat goes into the agent prompt as is, so turn on polling only for repositories with trusted authors.

How to disable. Stop the daemon with `pilot stop`, remove the package with `brew uninstall pilot` (or delete the binary installed by `go install`) and the `~/.pilot` directory. Revoke the `pilot` label on issues and the GitHub and Telegram tokens you issued in those services.

FAQ

How does Pilot work with Claude Code?

Pilot drives a Claude Code process: it hands it the task from an issue, manages the branch and checks, and packages the result as a pull request. Set your own key in `ANTHROPIC_API_KEY`; for Bedrock and Vertex use `CLAUDE_CODE_USE_BEDROCK=1` and `CLAUDE_CODE_USE_VERTEX=1`.

How do I stop Pilot from merging code on its own?

Start it with `--env=prod`: in that mode it waits for CI and human approval. The `dev` mode skips CI and merges itself, and `stage` merges after CI. In addition, `wait_for_merge: true` in the config blocks the next task until the previous pull request is merged.

How do I install Pilot with Homebrew?

Run `brew tap qf-studio/pilot`, then `brew install pilot`. Alternatives: `go install github.com/qf-studio/pilot/cmd/pilot@latest` or building from source with `make build`. After installing run `pilot init`.

How do I limit Pilot's spending?

Set hard budget limits in the config. `pilot metrics summary` and `pilot usage summary` show spend by day and project, and cost threshold alerts are configured under `alerts`.

Can I use Pilot in a commercial project?

Inside a company, yes: the BSL 1.1 license allows internal use, self-hosting and modification. You cannot build a competing SaaS on it without a separate license. After 4 years the license changes to Apache 2.0.

Discussion

No questions or reviews yet.

CLI tools

An agent on your Claude or Codex subscription finds jobs, tailors resumes and applies, with every status shown on a web dashboard.

PluginBroad access109Repository stars

A CLI that loops Claude Code, Codex, OpenCode and other agents over a task list or PRD until everything is done

CLIBroad access3KRepository stars

Connects Claude Code, Cursor, Codex or OpenCode to Telegram, Slack and Discord: teammates message a bot, an agent replies

CLIBroad access322Repository stars

Orchestrator for Claude Code, Codex and Gemini CLI: YAML workflows that loop until your own quality gates pass

CLIBroad access332Repository stars

A Go server that runs Claude Code or Codex on your machine or Kubernetes and delivers the work as a pull request after review

CLIBroad access529Repository stars
Official

apra-fleet runs a fleet of AI agents across machines and models through MCP and drives multi-hour workflows

MCP serverBroad access106Repository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialRepository starsMain difference
Pilot (this card)no727
Claude Code Actionno9,809runs Claude Code inside GitHub Actions on a mention, while Pilot is a separate daemon with a queue and tracker adapters
Claude Squadno8,738manages several agent sessions in a terminal by hand, without reading tickets

README in short

The page shows the path from ticket to pull request, install options (Homebrew, Go, source, desktop app) and a three-command quick start. Feature tables, autopilot modes, Telegram integration, environment variables, a sample config, a command reference and the architecture follow. The last sections answer questions on safety, cost and license.

README badge

Report a problem

Foxx AIPilot
Foxx AI

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.