Prerequisites
Before installing Pilot, you need two things: Claude Code for AI execution and a Git hosting account for issue tracking and PRs.
Claude Code (Default)
Pilot uses Claude Code as its default execution engine. Claude Code is Anthropic’s CLI tool for AI-powered development — Pilot orchestrates it as a subprocess.
npm install -g @anthropic-ai/claude-codeAfter installing, authenticate Claude Code using one of two methods:
Claude Subscription
If you have a Claude Pro ($20/mo) or Claude Max ($100–200/mo) subscription, Claude Code authenticates through your subscription. No API key needed.
# Log in with your Claude account
claude loginThis is the simplest setup — your subscription covers all Claude Code usage. Pilot invokes Claude Code as a subprocess and inherits your authentication automatically.
Claude Max plans include higher rate limits and longer context windows, which benefit complex tasks. Pro works fine for most use cases.
Anthropic API Key
For pay-per-use pricing or enterprise deployments, set the ANTHROPIC_API_KEY environment variable. Claude Code picks it up automatically.
export ANTHROPIC_API_KEY="your-anthropic-api-key"Get an API key from console.anthropic.com . Pricing is per-token (input + output) with no monthly commitment.
Pilot also uses ANTHROPIC_API_KEY directly for two optional internal features: the LLM intent classifier (Haiku) for smarter Telegram message routing, and structured subtask parsing for epic decomposition. These features gracefully degrade to simpler alternatives when no API key is set.
Git Hosting
Pilot needs access to a Git repository to poll issues and create pull requests. Both GitHub and GitLab are supported as first-class platforms.
GitHub
Create a Personal Access Token (classic) at github.com/settings/tokens with these scopes:
repo— full repository access (issues, PRs, code)workflow— trigger GitHub Actions (if using CI)
export GITHUB_TOKEN="your-github-pat"Fine-grained tokens work too, but require explicit permissions for each repository. Classic tokens are simpler for getting started.
GitLab
Create a Personal Access Token at Settings → Access Tokens with these scopes:
api— full API accessread_repository— clone and read codewrite_repository— push branches and create MRs
export GITLAB_TOKEN="your-gitlab-pat"For self-hosted GitLab, use a Project Access Token instead for better security isolation. Configure the instance URL in config.yaml:
adapters:
gitlab:
base_url: "https://gitlab.yourcompany.com"Optional Execution Backends
Pilot supports multiple AI coding backends. Claude Code is recommended and enabled by default. The following backends are optional alternatives:
Qwen Code
If you want to use Alibaba’s Qwen models instead of Claude, install Qwen Code v0.1.0 or later:
# Install Qwen Code
npm install -g qwen-code
# Verify version (must be 0.1.0+)
qwen --version
# Configure Pilot to use Qwen Code
# In ~/.pilot/config.yaml:
executor:
type: qwen-code
qwen_code:
command: "qwen"
use_session_resume: trueSee Execution Backends for detailed configuration and feature comparison.
OpenCode
If you want to use OpenCode (community-driven backend), install the CLI:
# Install OpenCode
npm install -g opencode
# Start the server (can also be auto-started by Pilot)
opencode serve
# Configure Pilot to use OpenCode
# In ~/.pilot/config.yaml:
executor:
type: opencode
opencode:
server_url: "http://127.0.0.1:4096"
model: "anthropic/claude-sonnet-4-6"
provider: "anthropic"
auto_start_server: trueSee Execution Backends for detailed configuration and feature comparison.
Recommended: Start with Claude Code (default). Other backends are optional and suitable for specific use cases (Qwen model preference, self-hosted server requirements, etc.).
Optional Integrations
These are not required to get started but extend Pilot’s capabilities:
| Integration | What It Does | Setup |
|---|---|---|
| Telegram | Chat interface — send tasks, get notifications, approve merges | Create bot via @BotFather , set TELEGRAM_BOT_TOKEN |
| Slack | Notifications for task progress, completions, and failures | Create Slack app, set SLACK_BOT_TOKEN |
| Linear | Poll Linear issues instead of (or alongside) GitHub Issues | Set LINEAR_API_KEY |
| Jira | Poll Jira issues for task intake | Set JIRA_API_TOKEN |
See Integrations for detailed setup guides.
Checklist
Before proceeding to Installation:
- Claude Code installed (
claude --versionoutputs a version) - Claude Code authenticated (subscription login or API key set)
- Git host token created and exported (
GITHUB_TOKENorGITLAB_TOKEN) - Repository exists with at least one commit
Run pilot doctor after installation to verify all prerequisites are met. It checks for Claude Code, Git, token configuration, and optional dependencies.