NullClaw | Autonomous AI Ecosystem
Configuration
NullClaw reads config from ~/.nullclaw/config.json (src/config.zig, src/config_parse.zig).
Minimal Config That Runs
{
"models": {
"providers": {
"openrouter": { "api_key": "YOUR_KEY" }
}
},
"agents": {
"defaults": {
"model": { "primary": "openrouter/anthropic/claude-sonnet-4" }
}
},
"channels": {
"cli": true
},
"gateway": {
"host": "127.0.0.1",
"port": 3000,
"require_pairing": true
}
}
Add Chat UI Support (`channels.web`)
{
"channels": {
"web": {
"accounts": {
"default": {
"listen": "127.0.0.1",
"port": 32123,
"path": "/ws",
"message_auth_mode": "pairing"
}
}
}
}
}
Without this, Chat UI cannot pair.
Key Sections
models.providers: credentials and endpoint settingsagents.defaults.model.primary: default provider/model routechannels: channel accounts and channel policymemory: backend and memory behaviorautonomy: tool/path/command restrictionssecurity: sandbox and audit settingsgateway: bind, pairing, and public bind behavior
Verify Effective Config
nullclaw doctor
nullclaw status
nullclaw capabilities --json
Build Flags vs Config
Config may declare features missing from your binary.
Typical mismatch:
- configured channel removed via
-Dchannels=... - configured memory backend removed via
-Dengines=...
Use capabilities as source of truth.