> ## Documentation Index
> Fetch the complete documentation index at: https://withcoral.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuration

> Reference for Coral's config.toml file and runtime configuration.

Coral stores local configuration in `config.toml` inside its platform-specific [local state directory](/docs/getting-started/installation#local-state).

## Managed state

Coral writes source installation state to `config.toml` when you run commands such as `coral source add` and `coral source remove`.

This state includes installed-source metadata and non-secret source variables. Source secrets are stored separately within the same local trust boundary.

<Note>
  Prefer the `coral source` commands for source state instead of editing workspace entries manually.
</Note>

## Workspaces

Workspace metadata is stored under `[workspaces]`. The `default` workspace
exists automatically, and additional workspaces can be managed with
`coral workspace`.

```toml theme={"theme":{"light":"github-light","dark":"github-dark"}}
[workspaces.default]

[workspaces.work]

[workspaces.work.sources.github]
version = "1.0.0"
variables = {}
secrets = ["GITHUB_TOKEN"]
origin = "bundled"
```

An empty workspace is represented by an explicit `[workspaces.<name>]` table.
Installed sources for that workspace live under
`[workspaces.<name>.sources.<source>]`.

There is no separate active-workspace key in `config.toml`; use
`CORAL_WORKSPACE` for a shell default or `--workspace <NAME>` for one command.
Source specs imported from files and source credential material remain scoped
to the source installation in a workspace. Reusable global source specs and
reusable credential references are not config objects today.

## Runtime features

Experimental runtime features are configured under `[features]`.

```toml theme={"theme":{"light":"github-light","dark":"github-dark"}}
[features]
feedback = true
```

You can inspect available features and their effective state with:

```shellscript theme={"theme":{"light":"github-light","dark":"github-dark"}}
coral features list
```

Enable or disable a feature with:

```shellscript theme={"theme":{"light":"github-light","dark":"github-dark"}}
coral features enable feedback
coral features disable feedback
```

Feature values must be booleans. Unknown feature keys are preserved in `config.toml` but ignored by Coral.

| Feature    | Default | Description                                                                                                                                  |
| ---------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| `feedback` | `false` | Experimental. Exposes the MCP feedback tool when enabled. Feedback reports are stored locally and anonymous copies may be uploaded to Coral. |

## OpenTelemetry

External OpenTelemetry export is configured under `[otel]`.

```toml theme={"theme":{"light":"github-light","dark":"github-dark"}}
[otel]
endpoint = "http://localhost:4318"
headers = "authorization=Bearer ..."
log_filter = "info"
trace_filter = "coral_app=debug"
service_name = "coral"
```

Trace history settings are configured under `[trace_history]`.

```toml theme={"theme":{"light":"github-light","dark":"github-dark"}}
[trace_history]
enabled = true
retention_days = 7
```

See [Observe with OpenTelemetry](/docs/guides/observe-with-opentelemetry) for the full telemetry setup guide.
