AI Agent Corrupted Configuration Files: Recovery and Prevention
When an AI agent corrupts your configuration files — malformed JSON, invalid YAML, overwritten environment settings, or broken build configs — your application may fail to start, deploy, or function correctly. SafeClaw by Authensor prevents this by denying agent writes to configuration files by default, requiring you to explicitly allow access to specific config paths. If corruption has already occurred, this guide covers recovery and the policy rules that prevent it from happening again.
Immediate Recovery
1. Stop the Agent
Terminate the agent to prevent further config changes.
2. Restore from Version Control
If your config files are tracked in git:
# See what changed
git diff path/to/config.json
Restore the last known good version
git checkout HEAD -- path/to/config.json
3. Restore from Backup
If configs are not in version control, check for backups:
# Check for editor backups
ls -la path/to/config.json.*
ls -la path/to/config.json~
Check system backups or Time Machine
4. Manually Repair
If no backup exists, you need to manually fix the corruption. Common issues:
- Malformed JSON: Missing commas, unmatched braces, trailing commas. Use a JSON validator.
- Invalid YAML: Incorrect indentation, tab characters, unquoted special characters.
- Missing required fields: The agent deleted fields it thought were unnecessary.
- Wrong data types: The agent changed a number to a string or vice versa.
5. Validate the Repair
# Validate JSON
npx jsonlint path/to/config.json
Validate YAML
npx yaml-lint path/to/config.yaml
Start the application to verify
npm start
Review the Audit Trail
If SafeClaw was installed:
npx @authensor/safeclaw audit --filter "action:file.write" --filter "resource:config" --last 20
The hash-chained audit trail shows exactly what the agent wrote to your config files, when, and in what order.
Install SafeClaw and Protect Config Files
npx @authensor/safeclaw
Block Agent Writes to Configuration Files
Add these rules to your safeclaw.policy.yaml:
rules:
# Block all common config file patterns
- action: file.write
resource: "/*/.config.{js,ts,json,yaml,yml}"
effect: deny
reason: "Config files are human-managed"
- action: file.write
resource: "/*/tsconfig.json"
effect: deny
reason: "TypeScript config requires human review"
- action: file.write
resource: "/*/.eslintrc"
effect: deny
reason: "Linter config requires human review"
- action: file.write
resource: "/**/package.json"
effect: deny
reason: "Package config requires human review"
- action: file.write
resource: "/*/.env"
effect: deny
reason: "Environment files are never agent-writable"
- action: file.write
resource: "/*/docker-compose.{yml,yaml}"
effect: deny
reason: "Docker config requires human review"
- action: file.write
resource: "/*/Dockerfile"
effect: deny
reason: "Dockerfile requires human review"
# Allow agent reads of config for context
- action: file.read
resource: "/*/.config.*"
effect: allow
reason: "Agent can read configs for context"
Allow Specific Config Modifications with Safeguards
If your agent legitimately needs to modify certain configs, allow it with constraints:
rules:
- action: file.write
resource: "/app/config/feature-flags.json"
effect: allow
pre_conditions:
- "npx jsonlint /app/config/feature-flags.json"
reason: "Agent can update feature flags with validation"
Troubleshooting Common Config Corruption
Agent added trailing comma to JSON: JSON does not allow trailing commas. This is the most common corruption pattern. Block JSON config writes entirely or add JSON validation as a pre-condition.
Agent used tabs in YAML file: YAML requires spaces, not tabs. If your agent must write YAML, add a validation step.
Agent removed comments from config: Many config formats (JSON5, YAML, TOML) support comments. Standard JSON does not. When agents rewrite JSON, they strip anything non-standard. Protect commented configs from agent writes.
Agent merged configs incorrectly: The agent attempted a partial update but overwrote the entire file. SafeClaw's audit trail shows the before and after state so you can reconstruct what happened.
Prevention Strategy
Configuration files are high-value, low-change-frequency files. They should almost never be modified by an AI agent. SafeClaw's deny-by-default approach makes this the default behavior — agents cannot write to any file without an explicit allow rule. The 446-test suite validates config protection across both Claude and OpenAI integrations.
- Deny all config writes by default — this is SafeClaw's default behavior.
- If you must allow config writes, add validation pre-conditions.
- Keep config files in version control so you can always recover.
- Review audit logs for any config-related actions after agent sessions.
Related Resources
- AI Agent Made Unexpected File Changes: Recovery Guide
- Filesystem Isolation for AI Agents
- SafeClaw Policy Rule Syntax Reference
- Define: First-Match-Wins
Try SafeClaw
Action-level gating for AI agents. Set it up in your browser in 60 seconds.
$ npx @authensor/safeclaw