# ox config (https://sageox.ai/docs/cli/config)

# ox config

View and modify ox configuration settings. Settings can be configured at user, repo, or team level with a priority chain.

## Usage

```bash
ox config                              # Interactive TUI editor
ox config list                         # List all settings with values
ox config get <key>                    # Show setting with override chain
ox config set <key> <value>            # Set at user level
ox config set <key> <value> --repo     # Set at repo level
ox config set <key> <value> --team     # Set at team level
ox config unset <key>                  # Clear user-level override
ox config unset <key> --repo           # Clear repo-level override
```

## Interactive mode

When run in a terminal without arguments, `ox config` launches an interactive TUI for browsing and editing settings.

## Available settings

| Setting | Values | Default | Description |
|---------|--------|---------|-------------|
| `session_recording` | `disabled`, `manual`, `auto` | `manual` | When to record coding sessions |
| `github_sync` | `enabled`, `disabled` | `enabled` | Sync GitHub PRs and issues |
| `github_sync_prs` | `enabled`, `disabled` | `enabled` | Sync GitHub pull requests |
| `github_sync_issues` | `enabled`, `disabled` | `enabled` | Sync GitHub issues |
| `murmuring` | `manual`, `auto` | `auto` | AI coworker murmur publishing |
| `telemetry` | `on`, `off` | `on` | Anonymous usage telemetry |
| `tips` | `on`, `off` | `on` | Show contextual tips |
| `context_git.auto_commit` | `on`, `off` | `on` | Auto-commit context changes |
| `context_git.auto_push` | `on`, `off` | `on` | Auto-push context commits |
| `attribution.commit` | text or `""` | — | Commit attribution text |
| `attribution.pr` | text or `""` | — | PR attribution text |

## Priority chain

Settings are resolved in this order (first match wins):

1. **User** (`~/.config/sageox/config.toml`), Personal preferences
2. **Repo** (`.sageox/config.toml`), Project-specific settings
3. **Team** (Team Context config), Team-wide defaults
4. **Default**, Built-in fallback values

## Examples

### List all settings

```bash
ox config list
```

```
session_recording    manual     (user)
github_sync          enabled    (default)
murmuring            auto       (team)
telemetry            on         (default)
```

### Get a specific setting

```bash
ox config get session_recording
```

```
session_recording = manual

Override chain:
  user:    manual  ← active
  repo:    (not set)
  team:    auto
  default: manual
```

### Set at user level

```bash
ox config set telemetry off
```

### Set at repo level

```bash
ox config set session_recording auto --repo
```

This adds the setting to `.sageox/config.toml` in the current repo.

### Set at team level

```bash
ox config set murmuring auto --team
```

This updates the team context config, affecting all team members.

### Clear an override

```bash
ox config unset session_recording
ox config unset session_recording --repo
```

## Subcommands

| Command | Description |
|---------|-------------|
| `ox config list` | List all settings with current values and sources |
| `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 |
|------|-------------|
| `--repo` | Apply to repo-level config (`.sageox/config.toml`) |
| `--team` | Apply to team-level config |

## Related commands

- [ox status](/docs/cli/status): View current configuration state
- [ox init](/docs/cli/init): Initialize a project with default settings
