Skip to main content

Config file

Oobo stores its configuration at ~/.oobo/config.toml. You can edit it directly or use oobo setup for an interactive wizard.

Full reference

# Remote server (for API sync, sharing, event posting)
[server]
url = "https://api.oobo.ai"         # or your self-hosted URL
api_key = ""                         # set via `oobo auth login` or OOBO_SECRET_KEY env var
sync = false                         # enable with `oobo sync on`

# Git integration
[git]
real_git_path = "/usr/bin/git"       # auto-detected, override if needed
alias_enabled = false                # set to true after `oobo alias install`

# Transparency mode
[transparency]
mode = "off"                         # off | on

# Scan settings
[scan]
auto_scan = true                     # auto-discover sessions on git write ops
interval_secs = 3600                 # minimum seconds between auto-scans

# Update settings
[update]
check_on_startup = true              # check for new versions periodically
check_interval_secs = 86400          # seconds between update checks

# Telemetry (event payloads sent to server)
[telemetry]
enabled = true
send_diffs = false                   # include diff content in events
send_transcripts = false             # include transcript content in events

# Tool toggles: each tool can be enabled/disabled independently
# Each also accepts an optional api_key for remote usage data

[cursor]
enabled = true
# api_key = ""                       # Cursor Enterprise API key (auto-extracted from JWT)

[claude]
enabled = true
# api_key = ""                       # set via `oobo auth anthropic <key>`

[gemini]
enabled = true
# api_key = ""                       # set via `oobo auth google <key>`

[codex]
enabled = true

[opencode]
enabled = true

[aider]
enabled = true

[copilot]
enabled = true
# api_key = ""                       # set via `oobo auth copilot <token>`

[windsurf]
enabled = true
# api_key = ""                       # set via `oobo auth windsurf <key>`

[zed]
enabled = true

[trae]
enabled = true

# Per-repo ignore is stored in the DB project_settings table.
# Use `oobo ignore` / `oobo unignore` to manage.

File permissions

When any API key is set, oobo automatically sets the config file permissions to 0600 (owner read/write only) on Unix systems.

Transparency explained

Anchor metadata always syncs to the oobo/anchors/v1 orphan branch on every intercepted commit (unless the project is ignored). Transparency controls whether redacted session transcripts are also included.
off (default)on
Local SQLite writesYesYes
Orphan branch metadataYesYes
Orphan branch transcriptsNoRedacted transcripts
Use whenDefault for most devsFull team transparency

off (default)

Anchor metadata (commit hash, session IDs, token counts, attribution) is written to the oobo/anchors/v1 orphan branch. When pushed, teammates can run oobo sync to import the history. Session transcripts stay local.

on

Everything from off, plus redacted session transcripts on the orphan branch. All secrets are stripped using gitleaks patterns before writing. Transparency has a global default in ~/.oobo/config.toml and can be overridden per-project via the DB project_settings table.

Data directories

PathContents
~/.oobo/config.tomlConfiguration file
~/.oobo/db/oobo.dbSQLite database (sessions, projects, anchors, stats)
~/.oobo/logs/Log files
~/.oobo/assets/Icon and notification assets
~/.agents/skills/oobo/SKILL.mdAgent skill file (installed by oobo setup)
.git/oobo-sessions/Per-repo active session state files