Configuration
$ arqzero --docs-config
ArqZero configuration follows a layered hierarchy. Each layer overrides the previous one.
Settings Hierarchy
1User config~/.arqzero/config.json
2Project settings.arqzero/settings.json
3Environment varsARQZERO_*
4CLI arguments--model, --auto-approve
Higher numbers override lower. CLI args always win.
~/.arqzero/config.json
Global user configuration. Created by /setup or manually.
{
"provider": "fireworks",
"fireworksApiKey": "fw_...",
"model": "accounts/fireworks/models/glm-4p7",
"permissions": {
"allow": ["Read", "Glob", "Grep", "LS"],
"deny": []
},
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"]
}
}
}ARQZERO.md
Project-level instructions file. Place it in your project root. ArqZero reads it at the start of every session and injects its contents into the system prompt.
# ARQZERO.md — project root
This is a Next.js 15 app with TypeScript. Use pnpm, not npm. Test with: pnpm vitest Never modify files in /generated/.
.arqzero/settings.json
Project-level settings override user config for this repository only.
{
"model": "accounts/fireworks/models/llama-v3p3-70b",
"permissions": {
"allow": ["Bash"],
"deny": ["WebFetch"]
},
"verbose": true
}Environment Variables
All environment variables use the ARQZERO_ prefix.
| Variable | Description |
|---|---|
| ARQZERO_API_KEY | Fireworks API key (overrides config) |
| ARQZERO_MODEL | Model identifier |
| ARQZERO_PROVIDER | API provider (fireworks) |
| ARQZERO_VERBOSE | Enable verbose logging (1/0) |
| ARQZERO_AUTO_APPROVE | Skip permission prompts (1/0) |
| ARQZERO_MAX_TOKENS | Maximum response tokens |
| ARQZERO_THEME | TUI theme (dark) |
| ARQZERO_REDUCED_MOTION | Disable animations (1/0) |
CLI Arguments
Highest priority. Override everything else.
$ arqzero --model llama-70b --auto-approve
$ arqzero -p "fix tests" --verbose
$ arqzero -c --resume # resume last session
$ arqzero --worktree feature-branch # isolated git worktree