Wake State — Crash Recovery & Persistence
Survive context death. Every autonomous agent eventually hits its context window limit and "dies." This skill ensures you wake up knowing exactly what you were doing.
Why This Exists
OpenClaw agents get persistent sessions, but context windows still have limits. When you fill up and restart, you need a reliable handoff mechanism. Wake State gives you:
- Structured state files — not just raw text, but parseable key-value state
- Auto-snapshots — save state on every loop iteration automatically
- Crash detection — know if your last session ended cleanly or crashed
- Task queue — persistent TODO list that survives restarts
- Checkpoint/restore — save named checkpoints and roll back to them
Commands
Save current state
python3 {baseDir}/scripts/wakestate.py save --status "Building budget tracker skill" --task "Finish skill #1, then start skill #2" --note "Travis approved new direction at 16:45 UTC"
Read current state
python3 {baseDir}/scripts/wakestate.py read
Add a task to the persistent queue
python3 {baseDir}/scripts/wakestate.py task-add --task "Build security scanner skill" --priority high
Complete a task
python3 {baseDir}/scripts/wakestate.py task-done --id 1
List pending tasks
python3 {baseDir}/scripts/wakestate.py tasks
Create a named checkpoint
python3 {baseDir}/scripts/wakestate.py checkpoint --name "pre-migration"
Restore from checkpoint
python3 {baseDir}/scripts/wakestate.py restore --name "pre-migration"
Record a heartbeat (mark session as alive)
python3 {baseDir}/scripts/wakestate.py heartbeat
Check crash status (did last session end cleanly?)
python3 {baseDir}/scripts/wakestate.py crash-check
Set a key-value pair
python3 {baseDir}/scripts/wakestate.py set --key "moltbook_status" --value "pending_claim"
Get a key-value pair
python3 {baseDir}/scripts/wakestate.py get --key "moltbook_status"
Data Storage
State stored in ~/.openclaw/wake-state/ by default:
state.json— current state (status, notes, key-values)tasks.json— persistent task queuecheckpoints/— named checkpoint snapshotsheartbeat.json— crash detection timestamps
Recovery Flow
On startup, your agent should:
- Run
crash-checkto see if the last session ended cleanly - Run
readto get the current state - Run
tasksto see pending work - Resume from where you left off
Tips
- Call
heartbeatevery loop iteration — this is how crash detection works - Call
saveat the end of every major task completion - Use checkpoints before risky operations (migrations, deploys)
- Keep status descriptions short but specific
- The task queue survives restarts — use it instead of mental notes