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

# archal config

> View and edit local Archal CLI defaults: run counts, timeouts, evaluator model, telemetry, and harness paths stored in your config file.

## Usage

```bash theme={null}
archal config <subcommand> [options]
```

## Subcommands

### `config show`

Print the current configuration.

```bash theme={null}
archal config show
archal config show --json
```

### `config set <key> <value>`

Set a configuration value.

```bash theme={null}
archal config set defaults.runs 10
archal config set defaults.timeout 180
archal config set telemetry false
archal config set evaluator.model gemini-2.5-flash
archal config set evaluator.apiKey env:GEMINI_API_KEY
archal config set evaluator.baseUrl https://my-proxy.example.com/v1
archal config set engine.defaultHarness ./.archal/harness.ts
```

Common keys:

| Key                     | Description                                                                     | Type    |
| ----------------------- | ------------------------------------------------------------------------------- | ------- |
| `telemetry`             | Enable or disable telemetry                                                     | boolean |
| `evaluator.model`       | Model for probabilistic criteria evaluation                                     | string  |
| `evaluator.apiKey`      | Evaluator API key (supports `env:VAR_NAME`)                                     | string  |
| `evaluator.baseUrl`     | Custom base URL for evaluator LLM calls                                         | string  |
| `defaults.runs`         | Default number of runs per scenario                                             | number  |
| `defaults.timeout`      | Default timeout in seconds                                                      | number  |
| `engine.defaultHarness` | Default harness path when `--harness` is omitted                                | string  |
| `engine.harnessDir`     | Directory used for harness discovery                                            | string  |
| `engine.model`          | Agent model hint passed to the engine                                           | string  |
| `engine.timeout`        | Engine request timeout in seconds                                               | number  |
| `engine.apiKey`         | Optional Archal engine key; not passed to the harness (supports `env:VAR_NAME`) | string  |
| `openclaw.home`         | Local OpenClaw home directory                                                   | string  |
| `openclaw.workspace`    | OpenClaw workspace path                                                         | string  |
| `openclaw.configPath`   | OpenClaw config file path                                                       | string  |
| `openclaw.version`      | OpenClaw version hint                                                           | string  |
| `openclaw.evalMode`     | OpenClaw evaluation mode                                                        | string  |

If a key is missing here, `archal config set <key> <value>` prints the current
valid-key list.

### `config unset <key>`

Remove a saved value. Defaults and environment variables can still apply.

```bash theme={null}
archal config unset engine.defaultHarness
archal config unset evaluator.apiKey
archal config unset telemetry
```

### `config init`

Create a default config file at `~/.archal/config.json`.

```bash theme={null}
archal config init
archal config init --force
```

### `config path`

Print the config file path.

```bash theme={null}
archal config path
```

## Config file format

Default file (`archal config init`):

```json theme={null}
{
  "telemetry": false,
  "evaluator": {
    "apiKey": ""
  },
  "defaults": {
    "runs": 1,
    "timeout": 180
  },
  "engine": {},
  "openclaw": {}
}
```

When `evaluator.apiKey` is empty, Archal uses Archal LLM judge. To bring your
own judge key, set both `evaluator.model` and `evaluator.apiKey`; use an
`env:...` reference for `evaluator.apiKey` so secrets stay out of the config
file.

## Environment variable overrides

These override the config file at runtime:

| Variable                    | Overrides                                                       |
| --------------------------- | --------------------------------------------------------------- |
| `ARCHAL_TELEMETRY`          | `telemetry`                                                     |
| `ARCHAL_MODEL`              | `evaluator.model`                                               |
| `ARCHAL_EVALUATOR_BASE_URL` | `evaluator.baseUrl`                                             |
| `ARCHAL_RUNS`               | `defaults.runs`                                                 |
| `ARCHAL_TIMEOUT`            | `defaults.timeout`                                              |
| `ARCHAL_DEFAULT_HARNESS`    | `engine.defaultHarness`                                         |
| `ARCHAL_HARNESS_DIR`        | `engine.harnessDir`                                             |
| `ARCHAL_ENGINE_MODEL`       | `engine.model`                                                  |
| `ARCHAL_ENGINE_TIMEOUT`     | `engine.timeout`                                                |
| `ARCHAL_ENGINE_API_KEY`     | `engine.apiKey` (Archal engine key; not a harness provider key) |
| `ARCHAL_OPENCLAW_HOME`      | `openclaw.home`                                                 |
| `ARCHAL_OPENCLAW_WORKSPACE` | `openclaw.workspace`                                            |
| `ARCHAL_OPENCLAW_CONFIG`    | `openclaw.configPath`                                           |
| `ARCHAL_OPENCLAW_VERSION`   | `openclaw.version`                                              |
| `ARCHAL_OPENCLAW_EVAL_MODE` | `openclaw.evalMode`                                             |
| `ARCHAL_HOME`               | Config directory location (`~/.archal` by default)              |

## Authentication note

CLI auth is separate from this config file. Use:

* `archal login` (recommended)
* `ARCHAL_TOKEN` in CI/non-interactive environments
