Overview
Warden is configured viawarden.toml in your repository root. The configuration controls:
- Which skills run and when
- Path filtering and ignore patterns
- Severity and confidence thresholds
- Output formatting and limits
- Model selection and concurrency
- Log retention and cleanup
Configuration Schema
Fromsrc/config/schema.ts:199-233:
Version
Required. Configuration format version:Future breaking changes will increment the version number.
Defaults Section
Global defaults inherited by all skills:Defaults Schema
Fromsrc/config/schema.ts:154-183:
Field Descriptions
failOn: SeverityThreshold
failOn: SeverityThreshold
Fail the build when findings meet this severityValues:
"high", "medium", "low", "off""high"- Fail only on high severity findings"medium"- Fail on medium or high severity"low"- Fail on any severity"off"- Never fail (always succeed)
reportOn: SeverityThreshold
reportOn: SeverityThreshold
Only report findings at or above this severityValues:
"high", "medium", "low", "off""high"- Show only high severity"medium"- Show medium and high"low"- Show all findings"off"- Show nothing (disable output)
maxFindings: number
maxFindings: number
Maximum number of findings to displayLimits output size for large reports. Findings are sorted by priority (severity, confidence, location).Default: Unlimited
reportOnSuccess: boolean
reportOnSuccess: boolean
Report even when there are no findingsUseful for confirming a skill ran successfully.Default:
falserequestChanges: boolean
requestChanges: boolean
Use GitHub REQUEST_CHANGES review eventWhen true and findings exceed
failOn, creates a REQUEST_CHANGES review instead of COMMENT.Default: falsefailCheck: boolean
failCheck: boolean
Fail the GitHub check run when findings exceed failOnWhen true, the check run shows as failed (red X) instead of neutral.Default:
falsemodel: string
model: string
Default Claude model for all skillsUses Claude SDK default if not specified.
maxTurns: number
maxTurns: number
Maximum agentic turns per hunk analysisLimits API round-trips to prevent runaway costs.Default:
50minConfidence: ConfidenceThreshold
minConfidence: ConfidenceThreshold
Minimum confidence level for findingsValues:
"high", "medium", "low", "off""high"- Show only high confidence"medium"- Show medium and high (recommended)"low"- Show all findings"off"- No filtering
"medium"ignorePaths: string[]
ignorePaths: string[]
Path patterns to exclude from all skillsUses glob syntax. Applied additively with skill-level
ignorePaths.defaultBranch: string
defaultBranch: string
Repository default branchAuto-detected from git if not specified.
batchDelayMs: number
batchDelayMs: number
Delay in milliseconds between batch startsAdds artificial delay when processing files in parallel. Useful for rate limiting.Default:
0auxiliaryMaxRetries: number
auxiliaryMaxRetries: number
Max retries for auxiliary Haiku callsApplies to extraction repair, semantic dedup, fix evaluation, etc.Default:
5Skills Section
Array of skill configurations:Skill Schema
Fromsrc/config/schema.ts:87-113:
Field Descriptions
name: string (required)
name: string (required)
Skill name to loadResolves to:
- Skill in conventional directories (
.agents/skills/{name}) - Direct path if contains
/or\ - Remote repository if
remoteis set
paths: string[]
paths: string[]
Path patterns to includeOnly analyze files matching at least one pattern. Uses glob syntax.Required for schedule triggers.
ignorePaths: string[]
ignorePaths: string[]
Path patterns to excludeSkip files matching any pattern. Applied additively with
defaults.ignorePaths.remote: string
remote: string
Remote repository referenceFormat:
owner/repo or owner/repo@ref where ref is a branch, tag, or SHA.Other skill fields
Other skill fields
Skills inherit all output configuration fields from
defaults:failOnreportOnmaxFindingsreportOnSuccessrequestChangesfailCheckmodelmaxTurnsminConfidence
Validation Rules
Fromsrc/config/schema.ts:207-232:
Triggers Section
Nested under[[skills.triggers]]:
Trigger Schema
Fromsrc/config/schema.ts:51-84:
Runner Section
Concurrency and execution settings:Runner Schema
Fromsrc/config/schema.ts:116-120:
concurrency: number
concurrency: number
Maximum concurrent file analysesControls parallelism across all skills. Higher values speed up analysis but increase memory usage.Default:
4Logs Section
Log file retention and cleanup:Logs Schema
Fromsrc/config/schema.ts:190-196:
cleanup: LogCleanupMode
cleanup: LogCleanupMode
How to handle expired log filesValues:
"ask", "auto", "never""ask"- Prompt in TTY, auto-delete otherwise (default)"auto"- Silently delete expired logs"never"- Keep all logs forever
retentionDays: number
retentionDays: number
Number of days to retain log filesLogs older than this are considered expired for cleanup.Default:
30Chunking Configuration
Advanced file processing options:Chunking Schema
Fromsrc/config/schema.ts:143-151:
File Pattern Schema
Fromsrc/config/schema.ts:123-129:
per-hunk- Analyze each hunk separately (default for diffs)whole-file- Analyze entire file as one chunkskip- Don’t analyze this file
Coalesce Schema
Fromsrc/config/schema.ts:132-140:
Configuration Precedence
Configuration is resolved in layers:
Precedence order: CLI > Env > Trigger > Skill > Defaults > Schema
Environment Variables
GitHub Action inputs map to environment variables:| Input | Environment Variable | Description |
|---|---|---|
anthropic-api-key | WARDEN_ANTHROPIC_API_KEY | Anthropic API key |
fail-on | WARDEN_FAIL_ON | Severity threshold for failure |
report-on | WARDEN_REPORT_ON | Minimum severity to report |
model | WARDEN_MODEL | Claude model to use |
max-turns | WARDEN_MAX_TURNS | Max agentic turns |
max-findings | WARDEN_MAX_FINDINGS | Max findings to show |
config-path | WARDEN_CONFIG_PATH | Path to warden.toml |
Complete Example
Validation
Configuration is validated on load with helpful error messages:Next Steps
Skills
Learn about skill structure and loading
Triggers
Understand trigger types and matching
Findings
Explore finding structure and filtering
CLI Reference
Browse command-line options