Skip to content

Configure Sybra

Most configuration is editable from the Settings page. Full schema lives in Config reference.

SettingsSettings

Settings edits write to ~/.sybra/config.yaml live. Sybra reloads affected services without a restart in most cases.

  • Leveldebug / info / warn / error
  • Directory — where rotating logs live (~/.sybra/logs/ by default)
  • Rotation — max file size and retention count

Raise to debug when diagnosing a weird agent run; drop back to info after. debug writes hot and fills disk fast.

  • Enabled — controls ~/.sybra/logs/audit/
  • Retention — days to keep daily NDJSON files

Leave enabled. The audit log is what the self-monitor judges against.

  • Desktop — macOS/Linux native notifications for escalations, task completions, review requests

Toggle off during focus sessions. The in-app badges still update.

FieldTypical value
Providerclaude
Modelsonnet
Max concurrent3
Max cost (USD) per run5.0
Max turns150
Require permissionstrue

These apply to every new agent unless overridden per task or per workflow step.

IntegrationConfig keys
Todoisttodoist.enabled, todoist.api_token, todoist.poll_seconds
GitHubgithub.enabled
Renovaterenovate.enabled, renovate.author

Toggle individually. Disable what this machine should not do.

  • Auto-triage — let the orchestrator classify new tasks automatically
  • Auto-plan — for tasks tagged medium/large, auto-dispatch a planning agent

Turn off during debugging. Manual drives the board cleanly.

  • Enabled — the in-process anomaly watchdog
  • Interval — seconds between checks (default 300)
  • Stuck human-required threshold — hours before the monitor pings you
  • Enabled — hourly retrospective judge
  • Dry run — default true; set to false to let it auto-act
  • Auto-act categories — which finding types can trigger action

~/.sybra/config.yaml is plain YAML. Edit it in any editor. Sybra’s fsnotify watcher picks up changes within a second.

Format:

logging:
level: info
agent:
provider: claude
model: sonnet
max_concurrent: 3
max_cost_usd: 5.0
todoist:
enabled: true
api_token: $TODOIST_TOKEN # env substitution supported

Env substitution ($VAR, ${VAR}) happens at load time. Keep secrets in environment variables, not in the file itself.

On load, Sybra validates the config against the schema. Invalid fields:

  • Unknown field — warning logged, field ignored
  • Wrong type — error; Sybra falls back to the last-known-good config
  • Missing required — error at startup; app refuses to launch

Check the startup log (~/.sybra/logs/sybra.log) for validation warnings.

Delete ~/.sybra/config.yaml. Sybra writes a fresh default on next start.