بنقرة واحدة
config-guard
// Prevent OpenClaw config changes from crashing the gateway. Auto-backup, schema validation, critical field checks, and auto-rollback. Use before any config.apply, config.patch, or openclaw.json edit.
// Prevent OpenClaw config changes from crashing the gateway. Auto-backup, schema validation, critical field checks, and auto-rollback. Use before any config.apply, config.patch, or openclaw.json edit.
| name | config-guard |
| description | Prevent OpenClaw config changes from crashing the gateway. Auto-backup, schema validation, critical field checks, and auto-rollback. Use before any config.apply, config.patch, or openclaw.json edit. |
| metadata | {"openclaw":{"emoji":"🛡️"}} |
Stop AI agents from killing themselves by editing their own config wrong.
OpenClaw agents have full access to openclaw.json — the file that controls the gateway, channels, models, and tools. One bad edit and the gateway crashes. The agent goes offline. Nobody can fix it remotely.
This skill prevents that.
Real incidents (all from 2026-02-04, same day):
| What happened | Root cause |
|---|---|
| Gateway crashed after update | AI added unknown config fields (auth, fallbacks) |
| Model not found | AI wrote claude-sonnet-4.5 (dots) instead of claude-sonnet-4-5 (hyphens) |
| Telegram stopped working | Config change silently wiped the channel section |
| browser.profiles error | AI forgot the required color field (must be hex) |
| Plugin SDK missing | Update broke module paths, no validation caught it |
Core truth: AI doesn't know correct config formats. It guesses. Wrong guesses crash systems.
cp openclaw.json to timestamped backup--restart):# Validate current config
bash scripts/config-guard.sh check
# Validate → backup → apply → verify
bash scripts/config-guard.sh apply --restart
# Show what changed vs last backup
bash scripts/config-guard.sh diff
# Emergency rollback
bash scripts/config-guard.sh rollback
# Install the pre-commit hook
cp scripts/pre-config-hook.sh /path/to/repo/.git/hooks/pre-commit
# Or chain it in your existing hook
gateway config.patch DIRECTLYThe gateway tool's config.patch action bypasses all validation. One wrong model name, one invalid field, and the gateway crashes. You go offline. Nobody can fix you remotely.
Use safe-config-patch.sh instead:
# ✅ CORRECT: Validates before applying
bash scripts/safe-config-patch.sh '{"agents":{"defaults":{"model":"anthropic/claude-opus-4-5"}}}'
# ❌ WRONG: No validation, will crash on bad input
gateway config.patch raw='{"agents":{"defaults":{"model":"claude-opus-4.5"}}}' # dots = crash
Use the safe wrapper (validates → backs up → applies → verifies):
bash /path/to/config-guard/scripts/safe-config-patch.sh '<json-patch>'
Never guess config field names or values. If unsure:
gateway config.schema to check valid fieldsgateway config.get to see current valuesFor complex changes, validate first:
bash /path/to/config-guard/scripts/config-guard.sh check ~/.openclaw/openclaw.json
If gateway dies, rollback:
bash /path/to/config-guard/scripts/config-guard.sh rollback
On 2026-02-05, the agent used gateway config.patch to upgrade to Claude Opus 4.6. The model ID was wrong (claude-opus-4-6-20260205 doesn't exist yet). Gateway kept crashing and falling back to 4.5. Human had to manually fix.
config-guard existed but was bypassed because the agent used the raw gateway tool instead of the validated wrapper. This is exactly the failure mode this skill was designed to prevent.
| Check | What it catches |
|---|---|
| JSON syntax | Malformed JSON, trailing commas, unquoted keys |
| Unknown top-level keys | AI inventing fields like fallbacks, auth at wrong level |
| Model name format | claude-sonnet-4.5 → should be claude-sonnet-4-5 |
| browser.profiles.color | Missing required field, non-hex values |
| commands.native | Missing required fields |
| Placeholder values | your-token-here, sk-xxx in sensitive fields |
| Empty primary model | No model configured = agent can't think |
| Telegram channel wipe | Silent removal of channel config |
| Auth token removal | Gateway auth accidentally deleted |
| Tool deny list changes | Security-critical tools removed from deny |
Prompts are suggestions. Code is law.
This skill doesn't ask the AI to "please validate before changing config." It provides executable scripts that enforce validation. The pre-commit hook blocks bad configs from being committed. The apply script auto-rollbacks on failure.
The AI doesn't need to cooperate. The code runs regardless.
clawdhub install config-guard
# or copy the scripts/ directory to your workspace
python3 (for JSON parsing and validation)curl (for gateway health checks)bash 4+