fabro/docs/reference/cli-configuration.mdx
Bryan Helmkamp 131b71aea9 Update docs tutorials, examples, and add sub-workflow tutorial
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 10:01:53 -05:00

69 lines
2.1 KiB
Text

---
title: "CLI Configuration"
description: "Configure default settings for the Arc CLI with cli.toml"
---
Arc loads CLI defaults from `~/.arc/cli.toml` so you don't have to pass common flags every time. The file is optional — if it doesn't exist, built-in defaults are used.
## File location
The default path is `~/.arc/cli.toml`. Arc silently skips loading if the file is missing.
## Precedence
CLI flags always take the highest priority:
1. **CLI flags** — always win
2. **`cli.toml`** — used when no flag is provided
3. **Built-in defaults** — used when neither flag nor config is set
## Full example
```toml
[agent]
provider = "anthropic"
model = "claude-opus-4-6"
permissions = "read-write"
output_format = "text"
[llm]
model = "claude-sonnet-4-5"
```
All fields are optional. You can include just the sections and keys you want to override.
## `[agent]` section
Defaults for `arc agent` sessions.
| Key | Description | Values | Default |
|---|---|---|---|
| `provider` | LLM provider | `"anthropic"`, `"openai"`, `"gemini"`, etc. | `"anthropic"` |
| `model` | Model name | Any model ID from `arc models list` | Per provider |
| `permissions` | Tool permission level | `"read-only"`, `"read-write"`, `"full"` | `"read-write"` |
| `output_format` | Output format | `"text"`, `"json"` | `"text"` |
### Permission levels
- **`read-only`** — auto-approves read tools (`read_file`, `grep`, `glob`, `list_dir`) and subagent tools
- **`read-write`** — adds write tools (`write_file`, `edit_file`, `apply_patch`)
- **`full`** — allows all tools including shell commands
Tools outside the permission level are interactively prompted (if a TTY is present) or denied (with `--auto-approve`).
### Output formats
- **`text`** — human-readable terminal output
- **`json`** — NDJSON event stream
## `[llm]` section
Defaults for `arc llm prompt` and `arc llm chat`.
| Key | Description | Values | Default |
|---|---|---|---|
| `model` | Model name | Any model ID from `arc models list` | Per provider |
<Note>
The `[llm]` section only sets the default model. Use `[agent]` to configure provider, permissions, and output format for `arc agent`.
</Note>