How to Migrate from Clawdbot to OpenClaw
Migrating from legacy Clawdbot to modern OpenClaw unlocks better performance, active maintenance, and a growing ecosystem. This comprehensive guide walks you through exporting your Clawdbot configuration, mapping it to OpenClaw's format, migrating custom skills, transferring data, and safely cutting over. With proper planning, you'll complete the migration in 2-4 hours with minimal downtime.
Why This Is Hard to Do Yourself
These are the common pitfalls that trip people up.
Config format differences
Clawdbot uses JSON, OpenClaw uses YAML with different field names
Custom skill compatibility
Clawdbot skills use different APIs and may need refactoring
Data migration complexity
SQLite schema differences between Clawdbot and OpenClaw
Zero-downtime cutover
Switching systems without losing active sessions or data
Step-by-Step Guide
Export Clawdbot configuration
Backup your current Clawdbot setup.
cd ~/clawdbot
cp config.json config.json.backup
cp -r skills skills.backup
sqlite3 clawdbot.db ".backup clawdbot.db.backup"Warning: Keep Clawdbot running during migration until you've verified OpenClaw works correctly. Don't delete anything yet.
Install OpenClaw alongside Clawdbot
Set up OpenClaw in a separate directory.
cd ~
git clone https://github.com/openclaw/openclaw.git
cd openclaw
npm installMap Clawdbot config to OpenClaw format
Convert JSON config to YAML.
# Create gateway.yaml from Clawdbot config.json
cp gateway.example.yaml gateway.yaml
nano gateway.yaml
# Map fields:
# Clawdbot "port" -> OpenClaw "server.port"
# Clawdbot "apiKeys" -> OpenClaw "auth.apiKeys"
# Clawdbot "allowedOrigins" -> OpenClaw "cors.origins"Migrate custom skills
Port Clawdbot skills to OpenClaw API.
# For each custom skill in ~/clawdbot/skills:
# 1. Copy to ~/openclaw/skills/
# 2. Update imports: clawdbot-sdk -> @openclaw/sdk
# 3. Update API calls to match OpenClaw SDK
# 4. Test with npm run devWarning: Clawdbot and OpenClaw skill APIs are NOT compatible. Expect to refactor custom skills. Simple skills may work with minor changes, complex ones may need rewrites.
Migrate data (if needed)
Transfer conversation history and user data.
# Export data from Clawdbot
sqlite3 ~/clawdbot/clawdbot.db.backup ".dump conversations" > conversations.sql
# Import to OpenClaw (may require schema adjustments)
sqlite3 ~/openclaw/openclaw.db < conversations.sql
# Verify:
sqlite3 ~/openclaw/openclaw.db "SELECT COUNT(*) FROM conversations;"Test OpenClaw thoroughly
Run OpenClaw on a different port and test.
cd ~/openclaw
# Edit gateway.yaml to use port 3001
npm start
# Test all skills and functionality at localhost:3001Cutover to OpenClaw
Stop Clawdbot and switch to OpenClaw.
# Stop Clawdbot
cd ~/clawdbot
npm stop # Or kill the process
# Update OpenClaw to use the original port (3000)
cd ~/openclaw
nano gateway.yaml # Change port back to 3000
npm start
# Verify at localhost:3000Set up OpenClaw service and cleanup
Configure auto-start and archive Clawdbot.
# Set up systemd service for OpenClaw (see DigitalOcean guide)
# After 1-2 weeks of stable operation:
cd ~
tar czf clawdbot-archive.tar.gz clawdbot/
# Safely store archive, then remove clawdbot directoryMigration Too Risky to DIY?
Migrating from Clawdbot to OpenClaw involves config mapping, skill refactoring, and data migration with zero tolerance for downtime. Our migration specialists have done this dozens of times. Get a safe, tested migration with full rollback capability.
Get matched with a specialist who can help.
Sign Up for Expert Help โ