Clawdbot Sync š
Synchronize memory, preferences, and skills between multiple Clawdbot instances over Tailscale/SSH.
Features
- Bi-directional sync between Clawdbot instances
- Smart conflict resolution (newest wins, or merge for logs)
- Selective sync ā choose what to sync
- Peer discovery via Tailscale
- Dry-run mode for preview
Commands
| Command | Action |
|---|
/sync
| Show status and configured peers |
/sync status
| Check connection to all peers |
/sync now [peer]
| Sync with peer (or all) |
/sync push [peer]
| Push local changes to peer |
/sync pull [peer]
| Pull changes from peer |
/sync add <name> <host> [user] [path]
| Add a peer |
/sync remove <name>
| Remove a peer |
/sync diff [peer]
| Show what would change |
/sync history
| Show sync history |
Setup
1. Configure Peers
handler.sh add mac-mini 100.95.193.55 clawdbot /Users/clawdbot/clawd $WORKSPACE
handler.sh add server 100.89.48.26 clawdbot /home/clawdbot/clawd $WORKSPACE
2. Ensure SSH Access
Both machines need SSH key auth:
ssh-copy-id clawdbot@100.95.193.55
3. Test Connection
handler.sh status $WORKSPACE
What Gets Synced
| Item | Default | Notes |
|---|
memory/
| ā
Yes | All memory files and skill data |
MEMORY.md
| ā
Yes | Main memory file |
USER.md
| ā
Yes | User profile |
IDENTITY.md
| ā No | Each instance has its own identity |
skills/
| āļø Optional | Installed skills |
config/
| ā No | Instance-specific config |
Handler Commands
handler.sh status $WORKSPACE # Check peers and connection
handler.sh sync <peer> $WORKSPACE # Bi-directional sync
handler.sh push <peer> $WORKSPACE # Push to peer
handler.sh pull <peer> $WORKSPACE # Pull from peer
handler.sh diff <peer> $WORKSPACE # Show differences
handler.sh add <name> <host> <user> <path> $WS # Add peer
handler.sh remove <name> $WORKSPACE # Remove peer
handler.sh history $WORKSPACE # Sync history
handler.sh auto <on|off> $WORKSPACE # Auto-sync on heartbeat
Conflict Resolution
- Timestamp-based: Newer file wins
- Merge for logs: Append-only files are merged
- Skip conflicts: Option to skip conflicting files
- Manual resolution: Flag for review
Data Files
Stored in
$WORKSPACE/memory/clawdbot-sync/
:
| File | Purpose |
|---|
peers.json
| Configured peers |
history.json
| Sync history log |
config.json
| Sync preferences |
conflicts/
| Conflicting files for review |
Example Session
User: /sync now mac-mini
Bot: š Syncing with mac-mini (100.95.193.55)...
š¤ Pushing: 3 files changed
⢠memory/streaming-buddy/preferences.json
⢠memory/2026-01-26.md
⢠MEMORY.md
š„ Pulling: 1 file changed
⢠memory/2026-01-25.md
ā
Sync complete! 4 files synchronized.
Requirements
rsync
(for efficient file sync)
ssh
(for secure transport)
- Tailscale or direct network access between peers
- SSH key authentication configured
Security
- Uses SSH for all transfers (encrypted)
- No passwords stored (key-based auth only)
- Sync paths are restricted to workspace
- No system files are ever synced