What do I need to get started?
A GitHub account, an OpenAI or Anthropic API key, and a repository with a test command. Docker must be available on the server so repository commands run in an isolated sandbox.
Common questions about requirements, cost, supported languages, and troubleshooting.
New here? The step-by-step walkthrough lives in docs/getting-started.md, and the GitHub App
guide in docs/github-app-setup.md.
A GitHub account, an OpenAI or Anthropic API key, and a repository with a test command. Docker must be available on the server so repository commands run in an isolated sandbox.
No. The app only adds automatic triggering — when an issue is labeled, a run starts by itself. You can queue every run manually from the Runs page instead. See /github-app-setup.
You pay your LLM provider directly for tokens; PatchPilot adds no per-token markup. A typical run costs a few cents on a small model and up to a few tens of cents on a frontier model. Settings → Provider Keys shows current estimates, and every run records its own cost.
Python repositories are the best-supported path today: setup and test commands are detected automatically. Other languages work if you configure install and test commands in agent.yaml, since the agent edits files and runs your commands rather than parsing a specific language.
Yes. Grant the GitHub App (or your GitHub token) access to the private repositories you want covered. Code is cloned into a Docker sandbox with no outbound network during test execution and is removed when the run finishes.
No. PatchPilot only pushes a branch and opens a draft PR when the run is started with the open-PR option enabled. Otherwise it reports the patch and test results and changes nothing on GitHub.
Open the run's detail page: it lists every command with exit codes, the captured test output, the proposed patch, and the tool calls the agent made. Most failures are a missing dependency in the sandbox image or a test command that needs configuring for the repository.
Keys live in the server environment and are never written to the database — the dashboard stores only a masked hint. Logs are redacted before being persisted. See the Security page for the full model.
Still stuck? Open the Feedback page or check Docs and Security.