Sign in
Open the console and choose Continue with GitHub. Signing in creates your account on the spot, no invitation to wait for. No install, no password; GitHub just confirms who you are.

Connect GitHub & Claude
Open Connections. Each connection is verified live before it saves.
claude setup-token, paste the sk-ant-oat01-… value, Test, then Verify & save. Stored encrypted; it never enters a sandbox.
Model lanes: Claude & Codex
A lane is the engine quellbot uses to think. Claude (Anthropic) is the default; Codex (OpenAI) is a full peer, so reviews, CI triage, and mention replies can run on either. You bring your own account for whichever you pick, and each lane's spend stays on that account.
codex login and paste the access token. Hit Test connection to verify it live, then Verify & save. Stored encrypted; it never enters a sandbox.
Set up your Fly.io runner · required
Fixes run in your own ephemeral Fly Machines. Setup is one value: an org API token. quellbot creates the sandbox app and pulls a public image for you: nothing to build, no app to create.
fly tokens create org. It must be org-scoped.Model & repositories
In Repositories, set the default model (fetched live from Anthropic, so new models appear on their own) and override the model, per-run budget, or trigger words for any single repo. Blank fields inherit your account defaults.

Triggers
Under Triggers, toggle and rename what starts a fix: an opening slug (fix:), a label (fix-me), or a comment command (/fix). These are your account defaults; a repository can override them.

Run a fix
Open an issue whose title starts with fix: on an installed repo. quellbot reproduces the bug, makes the smallest change that fixes the root cause, runs your tests, policy-gates the diff, and opens a pull request, usually within a minute. It opens the PR and stops, never merging and never touching your default branch or .github/. Follow it live on the Run page: pipeline, cost, policy verdict, changed files.

Your dashboard
The Overview shows runs, PRs opened, success rate, and spend for the month, plus a live activity feed across your installed repos, all scoped to your account. You only ever see your own runs and budgets.

Budgets & alerts
Set a monthly cap and a per-run cap on the Usage page. quellbot refuses to start a run once your account is over its monthly cap, and the model gateway enforces the per-run cap with an atomic debit, so a runaway fix can never overspend. A per-repo budget overrides the per-run cap for that repo.
When something needs you, quellbot raises an alert (on the Alerts page, with an unread badge) and, for the two that are actionable, sends one throttled email: your Claude token stopped working, or your monthly cap was reached. Rate limits and per-run stops are recorded as alerts too, and every stopped run posts a comment saying exactly why and how to fix it.
Automatic code reviews
quellbot reviews every new pull request, not just its own, on your chosen lane (Claude or Codex). It reads the diff with your repo's own CLAUDE.md conventions in mind and posts a structured review: correctness, security, conventions, and tests. The write-up leads with a verdict (Approve / Request changes / Comment), a per-file walkthrough table, and findings grouped by severity so a busy PR never becomes a wall of text. Toggle it and the size threshold on the Triggers page.
suggestion block you can apply straight from the diff.review.verdicts: false in .github/quellbot.yml to keep every review a plain comment./review to re-run on demand, /explain for a cold-reader walkthrough, or mention @quellbot to discuss a thread. Tune it in .github/quellbot.yml (review.profile, review.instructions, review.ignore). When you publish a release, quellbot also drafts categorized release notes from the commits since the previous tag.Summary. One blocker to fix before merge, plus a convention nit. The core change is covered by a test.
auth.ts:88 dereferences session.user before the null check on line 90, so an expired session throws instead of redirecting. A committable fix is attached inline.utils/date.ts:42 calls new Date() directly; elsewhere this repo reads the clock through clock.now() so it can be faked in tests.CI failure triage
When a GitHub Actions run fails, quellbot reads the failed job, step, and the tail of its log, then posts a short triage: what failed, the likely root cause, and a concrete next step. If the run belongs to an open PR it comments on the PR (CI); if it is a merge commit on your default branch with no open PR it comments on the commit and treats it as a deploy (CD) failure. Toggle it on the Triggers page.