Skip to content

Migrating from Claude

OpenClaw 透過內建的 Claude 遷移提供者匯入本機 Claude 狀態。該提供者在變更狀態前會預覽每個項目,在計畫和報告中編輯機密,並在套用前建立經過驗證的備份。

當精靈偵測到本機 Claude 狀態時,會提供 Claude 選項。

Terminal window
openclaw onboard --flow import

或指向特定來源:

Terminal window
openclaw onboard --import-from claude --import-source ~/.claude
指令與記憶
  • 專案 CLAUDE.md.claude/CLAUDE.md 內容會被複製或附加到 OpenClaw 代理工作區 AGENTS.md 中。
  • 使用者 ~/.claude/CLAUDE.md 內容會被附加到工作區 USER.md 中。
MCP servers

MCP 伺服器定義會從專案 .mcp.json、Claude Code ~/.claude.json 和 Claude Desktop claude_desktop_config.json 中匯入(如果存在的話)。

技能與指令
  • 帶有 SKILL.md 檔案的 Claude 技能會被複製到 OpenClaw 工作區的技能目錄中。
  • 位於 .claude/commands/~/.claude/commands/ 下的 Claude 指令 Markdown 檔案會被轉換為帶有 disable-model-invocation: true 的 OpenClaw 技能。

提供者會將這些項目複製到遷移報告中以供手動審查,但會避免將其載入到即時的 OpenClaw 配置中:

  • Claude hooks
  • Claude 權限和廣泛的工具允許清單
  • Claude 環境預設值
  • CLAUDE.local.md
  • .claude/rules/
  • .claude/agents/~/.claude/agents/ 下的 Claude 子代理程式
  • Claude Code 快取、計畫和專案歷史記錄目錄
  • Claude Desktop 擴充功能和作業系統儲存的憑證

OpenClaw 拒絕執行 hooks、信任權限允許清單,或自動解碼不透明的 OAuth 和 Desktop 憑證狀態。在檢閱歸檔後,請手動移動您所需的項目。

如果未指定 --from,OpenClaw 會檢查位於 ~/.claude 的預設 Claude Code 主目錄、取樣的 Claude Code ~/.claude.json 狀態檔案,以及 macOS 上的 Claude Desktop MCP 配置。

--from 指向專案根目錄時,OpenClaw 僅匯入該專案的 Claude 檔案,例如 CLAUDE.md.claude/settings.json.claude/commands/.claude/skills/.mcp.json。在專案根目錄匯入期間,它不會讀取您的全域 Claude 主目錄。

  1. 預覽計畫

    Terminal window
    openclaw migrate claude --dry-run

    該計畫會列出將會變更的所有內容,包括衝突、跳過的項目,以及從巢狀 MCP envheaders 欄位中編輯的敏感值。

  2. 套用並備份

    Terminal window
    openclaw migrate apply claude --yes

    OpenClaw 會在套用之前建立並驗證備份。

  3. Run doctor

    Terminal window
    openclaw doctor

    Doctor 會檢查匯入後的設定或狀態問題。

  4. Restart and verify

    Terminal window
    openclaw gateway restart
    openclaw status

    確認 Gateway 運作正常,且您匯入的指令、MCP 伺服器和技能已載入。

當計畫回報衝突時(目標位置已存在檔案或設定值),Apply 會拒絕繼續執行。

對於全新的 OpenClaw 安裝,衝突並不常見。它們通常出現在您對已有使用者編輯的設定重新執行匯入時。

Terminal window
openclaw migrate claude --dry-run --json
openclaw migrate apply claude --json --yes

使用 --json 且不使用 --yes 時,Apply 會列印計畫而不變更狀態。這是 CI 和共用腳本最安全的模式。

Claude state lives outside ~/.claude

傳遞 --from /actual/path (CLI) 或 --import-source /actual/path (onboarding)。

Onboarding refuses to import on an existing setup

Onboarding 匯入需要全新的設定。請重設狀態並重新進行 Onboarding,或是直接使用 openclaw migrate apply claude,後者支援 --overwrite 和明確的備份控制。

MCP servers from Claude Desktop did not import

Claude Desktop 會從平台特定的路徑讀取 claude_desktop_config.json。如果 OpenClaw 未自動偵測到,請將 --from 指向該檔案的目錄。

Claude 指令已轉換為停用模型呼叫的技能

這是設計使然。Claude 指令是由使用者觸發的,因此 OpenClaw 會將它們作為帶有 disable-model-invocation: true 的技能匯入。如果您希望代理程式自動呼叫這些技能,請編輯每個技能的 frontmatter。