OpenClaw の新しいマシンへの移行
このガイドでは、オンボーディングをやり直すことなく OpenClaw Gateway を別のマシンに移行する方法を説明します。
移行の概念はシンプルです:
- 状態ディレクトリ(
$OPENCLAW_STATE_DIR、デフォルト:~/.openclaw/)をコピー — 設定、認証、セッション、チャンネルの状態が含まれます。 - ワークスペース(デフォルト:
~/.openclaw/workspace/)をコピー — エージェントファイル(メモリ、プロンプトなど)が含まれます。
ただし、プロファイル、パーミッション、部分コピーに関するよくあるハマりどころがあります。
移行前の準備(何を移行するか)
1) 状態ディレクトリの特定
ほとんどのインストールではデフォルトを使用しています:
- 状態ディレクトリ:
~/.openclaw/
ただし、以下を使用している場合は異なる可能性があります:
--profile <name>(通常は~/.openclaw-<profile>/になります)OPENCLAW_STATE_DIR=/some/path
不明な場合は、旧マシンで以下を実行してください:
openclaw status
出力に含まれる OPENCLAW_STATE_DIR / プロファイルの記載を確認してください。複数の Gateway を実行している場合は、各プロファイルについて繰り返してください。
2) ワークスペースの特定
よくあるデフォルト:
~/.openclaw/workspace/(推奨ワークスペース)- 独自に作成したカスタムフォルダ
ワークスペースには MEMORY.md、USER.md、memory/*.md などのファイルが格納されています。
3) 保持されるもの
状態ディレクトリとワークスペースの両方をコピーすると、以下が保持されます:
- Gateway 設定(
openclaw.json) - 認証プロファイル / API キー / OAuth トークン
- セッション履歴 + エージェントの状態
- チャンネルの状態(例:WhatsApp のログイン/セッション)
- ワークスペースファイル(メモリ、スキルメモなど)
ワークスペースのみをコピーした場合(例:Git 経由)、以下は保持されません:
- セッション
- 認証情報
- チャンネルのログイン
これらは $OPENCLAW_STATE_DIR 配下にあります。
移行手順(推奨)
ステップ0 — バックアップの作成(旧マシン)
旧マシンで、コピー中にファイルが変更されないよう、まず Gateway を停止します:
openclaw gateway stop
(任意ですが推奨)状態ディレクトリとワークスペースをアーカイブ:
# プロファイルやカスタム場所を使用している場合はパスを調整
cd ~
tar -czf openclaw-state.tgz .openclaw
tar -czf openclaw-workspace.tgz .openclaw/workspace
複数のプロファイル/状態ディレクトリがある場合(例:~/.openclaw-main、~/.openclaw-work)、それぞれをアーカイブしてください。
ステップ1 — 新しいマシンに OpenClaw をインストール
新しいマシンで CLI(および必要に応じて Node)をインストール:
- 参照:インストール
この段階では、オンボーディングにより新しい ~/.openclaw/ が作成されても問題ありません。次のステップで上書きします。
ステップ2 — 状態ディレクトリ + ワークスペースを新しいマシンにコピー
両方をコピーしてください:
$OPENCLAW_STATE_DIR(デフォルト~/.openclaw/)- ワークスペース(デフォルト
~/.openclaw/workspace/)
一般的な方法:
- tarball を
scpで転送して展開 - SSH 経由で
rsync -a - 外部ドライブ
コピー後、以下を確認してください:
- 隠しディレクトリが含まれていること(例:
.openclaw/) - Gateway を実行するユーザーに対してファイル所有権が正しいこと
ステップ3 — Doctor の実行(移行 + サービス修復)
新しいマシンで:
openclaw doctor
Doctor は「安全で退屈な」コマンドです。サービスの修復、設定の移行、不整合の警告を行います。
その後:
openclaw gateway restart
openclaw status
よくあるハマりどころ(と回避方法)
ハマりどころ:プロファイル / 状態ディレクトリの不一致
旧 Gateway をプロファイル付き(または OPENCLAW_STATE_DIR)で実行しており、新 Gateway が別のものを使用している場合、以下の症状が現れます:
- 設定変更が反映されない
- チャンネルが見つからない / ログアウト状態
- セッション履歴が空
修正:移行した同じプロファイル/状態ディレクトリを使って Gateway/サービスを実行し、再度実行:
openclaw doctor
ハマりどころ:openclaw.json だけのコピー
openclaw.json だけでは不十分です。多くのプロバイダーは以下に状態を保存しています:
$OPENCLAW_STATE_DIR/credentials/$OPENCLAW_STATE_DIR/agents/<agentId>/...
$OPENCLAW_STATE_DIR フォルダ全体を必ず移行してください。
ハマりどころ:パーミッション / 所有権
root としてコピーしたりユーザーを変更した場合、Gateway が認証情報/セッションを読み取れなくなる可能性があります。
修正:状態ディレクトリ + ワークスペースが Gateway を実行するユーザーの所有であることを確認してください。
ハマりどころ:リモート/ローカルモード間の移行
- UI(WebUI/TUI)がリモート Gateway を指している場合、リモートホストがセッションストア + ワークスペースを所有しています。
- ラップトップを移行しても、リモート Gateway の状態は移動しません。
リモートモードの場合は、Gateway ホストを移行してください。
ハマりどころ:バックアップ内のシークレット
$OPENCLAW_STATE_DIR にはシークレット(API キー、OAuth トークン、WhatsApp 認証情報)が含まれています。バックアップは本番シークレットと同様に扱ってください:
- 暗号化して保存
- セキュアでないチャンネルでの共有を避ける
- 漏洩が疑われる場合はキーをローテーション
確認チェックリスト
新しいマシンで以下を確認してください:
openclaw statusで Gateway が稼働中と表示される- チャンネルが接続されたまま(例:WhatsApp の再ペアリングが不要)
- ダッシュボードが開き、既存のセッションが表示される
- ワークスペースファイル(メモリ、設定)が存在する