Skip to Content
Getting StartedPrerequisites

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-code

After 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 login

This 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 access
  • read_repository — clone and read code
  • write_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: true

See 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: true

See 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:

IntegrationWhat It DoesSetup
TelegramChat interface — send tasks, get notifications, approve mergesCreate bot via @BotFather , set TELEGRAM_BOT_TOKEN
SlackNotifications for task progress, completions, and failuresCreate Slack app, set SLACK_BOT_TOKEN
LinearPoll Linear issues instead of (or alongside) GitHub IssuesSet LINEAR_API_KEY
JiraPoll Jira issues for task intakeSet JIRA_API_TOKEN

See Integrations for detailed setup guides.


Checklist

Before proceeding to Installation:

  • Claude Code installed (claude --version outputs a version)
  • Claude Code authenticated (subscription login or API key set)
  • Git host token created and exported (GITHUB_TOKEN or GITLAB_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.