Latest NewsAgentsAutomationToolsSecurity

I Moved My OpenClaw to a New Machine and It Nearly Broke Me. Here’s the Easy Way.

Last updated: February 2025


Let me tell you about the worst Tuesday I’ve had in recent
memory.

I’d been running OpenClaw on an old MacBook Pro that was starting to
sound like a jet engine every time clawdbot processed a long
conversation. The fan noise alone was enough to justify an upgrade. So I
bought a Mac Mini M4, set it on my desk like a proud new parent, and
thought: “I’ll just move everything over. How hard can it be?”

Famous last words.

Four hours later I had a fresh OpenClaw install that didn’t recognise
any of my nodes, couldn’t find my Telegram bot token, had completely
forgotten six months of memory files, and kept throwing authentication
errors at my Gmail SMTP credentials. My clawdbot was essentially
lobotomised — alive but empty.

I got it working eventually. And then I wrote this guide so you never
have to live through what I did.

If you’re planning an openclaw mac mini setup — or
really any migration between machines — this is the article I wish
existed when I started.

What Can
Actually Go Wrong (More Than You Think)

Before we get to the clean process, let me walk you through the
landmines. Understanding what can break is half the battle when you
migrate openclaw between machines.

1. The Config Directory Is
Everything

OpenClaw stores its entire personality in ~/.openclaw/.
That’s your config, your credentials, your workspace, your memory files
— everything. Miss one subdirectory and your bot wakes up with
amnesia.

The first time I migrated, I copied the config file but forgot the
credentials/ folder. OpenClaw started fine. It connected to
Telegram fine. Then it tried to check my email and crashed. Then it
tried to access Google Drive and crashed again. It was like watching
someone try to drive a car with no wheels.

2. Memory Files Are Your Bot’s
Soul

This is the one that hurt the most. OpenClaw agents build up context
over time — daily memory files, long-term memory
(MEMORY.md), lessons learned (LESSONS.md),
active discussion threads (CONTEXT.md). If you’ve been
running clawdbot or moltbot for months, those files represent genuine
accumulated knowledge about you, your preferences, and your
projects.

I forgot to copy ~/.openclaw/workspace/memory/. My bot
came back online and had no idea what I’d been working on. It didn’t
remember my property in South Africa. It didn’t remember my budget
spreadsheet. It was like meeting an old friend who’d had a complete
memory wipe.

3. Node Pairings Don’t
Auto-Transfer

If you’ve got mobile devices paired to OpenClaw, those pairings are
stored in the config. But if the new machine has a different hostname or
IP, the nodes might not reconnect cleanly. I had to re-pair my phone,
which wasn’t the end of the world but was annoying at 11pm on a
Tuesday.

4. Tailscale Needs Its Own
Migration

If you’re using Tailscale for remote SSH access (and you should be —
more on that later), the new machine needs its own Tailscale identity.
You can’t just copy the Tailscale config. The new Mac Mini gets a new IP
on your tailnet. Every SSH alias, every script that references the old
IP — all need updating.

5. SSH Keys and Permissions

Copy your SSH keys but forget to set permissions?
chmod 600 or SSH refuses to use them. I’ve made this
mistake more times than I’m comfortable admitting.

6. Node Modules and
Dependencies

Your node_modules might have platform-specific binaries.
If you’re moving between architectures (Intel to Apple Silicon, for
example), don’t bother copying node_modules. Just
reinstall.


The Pre-Migration Checklist

Here’s what to back up before you touch anything. I’d recommend doing
this even if you’re not planning to migrate — it’s just a good
openclaw backup practice.

Print this. Tape it to your monitor. Don’t skip
steps.

Quick backup command:

# Create a timestamped backup of everything that matters
BACKUP_DIR="$HOME/openclaw-backup-$(date +%Y%m%d)"
mkdir -p "$BACKUP_DIR"
cp -R ~/.openclaw "$BACKUP_DIR/"
cp -R ~/.ssh "$BACKUP_DIR/"
cp ~/.zshrc "$BACKUP_DIR/" 2>/dev/null
cp -R ~/.config/rclone "$BACKUP_DIR/" 2>/dev/null
crontab -l > "$BACKUP_DIR/crontab-backup.txt" 2>/dev/null
echo "Backup complete: $BACKUP_DIR"

Compress it and transfer it however you like — AirDrop, USB drive,
scp, rclone to Google Drive. Just get it off the old machine.


Step-by-Step: Move
OpenClaw to a New Computer

Here’s the clean process for a complete move openclaw new
computer
migration. I’m assuming Mac to Mac (specifically a
clawdbot mac mini setup), but the principles apply to
any Unix-based system.

Step 1: Prepare the New
Machine

On your fresh Mac Mini (or whatever you’re migrating to):

# Install Homebrew if you haven't
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# Install Node.js (OpenClaw needs it)
brew install node

# Install any other tools you depend on
brew install rclone git

Step 2: Install OpenClaw

Follow the official install process. Don’t try to skip this by just
copying binaries — let the installer set up the directory structure
properly.

# Install OpenClaw (follow the official docs for the latest method)
# This creates the ~/.openclaw directory structure

Step 3: Stop OpenClaw
on the Old Machine

# On the OLD machine
openclaw gateway stop

This ensures nothing is writing to config files while you’re copying
them.

Step 4: Transfer Your Backup

# From the old machine to the new one (via scp, for example)
scp -r ~/openclaw-backup-20250211 mervbot@new-machine:/Users/mervbot/

Step 5: Restore Config and
Workspace

# On the NEW machine — overlay your backup onto the fresh install
cp -R ~/openclaw-backup-*/\.openclaw/* ~/.openclaw/

# Restore SSH keys
cp -R ~/openclaw-backup-*/\.ssh/* ~/.ssh/
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_*
chmod 644 ~/.ssh/*.pub

# Restore rclone config
mkdir -p ~/.config/rclone
cp ~/openclaw-backup-*/rclone/rclone.conf ~/.config/rclone/

Step 6: Install Node
Dependencies

# If your workspace has any Node projects, reinstall dependencies
cd ~/.openclaw
npm install  # or whatever the OpenClaw setup requires

Don’t copy node_modules between machines, especially
across architectures. Fresh install every time.

Step 7: Start OpenClaw and
Test

openclaw gateway start
openclaw gateway status

Watch the logs. If something’s wrong, it’ll usually tell you within
the first 30 seconds.

Step 8: Verify Everything
Works

This is the step people skip. Don’t.


Post-Migration
Verification Checklist

Run through these one by one. Each tests a different subsystem:

  1. Gateway running?
    openclaw gateway status should show active
  2. Telegram connected? — Send a message to your bot.
    Does it respond?
  3. Memory intact? — Ask your bot “What have we been
    working on recently?” It should reference recent projects from memory
    files
  4. Credentials working? — Ask it to check your email
    or access Google Drive
  5. Nodes connecting? — Check if your phone/tablet
    nodes are paired and reachable
  6. SSH keys working? — Try any SSH connections your
    bot uses
  7. Cron jobs restored?crontab -l to
    verify, then re-import if needed:
    crontab ~/openclaw-backup-*/crontab-backup.txt
  8. rclone working?rclone ls gdrive: to
    test Google Drive access

If clawdbot responds to Telegram, remembers your projects, and can
access external services — you’re golden. If you’re running moltbot as a
secondary agent, test that separately with its own channel.

For a deeper look at how these services interact and what they cost,
check out the OpenClaw cost
breakdown
.


Essential Tips for Your New
Setup

These aren’t strictly migration steps, but if you’re setting up a
dedicated openclaw mac mini setup, do all three. You’ll
thank yourself later.

Tailscale for Remote Access

Tailscale gives you a private network between all your devices. Once
installed on your Mac Mini, you can SSH in from anywhere — your phone,
your laptop at a coffee shop, whatever.

# Install Tailscale
brew install tailscale

# Start and authenticate
sudo tailscaled &
tailscale up

Your Mac Mini gets a stable IP on your tailnet (something like
100.x.x.x). Add it to your SSH config:

Host macmini
    HostName 100.x.x.x
    User mervbot

Now ssh macmini works from anywhere. No port forwarding,
no dynamic DNS, no exposed ports. If you’re wondering about the security
implications, I wrote about whether OpenClaw is
safe
— Tailscale is a big part of why the answer is yes.

Passwordless Sudo

Some OpenClaw operations need sudo. Rather than having your bot get
stuck on a password prompt at 3am:

sudo visudo
# Add this line (replace 'mervbot' with your username):
mervbot ALL=(ALL) NOPASSWD: ALL

Use with caution — this means any process running as your user can
sudo without a password. On a dedicated bot machine, the tradeoff is
usually worth it.

Auto-Login on Reboot

If your Mac Mini loses power and reboots, you want OpenClaw to come
back automatically. Two things need to happen:

  1. Auto-login the user account: System Settings →
    Users & Groups → Automatic login
  2. Auto-start OpenClaw: Create a launch agent:
cat > ~/Library/LaunchAgents/com.openclaw.gateway.plist << 'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.openclaw.gateway</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/local/bin/openclaw</string>
        <string>gateway</string>
        <string>start</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    <key>KeepAlive</key>
    <false/>
    <key>StandardOutPath</key>
    <string>/tmp/openclaw-gateway.log</string>
    <key>StandardErrorPath</key>
    <string>/tmp/openclaw-gateway-err.log</string>
</dict>
</plist>
EOF

launchctl load ~/Library/LaunchAgents/com.openclaw.gateway.plist

Now your clawdbot survives power outages. One less thing to worry
about.


The
Nuclear Option: Fresh Install + Restore from Backup

Sometimes the migration is too messy. Config conflicts, version
mismatches, weird permission issues that make no sense. When you’ve
spent two hours debugging and you’re ready to throw the Mac Mini out the
window — here’s the clean-slate approach.

1. Nuke It

openclaw gateway stop
rm -rf ~/.openclaw

Yes, really. We’re starting fresh. (You have your backup, right?
RIGHT?)

2. Fresh Install

Reinstall OpenClaw from scratch. Follow the official installation
guide exactly as if you’d never installed it before.

3. Restore Only What Matters

Instead of copying the entire .openclaw directory, be
surgical:

# Restore credentials
cp -R ~/openclaw-backup-*/\.openclaw/credentials ~/.openclaw/

# Restore environment variables
cp ~/openclaw-backup-*/\.openclaw/.env ~/.openclaw/

# Restore workspace (memory, projects, everything)
cp -R ~/openclaw-backup-*/\.openclaw/workspace ~/.openclaw/

Notice what we’re NOT restoring: the main config file, any cached
data, node_modules, or generated files. Let the fresh install handle
those. Then reconfigure what’s needed.

4. Reconfigure

# Start the gateway
openclaw gateway start

# Re-pair your nodes if needed
# Reconnect Telegram
# Test everything using the verification checklist above

This approach takes longer but results in a cleaner setup. No config
ghosts from the old machine, no stale cache, no mystery bugs. I’ve done
it both ways now, and honestly? If I were migrating again, I’d go
nuclear from the start.


Final Thoughts

Migrating OpenClaw between machines doesn’t have to be painful. The
key insight is that ~/.openclaw/ contains your bot’s entire
identity — config, credentials, memory, personality. Protect that
directory and everything else is just infrastructure.

My openclaw mac mini setup has been rock solid since
I got the migration right. The Mac Mini sits quietly on my shelf,
clawdbot handles my Telegram messages, checks my email, manages my files
— and the fan noise is exactly zero.

If you’re still running OpenClaw on a laptop and thinking about a
dedicated machine, do it. And when you do, bookmark this page. Future
you will be grateful.


Got a migration horror story of your own? Found a step I missed?
Drop a comment below or find me on Telegram.

Keep Reading