openclaw-checkpoint
Backs up and restores an OpenClaw workspace to a GitHub repo, syncing SOUL.md, MEMORY.md, memory/*, cron backups, and configuration under ~/.openclaw/workspace. It instructs running remote install scripts (curl ... | bash), executing CLI/setup commands, and handling SSH/PAT credentials with network access to github.com.
OpenClaw Checkpoint - Personal AI Assistant Backup & Recovery
Backup and disaster recovery for OpenClaw workspaces
Platform: macOS and Linux only. Windows is not supported.
Automatically sync your OpenClaw agent's identity, memory, and configuration to GitHub. Never lose your agent's state again.
What Gets Backed Up
| Backed Up | Not Backed Up (Security) |
|---|---|
| ✅ SOUL.md, IDENTITY.md, USER.md | ❌ API keys (.env.*) |
| ✅ MEMORY.md, memory/*.md | ❌ OAuth tokens |
| ✅ TOOLS.md, AGENTS.md, HEARTBEAT.md | ❌ Credentials |
| ✅ Custom scripts and tools | ❌ Temporary files |
| ✅ Cron jobs (memory/cron-jobs-backup.json) |
Quick Start
Install (Recommended)
# Clone this repo
git clone https://github.com/AnthonyFrancis/openclaw-checkpoint.git ~/.openclaw/skills/openclaw-checkpoint
# Copy scripts to your tools directory
mkdir -p ~/.openclaw/workspace/tools
cp ~/.openclaw/skills/openclaw-checkpoint/scripts/checkpoint* ~/.openclaw/workspace/tools/
chmod +x ~/.openclaw/workspace/tools/checkpoint*
# Add to PATH (add to ~/.zshrc or ~/.bashrc for persistence)
export PATH="${HOME}/.openclaw/workspace/tools:${PATH}"
# Run setup
checkpoint-setup
The interactive wizard will:
- Guide you through creating a private GitHub repo
- Set up SSH authentication
- Configure automatic backups
- Test the backup system
Quick Install
curl -fsSL https://raw.githubusercontent.com/AnthonyFrancis/openclaw-checkpoint/main/scripts/install-openclaw-checkpoint.sh | bash
This runs the install script -- review it first if you prefer to inspect before executing.
Commands
| Command | Description |
|---|---|
checkpoint-setup | Interactive first-time setup wizard |
checkpoint-backup | Backup now |
checkpoint-resume | Restore from backup |
checkpoint-auth | Fix authentication issues |
checkpoint-status | Check backup health |
checkpoint-schedule | Configure auto-backup frequency |
checkpoint-stop | Stop automatic backups |
checkpoint-reset | Reset for fresh setup |
Auto-Backup Options
checkpoint-schedule 15min # Every 15 minutes
checkpoint-schedule 30min # Every 30 minutes
checkpoint-schedule hourly # Every hour (default)
checkpoint-schedule 2hours # Every 2 hours
checkpoint-schedule daily # Once per day
checkpoint-schedule disable # Turn off
Disaster Recovery
When your machine dies:
# On new machine:
# 1. Clone your backup
git clone git@github.com:YOURUSER/openclaw-state.git ~/.openclaw/workspace
# 2. Restore API keys from your password manager
# (secrets are not backed up for security)
# 3. Start OpenClaw
openclaw gateway start
# 4. Restore your cron jobs
openclaw cron restore ~/.openclaw/workspace/memory/cron-jobs-backup.json
Your agent will remember everything up to the last checkpoint, including scheduled tasks.
⚠️ Security: Use a PRIVATE Repository
Your backup contains personal data:
- Agent identity and personality
- Conversation history and memories
- Personal notes and configurations
Always use a private GitHub repository for your backup.
Requirements
- macOS or Linux (Windows is not supported)
- Git
- SSH key or GitHub Personal Access Token
- A private GitHub repository for storing backups
Cron Job Backup & Restore
Each time you run checkpoint-backup, your OpenClaw cron jobs are automatically exported to memory/cron-jobs-backup.json. This means your scheduled tasks (morning briefs, daily syncs, automated workflows, etc.) are preserved alongside your workspace.
Backup happens automatically -- no extra steps needed. The checkpoint-backup command calls openclaw cron list --json, cleans the output to keep only configuration (not runtime state), and saves it to the backup file.
Restore after disaster recovery:
# After restoring your workspace with checkpoint-resume, re-create your cron jobs:
openclaw cron restore memory/cron-jobs-backup.json
# Or manually inspect the backup and recreate jobs:
cat ~/.openclaw/workspace/memory/cron-jobs-backup.json
Requirements:
- The
openclawCLI must be available on PATH - The OpenClaw gateway must be running for backup to succeed
- If either is unavailable, checkpoint-backup continues without cron backup (non-blocking)
How It Works
- checkpoint-init creates a git repo in
~/.openclaw/workspace - checkpoint-backup exports cron jobs to JSON, then commits and pushes changes to GitHub
- checkpoint-schedule sets up cron (Linux) or launchd (macOS) for auto-backups
- checkpoint-resume pulls the latest backup from GitHub
Security and Permissions
This skill uses standard system scheduling to automate backups:
- macOS: Creates a launchd plist at
~/Library/LaunchAgents/com.openclaw.checkpoint.plist - Linux: Adds a user-level cron job (visible via
crontab -l)
Auto-backup is opt-in only -- it is never enabled unless you explicitly run checkpoint-schedule. You can disable it at any time with checkpoint-stop or checkpoint-schedule disable.
The skill does not install any background daemons, system services, or root-level processes. All scheduling runs under your user account.
File access scope: The skill only reads and writes within ~/.openclaw/workspace. It does not access files outside this directory. Sensitive files (.env.*, credentials, OAuth tokens) are excluded from backups via .gitignore.
Troubleshooting
<details> <summary><strong>"Not a git repository"</strong></summary>Run checkpoint-setup for guided setup, or checkpoint-init to initialize manually.
Another machine pushed changes. Run checkpoint-resume first, then checkpoint-backup.
GitHub no longer accepts passwords. Switch to SSH:
cd ~/.openclaw/workspace
git remote set-url origin git@github.com:USER/REPO.git
</details>
<details>
<summary><strong>"Permission denied (publickey)"</strong></summary>
Your SSH key isn't added to GitHub. Run checkpoint-auth to set up SSH authentication.
About
This is a community skill for OpenClaw, an AI agent framework. It's not officially affiliated with the OpenClaw project.
License
MIT