Skip to main content

Usage

archal config <subcommand> [options]

Subcommands

config show

Print the current configuration.
archal config show
archal config show --json

config set <key> <value>

Set a configuration value.
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:
KeyDescriptionType
telemetryEnable or disable telemetryboolean
evaluator.modelModel for probabilistic criteria evaluationstring
evaluator.apiKeyEvaluator API key (supports env:VAR_NAME)string
evaluator.baseUrlCustom base URL for evaluator LLM callsstring
defaults.runsDefault number of runs per scenarionumber
defaults.timeoutDefault timeout in secondsnumber
engine.defaultHarnessDefault harness path when --harness is omittedstring
engine.harnessDirDirectory used for harness discoverystring
engine.modelAgent model hint passed to the enginestring
engine.timeoutEngine request timeout in secondsnumber
engine.apiKeyAgent model API key (supports env:VAR_NAME)string
openclaw.homeLocal OpenClaw home directorystring
openclaw.workspaceOpenClaw workspace pathstring
openclaw.configPathOpenClaw config file pathstring
openclaw.versionOpenClaw version hintstring
openclaw.evalModeOpenClaw evaluation modestring
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.
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.
archal config init
archal config init --force

config path

Print the config file path.
archal config path

Config file format

Default file (archal config init):
{
  "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:
VariableOverrides
ARCHAL_TELEMETRYtelemetry
ARCHAL_MODELevaluator.model
ARCHAL_EVALUATOR_BASE_URLevaluator.baseUrl
ARCHAL_RUNSdefaults.runs
ARCHAL_TIMEOUTdefaults.timeout
ARCHAL_DEFAULT_HARNESSengine.defaultHarness
ARCHAL_HARNESS_DIRengine.harnessDir
ARCHAL_ENGINE_MODELengine.model
ARCHAL_ENGINE_TIMEOUTengine.timeout
ARCHAL_ENGINE_API_KEYengine.apiKey
ARCHAL_OPENCLAW_HOMEopenclaw.home
ARCHAL_OPENCLAW_WORKSPACEopenclaw.workspace
ARCHAL_OPENCLAW_CONFIGopenclaw.configPath
ARCHAL_OPENCLAW_VERSIONopenclaw.version
ARCHAL_OPENCLAW_EVAL_MODEopenclaw.evalMode
ARCHAL_HOMEConfig 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