Configuration
Pipeline settings reference
Complete reference for every pipeline configuration option and its default value.
Updated March 3, 2026
Zapat's configuration is organized in two levels: org-level (applies to all repos) and repo-level (overrides org-level for a specific repo). Set configuration from the dashboard under Settings > Configuration, or via the API.
Concurrency
- maxConcurrentWork (plan-based: Starter 2, Pro 5, Team 10) — Maximum number of implementation/review/rework/test jobs running simultaneously across all repos.
- maxConcurrentTriage (plan-based: Starter 2, Pro 5, Team 10) — Maximum triage jobs running simultaneously. Triage is fast, so this can usually be set high.
- maxDispatchPerCycle (default: 20, max: 100) — Maximum jobs dispatched per maintenance cycle (every 5 minutes).
Cycle limits
- maxReworkCycles (default: 3, max: 10) — Maximum number of rework cycles for a single PR before the pipeline stops and waits for human intervention.
- maxCiFixAttempts (default: 2, max: 5) — Maximum number of CI fix attempts per PR.
Timeouts
- timeoutImplement (default: 1800s / 30 min) — Maximum run time for an implementation job.
- timeoutPrReview (default: 600s / 10 min) — Maximum run time for a review job.
- timeoutIssueTriage (default: 1800s / 30 min) — Maximum run time for a triage job.
- timeoutTestPr (default: 1200s / 20 min) — Maximum run time for a test job.
- timeoutResearch (default: 1800s / 30 min) — Maximum run time for a research job.
- timeoutWriteTests (default: 1800s / 30 min) — Maximum run time for a write-tests job.
- timeoutVisualVerify (default: 600s / 10 min) — Maximum run time for a visual verification job.
Maintenance
- staleRunningMinutes (default: 45, range: 5–120) — How long a job can be in "running" state before the maintenance sweep marks it as failed.
- rateLimitRetryMinutes (default: 60, range: 5–1440) — How long to wait before retrying a job that was deferred due to API rate limits.
Features
- autoTriageNewIssues (default: false) — When enabled, Zapat triages every new issue opened in the connected repo, not just labeled ones.
- zapatMentionEnabled (default: true) — When enabled, @zapat mentions in comments trigger jobs. Disable to use only label-based triggers.
- ciAutofixEnabled (default: true) — When enabled, CI failures on Zapat PRs automatically dispatch a ci-fix job.
- autoRebaseEnabled (default: true) — When enabled, Zapat automatically rebases PRs that fall behind the base branch.
- visualVerifyEnabled (default: false) — When enabled, visual verification runs after implementation for frontend changes.
AI model selection
- claudeModel — Primary model for implementation, review, and rework jobs. Defaults to the most capable model available.
- claudeSubagentModel — Model used for subagents (reviewers, analysts). Defaults to the primary model.
- claudeUtilityModel — Model used for utility tasks like routing and classification. Defaults to the primary model.
- maxDiffChars (default: 40000, range: 1000–200000) — Maximum characters of diff sent to the AI. Increase for very large PRs.
Was this article helpful?