ox config
View and modify ox configuration settings. Settings can be configured at user, repo, or team level with a priority chain.
Usage
Interactive mode
Without a subcommand, ox config opens an interactive editor when stdin and stdout are terminals. With --no-interactive, in CI, or with redirected input or output, it lists settings instead. With --json, it prints the settings as JSON.
Available settings
| Setting | Values |
|---|---|
session_recording | disabled, manual, auto |
session_publishing | auto, manual |
murmur_send | manual, auto |
murmur_receive | on, off |
telemetry | on, off |
disposable_machine | on, off |
tips | on, off |
statusline | on, off |
brief_pane | on, off |
usage_pane | on, off (deprecated) |
recap.trace_consultations | on, off |
context_git.auto_commit | on, off (deprecated) |
context_git.auto_push | on, off (deprecated) |
view_format | html, text, json |
session.draft | on, off |
agent.summarizer | inline, delegated, off |
agent_worker | auto, none, claude, codex |
recording_reminder | on, off |
plan.save | on, off |
plan.html | off, recommend, always |
plan.open | never, ask, always |
skills.claude_org_dedupe | on, off |
pr_visuals.rich | on, off |
pr_visuals.theme | light, dark |
pr_visuals.header | on, off |
attribution.commit | Any text, or "" to disable |
attribution.pr | Any text, or "" to disable |
hooks.userpromptsubmit.cloud_query | on, off |
attribution.score_threshold | 0.0 to 1.0 |
To see each setting's label, description, type, allowed values, the levels it can be set at, and its current value, run ox config schema. It works outside a repository, where values come from user config and defaults.
Priority chain
Settings are resolved in this order (first match wins):
- User (your user preferences file), Personal preferences
- Repo (
.sageox/config.json), Project-specific settings - Team (Team Context config), Team-wide defaults
- Default, Built-in fallback values
User-level preferences apply even in repositories that have not run ox init. To read and write a different user preferences file, pass --config <file>; it overrides OX_USER_CONFIG and normal user config discovery. Repo and team files are still selected by the current project and --repo/--team.
Examples
List all settings
Lists every setting with its current value and source. Add --json for JSON output.
Get a specific setting
Shows the effective value and the override chain (user > repo > team > default).
Set at user level
Set at repo level
This adds the setting to .sageox/config.json in the current repo.
Set at team level
This updates the team context config, affecting all team members. Not every setting accepts every level; ox config schema lists the levels for each one.
Clear an override
Clearing an override falls back to the next level in the chain. Clearing a user-level override lets the repo or team value take effect.
Subcommands
| Command | Description |
|---|---|
ox config list | List all settings with current values and sources |
ox config schema | Describe every config setting (for apps) |
ox config get <key> | Show a setting's value and override chain |
ox config set <key> <value> | Set a configuration value |
ox config unset <key> | Remove an override at a specific level |
Flags
| Flag | Description |
|---|---|
--user | (set, unset) Apply to user-level config (default) |
--repo | (set, unset) Apply to repo-level config (.sageox/config.json) |
--team | (set, unset) Apply to team-level config |
--json | (list, get, schema) Output in JSON format |

