NOVA Error Playbook — Consolidated Patterns
Offloaded from error-playbook.md on 02-Apr-2026. All patterns are active — consult before debugging similar issues.
EACCES permission denied on workspace files
Symptom: Agent fails with EACCES: permission denied on workspace files.
Cause: Files modified by non-openclaw process (Claude Code SSH as claude user).
Fix: sudo chown -R openclaw:openclaw /home/openclaw/.openclaw/workspace/
Prevention: Always chown after external modification.
Agent can’t see workspace files after deployment
Symptom: Agent spawns but responds without context from AGENTS.md or companion files.
Cause: workspace property not set (only agentDir set). Different purposes.
Fix: Set explicit workspace property pointing to file directory.
Prevention: Component Integration Protocol Phase 4 — verify with spawn test.
Skill installed but not discovered by OpenClaw
Symptom: Skill script runs via exec but doesn’t appear in skill registry. Cause: Installed to wrong path. Fix: Check OpenClaw docs for correct skill installation path. Reinstall. Prevention: Never assume paths — verify against docs.
Claude Code desktop crashes on SSH to root user
Symptom: SSH exits immediately with code 1. No error.
Cause: Claude Code v2.1.78+ blocks --dangerously-skip-permissions with root/sudo.
Fix: Non-root user with passwordless sudo + symlink ~/.claude → /root/.claude. Add to docker, users, openclaw groups. Expect 5-6 downstream permission fixes.
Prevention: Never configure Claude Code SSH with root user.
Agent falls back to Kimi — OAuth missing access/expires
Symptom: Agent uses kimi-k2.5 instead of opus-4-6. Logs: FailoverError: No API key found for provider "anthropic".
Cause: auth-profiles.json has type: "oauth" with only key field. OpenClaw needs access + expires.
Fix: Add access (= key value) + expires (= 4102444800000) to ALL 6 auth-profiles.json files. Restart gateway.
Prevention: After claude setup-token, always add access/expires. Verify: journalctl --user-unit=openclaw-gateway.service | grep "candidate_failed" — zero hits = working.
Workspace file truncated — agents miss instructions
Symptom: Warning about workspace bootstrap file exceeding char limit.
Cause: OpenClaw injects workspace files with bootstrapMaxChars limit. Exceeding = silent truncation of bottom content.
Fix: Restructure file to fit, split, or increase bootstrapMaxChars.
Prevention: After edits: wc -c FILE.md. Current total limit: 150,000 chars. File at 80% → compress immediately.
Related
- nova-critical-learnings-consolidated
- nova-decision-log-consolidated
- upgrade-history-full
- httpx-http2-extra-required-for-gold-stack-upgrades
- traefik-docker-provider-drops-containers
- hook-script-executable-permission-silent-failure
- openclaw-skill-sync-path-and-verification-pattern