Configuration¶
Claudio is highly configurable through YAML config files and environment variables.
Config File Locations¶
Claudio searches for configuration in this order:
- Path specified via
--configflag ~/.config/claudio/config.yaml(recommended)./config.yaml(current directory)
Creating a Config File¶
Interactive Setup¶
This creates a config file with all options and comments explaining each one.
Manual Setup¶
Create ~/.config/claudio/config.yaml:
# Claudio Configuration
completion:
default_action: prompt
tui:
auto_focus_on_input: true
max_output_lines: 1000
branch:
prefix: claudio
include_id: true
pr:
draft: false
auto_rebase: true
use_ai: true
Configuration Commands¶
# View current configuration
claudio config
# Show configuration interactively
claudio config show
# Set a value
claudio config set <key> <value>
# Edit config file in $EDITOR
claudio config edit
# Reset to defaults
claudio config reset
All Configuration Options¶
Completion Settings¶
What happens when an instance finishes its task.
completion:
# Action when instance completes
# Options: prompt, keep_branch, merge_staging, merge_main, auto_pr
default_action: prompt
| Action | Description |
|---|---|
prompt | Ask what to do (default) |
keep_branch | Keep the branch, don't merge |
merge_staging | Auto-merge to staging branch |
merge_main | Auto-merge to main branch |
auto_pr | Automatically create a PR |
TUI Settings¶
Control the terminal UI behavior.
tui:
# Auto-focus new instances for input
auto_focus_on_input: true
# Maximum output lines to display (default: 1000)
max_output_lines: 1000
Instance Settings¶
Control instance process behavior.
instance:
# Output buffer size in bytes (default: 100KB)
output_buffer_size: 100000
# How often to capture output from tmux (milliseconds)
capture_interval_ms: 100
# tmux pane dimensions
tmux_width: 200
tmux_height: 50
# Timeout settings (in minutes)
activity_timeout_minutes: 30 # Mark stale after this duration of no output
completion_timeout_minutes: 60 # Max wait for completion detection
Timeout Notes: - activity_timeout_minutes: Helps detect instances that are stuck or unresponsive - completion_timeout_minutes: How long to wait for the .claudio-task-complete.json sentinel file
Branch Settings¶
Control how branches are named.
branch:
# Prefix for branch names
# Examples: "claudio", "feature", "username"
prefix: claudio
# Include instance ID in branch name
# true: claudio/abc123-fix-bug
# false: claudio/fix-bug
include_id: true
PR Settings¶
Control pull request creation.
pr:
# Create PRs as drafts
draft: false
# Rebase on main before creating PR
auto_rebase: true
# Use the configured backend to generate PR title and description
use_ai: true
# Auto-create PR when stopping instance with 'x'
auto_pr_on_stop: false
# Custom PR body template (Go text/template syntax)
template: |
## Summary
{{.Summary}}
## Changes
{{.Changes}}
## Testing
{{.Testing}}
# Default labels for all PRs
labels:
- automated
- needs-review
# Reviewer assignment
reviewers:
# Always assign these reviewers
default:
- teammate1
- teammate2
# Assign reviewers based on files changed
by_path:
"src/api/**": [api-team]
"src/frontend/**": [frontend-team]
"*.md": [docs-team]
Cleanup Settings¶
Control cleanup behavior.
cleanup:
# Warn on startup if stale resources exist
warn_on_stale: true
# Keep branches that exist on remote
keep_remote_branches: true
Resource Settings¶
Control cost tracking and limits.
resources:
# Warn when session cost exceeds this (USD)
cost_warning_threshold: 5.00
# Pause all instances when cost exceeds this (0 = no limit)
cost_limit: 0
# Token limit per instance (0 = no limit)
token_limit_per_instance: 0
# Show metrics in TUI sidebar
show_metrics_in_sidebar: true
Environment Variables¶
All config options can be set via environment variables:
- Prefix:
CLAUDIO_ - Nested keys: Use
_instead of.
Examples¶
# Set completion action
export CLAUDIO_COMPLETION_DEFAULT_ACTION=auto_pr
# Set branch prefix
export CLAUDIO_BRANCH_PREFIX=Iron-Ham
export CLAUDIO_BRANCH_INCLUDE_ID=false
# Set cost limit
export CLAUDIO_RESOURCES_COST_LIMIT=10.00
# Disable metrics in sidebar
export CLAUDIO_RESOURCES_SHOW_METRICS_IN_SIDEBAR=false
# Set TUI options
export CLAUDIO_TUI_MAX_OUTPUT_LINES=2000
export CLAUDIO_TUI_AUTO_FOCUS_ON_INPUT=false
Priority¶
Environment variables override config file values.
PR Templates¶
Use Go's text/template syntax for custom PR bodies.
Available Variables¶
| Variable | Description |
|---|---|
{{.Summary}} | AI-generated summary |
{{.Changes}} | List of changed files |
{{.Testing}} | AI-generated test plan |
{{.Branch}} | Branch name |
{{.Task}} | Original task description |
Example Template¶
pr:
template: |
## What
{{.Summary}}
## Why
Task: {{.Task}}
## Changes
{{.Changes}}
## How to Test
{{.Testing}}
## Checklist
- [ ] Tests pass
- [ ] Documentation updated
- [ ] Ready for review
Path-Based Reviewers¶
Assign reviewers based on which files are changed.
Glob Patterns¶
pr:
reviewers:
by_path:
# Match all files in a directory
"src/api/**": [api-team]
# Match specific extensions
"*.ts": [typescript-team]
"*.md": [docs-team]
# Match specific files
"package.json": [deps-team]
"Dockerfile": [devops]
# Match nested patterns
"**/test/**": [qa-team]
How It Works¶
- Claudio detects which files changed in the PR
- Each file is matched against patterns
- Matching reviewers are added (deduplicated)
- Default reviewers are always added
Logging Settings¶
Control debug logging behavior.
logging:
enabled: true # Enable/disable logging
level: info # debug, info, warn, error
max_size_mb: 10 # Max file size before rotation
max_backups: 3 # Number of backup files to keep
Log Location: .claudio/sessions/<session-id>/debug.log
Viewing Logs:
claudio logs # Recent logs
claudio logs -f # Follow in real-time
claudio logs --level warn # Filter by level
claudio logs --grep "conflict" # Search pattern
UltraPlan Settings¶
Control UltraPlan mode behavior.
ultraplan:
# Maximum concurrent child sessions
# Lower values reduce API costs and conflict risk
max_parallel: 3
# Desktop notifications
notifications:
enabled: true # Notify when user input needed
use_sound: false # macOS system sound
sound_path: "" # Custom sound file path
Experimental Features¶
Enable experimental features (disabled by default).
experimental:
# Use Claude (Anthropic API) to generate descriptive instance names
intelligent_naming: false
# Spawn 3 parallel attempts, judge selects best
triple_shot: false
# Enable :multiplan command in TUI
inline_plan: false
# Enable :ultraplan command in TUI
inline_ultraplan: false
# Visual group organization in sidebar
grouped_instance_view: false
Feature Descriptions:
| Feature | Description |
|---|---|
intelligent_naming | Claude (Anthropic API) generates short names for instances based on task and output |
triple_shot | Three parallel attempts per task with judge selection |
inline_plan | Enables :multiplan command (:plan always available) |
inline_ultraplan | Enables :ultraplan command in standard TUI |
grouped_instance_view | Organizes instances by group in sidebar |
Example Configurations¶
Solo Developer¶
completion:
default_action: keep_branch
branch:
prefix: wip
include_id: false
pr:
draft: true
auto_rebase: true
Team Environment¶
completion:
default_action: auto_pr
branch:
prefix: claudio
include_id: true
pr:
draft: false
auto_rebase: true
use_ai: true
labels:
- ai-generated
reviewers:
default: [tech-lead]
by_path:
"src/security/**": [security-team]
resources:
cost_warning_threshold: 10.00
cost_limit: 50.00
CI/Automation¶
completion:
default_action: auto_pr
tui:
auto_focus_on_input: false
pr:
draft: false
auto_rebase: true
use_ai: true
auto_pr_on_stop: true
cleanup:
warn_on_stale: false
keep_remote_branches: false
Validating Configuration¶
# View current config (validates and shows values)
claudio config show
# Check if config file is valid
claudio config
If there are errors, Claudio will report them and fall back to defaults.