clawdbot-skill-update
Clawdbot Update Skill
Comprehensive backup, update, and restore workflow for Clawdbot installations.
Repository
- GitHub: https://github.com/clawdbot/clawdbot
- Upstream:
origin/main - Local Clone:
~/code/clawdbot(default)
Description
This skill provides a complete, modular update workflow for Clawdbot with dynamic workspace detection:
- Configuration files
- Agent states and sessions
- Credentials and auth tokens
- All agent workspaces (auto-detected from config)
- Cron jobs and sandboxes
- Git repository state
Key Features
✅ Dynamic Workspace Detection - Reads workspace paths from config
✅ Multi-Agent Support - Handles multiple agents automatically
✅ Safe Rollback - Full restore capability
✅ Git Integration - Tracks versions and remotes
✅ Validation - Pre/post checks included
✅ Dry Run - Preview before backup
Files
config.json- Skill configuration (repo URLs, paths)backup-clawdbot-dryrun.sh- Dry run preview (no changes)backup-clawdbot-full.sh- Dynamic full backup scriptrestore-clawdbot.sh- Dynamic restore scriptvalidate-setup.sh- Pre/post update validationcheck-upstream.sh- Check for available updatesUPDATE_CHECKLIST.md- Step-by-step update checklistQUICK_REFERENCE.md- Quick command referenceSKILL.md- This fileREADME.md- Quick start guide
Dynamic Features
Both backup and restore scripts now:
- Read workspace paths from
~/.clawdbot/clawdbot.json - Support any number of agents
- Handle missing workspaces gracefully
- Generate safe filenames from agent IDs
When to Use
Trigger this skill when asked to:
- "update clawdbot"
- "upgrade to latest version"
- "backup clawdbot before update"
- "restore clawdbot from backup"
- "rollback clawdbot update"
Usage
1. Preview Backup (Dry Run)
~/.skills/clawdbot-update/backup-clawdbot-dryrun.sh
Shows:
- What files would be backed up
- Estimated backup size
- Workspace detection results
- Disk space availability
- Files that would be skipped
No files are created or modified!
2. Create Full Backup
~/.skills/clawdbot-update/backup-clawdbot-full.sh
Backs up:
~/.clawdbot/clawdbot.json(config)~/.clawdbot/sessions/(session state)~/.clawdbot/agents/(multi-agent state)~/.clawdbot/credentials/(auth tokens)~/.clawdbot/cron/(scheduled jobs)~/.clawdbot/sandboxes/(sandbox state)- All agent workspaces (dynamically detected!)
- Git commit and status
Output: ~/.clawdbot-backups/pre-update-YYYYMMDD-HHMMSS/
3. Update Clawdbot
Follow the checklist:
cat ~/.skills/clawdbot-update/UPDATE_CHECKLIST.md
Key steps:
- Create backup
- Stop gateway
- Pull latest code
- Adjust config for breaking changes
- Run doctor
- Test functionality
- Start gateway as daemon
4. Restore from Backup
~/.skills/clawdbot-update/restore-clawdbot.sh ~/.clawdbot-backups/pre-update-YYYYMMDD-HHMMSS
Restores:
- All configuration
- All state files
- All workspaces
- Optionally: git version
Important Notes
Multi-Agent Setup
This skill is designed for multi-agent setups with:
- Multiple agents with separate workspaces
- Sandbox configurations
- Provider routing (WhatsApp/Telegram/Discord/Slack/etc.)
Breaking Changes in v2026.1.8
CRITICAL:
- DM Lockdown: DMs now default to
pairingpolicy instead of open - Groups:
telegram.groupsandwhatsapp.groupsare now allowlists - Sandbox: Default scope changed to
"agent"from implicit - Timestamps: Now UTC format in agent envelopes
Backup Validation
After backup, always verify:
BACKUP_DIR=~/.clawdbot-backups/pre-update-YYYYMMDD-HHMMSS
cat "$BACKUP_DIR/BACKUP_INFO.txt"
ls -lh "$BACKUP_DIR"
Should contain:
- ✅
clawdbot.json - ✅
credentials.tar.gz - ✅
workspace-*.tar.gz(one per agent)
Config Changes Required
Example: Switch WhatsApp to pairing:
jq '.whatsapp.dmPolicy = "pairing"' ~/.clawdbot/clawdbot.json | sponge ~/.clawdbot/clawdbot.json
Example: Set explicit sandbox scope:
jq '.agent.sandbox.scope = "agent"' ~/.clawdbot/clawdbot.json | sponge ~/.clawdbot/clawdbot.json
Workflow
Standard Update Flow
# 1. Check for updates
~/.skills/clawdbot-update/check-upstream.sh
# 2. Validate current setup
~/.skills/clawdbot-update/validate-setup.sh
# 3. Dry run
~/.skills/clawdbot-update/backup-clawdbot-dryrun.sh
# 4. Backup
~/.skills/clawdbot-update/backup-clawdbot-full.sh
# 5. Stop gateway
cd ~/code/clawdbot
pnpm clawdbot gateway stop
# 6. Update code
git checkout main
git pull --rebase origin main
pnpm install
pnpm build
# 7. Run doctor
pnpm clawdbot doctor --yes
# 8. Test
pnpm clawdbot gateway start # foreground for testing
# 9. Deploy
pnpm clawdbot gateway stop
pnpm clawdbot gateway start --daemon
Rollback Flow
# Quick rollback
~/.skills/clawdbot-update/restore-clawdbot.sh <backup-dir>
# Manual rollback
cd ~/code/clawdbot
git checkout <old-commit>
pnpm install && pnpm build
cp <backup-dir>/clawdbot.json ~/.clawdbot/
pnpm clawdbot gateway restart
Testing After Update
Functionality Tests
- Provider DMs work (check pairing policy)
- Group mentions respond
- Typing indicators work
- Agent routing works
- Sandbox isolation works
- Tool restrictions enforced
New Features
pnpm clawdbot agents list
pnpm clawdbot logs --tail 50
pnpm clawdbot providers list --usage
pnpm clawdbot skills list
Monitoring
# Live logs
pnpm clawdbot logs --follow
# Or Web UI
open http://localhost:3001/logs
# Check status
pnpm clawdbot status
pnpm clawdbot gateway status
Troubleshooting
Common Issues
Gateway won't start:
pnpm clawdbot logs --grep error
pnpm clawdbot doctor
Auth errors:
# OAuth profiles might need re-login
pnpm clawdbot providers login <provider>
Sandbox issues:
# Check sandbox config
jq '.agent.sandbox' ~/.clawdbot/clawdbot.json
# Check per-agent sandbox
jq '.routing.agents[] | {name, sandbox}' ~/.clawdbot/clawdbot.json
Emergency Restore
If something goes wrong:
# 1. Stop gateway
pnpm clawdbot gateway stop
# 2. Full restore
LATEST_BACKUP=$(ls -t ~/.clawdbot-backups/ | head -1)
~/.skills/clawdbot-update/restore-clawdbot.sh ~/.clawdbot-backups/$LATEST_BACKUP
# 3. Restart
pnpm clawdbot gateway start
Installation
Via ClawdHub
clawdbot skills install clawdbot-update
Manual
git clone <repo-url> ~/.skills/clawdbot-update
chmod +x ~/.skills/clawdbot-update/*.sh
License
MIT - see LICENSE
Author
Pascal Schott (@pasogott)
Contribution for Clawdbot
https://github.com/clawdbot/clawdbot