ArqZero

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.

VariableDescription
ARQZERO_API_KEYFireworks API key (overrides config)
ARQZERO_MODELModel identifier
ARQZERO_PROVIDERAPI provider (fireworks)
ARQZERO_VERBOSEEnable verbose logging (1/0)
ARQZERO_AUTO_APPROVESkip permission prompts (1/0)
ARQZERO_MAX_TOKENSMaximum response tokens
ARQZERO_THEMETUI theme (dark)
ARQZERO_REDUCED_MOTIONDisable 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