Вопрос

Перенос Claude Code в OpenClaw: что возьмёт миграция и что переписать руками

Покажем, какие настройки Claude Code импортируются автоматически, какие остаются только в архиве и как прогнать миграцию через CLI.

· 4 мин чтения

Коротко

  • Миграция из Claude берёт инструкции, MCP-серверы и скиллы, но кладёт их в план сначала. Изменения только после явного применения.
  • Хуки, allowlist-разрешения, переменные среды и субагенты Claude остаются в архиве. Их переносить руками.
  • Перед применением снимите сухой прогон openclaw migrate claude --dry-run и только потом применяйте openclaw migrate apply claude --yes.
  • Содержимое CLAUDE.md копируется или дописывается в AGENTS.md и USER.md.

Сверено с документацией OpenClaw 2026.10.3, 14 октября 2026.

Миграция настроек Claude Code в OpenClaw делится на две части. Часть провайдер миграции возьмёт сам: инструкции из CLAUDE.md, MCP-серверы, скиллы с SKILL.md. Другая часть — хуки, разрешения, переменные среды, локальные правила и субагенты Claude — останется только в отчёте. Это сознательное решение: OpenClaw не доверяет слепо спискам разрешений из Claude и не выполняет чужие хуки.

Что переносится автоматически

Миграция из Claude собирает всё в план и показывает его до изменений. Из проектного CLAUDE.md и .claude/CLAUDE.md содержимое копируется или дописывается в рабочий файл агента AGENTS.md. Из пользовательского ~/.claude/CLAUDE.md — в USER.md. MCP-серверы берутся из проектного .mcp.json, из ~/.claude.json Claude Code и из claude_desktop_config.json Claude Desktop. Скиллы Claude с SKILL.md копируются в каталог скиллов рабочего пространства. Файлы команд .claude/commands/ превращаются в скиллы OpenClaw с флагом disable-model-invocation: true. Их запускает пользователь, а не агент.

Что остаётся в архиве

Провайдер миграции сознательно не подгружает в живую конфигурацию хуки Claude, разрешения и широкие списки разрешений инструментов, переменные среды, CLAUDE.local.md, .claude/rules/, субагентов из .claude/agents/ и ~/.claude/agents/, кеши, планы и историю Claude Code, расширения Claude Desktop и системные учётные данные. Всё это попадает в отчёт для ручного разбора. OpenClaw не исполняет хуки, не доверяет спискам разрешений и не раскодирует непрозрачные OAuth и учётные данные Desktop автоматически. Переносите руками только то, что действительно нужно.

Откуда читать исходные данные

Без флага --from OpenClaw смотрит в домашний ~/.claude, файл состояния ~/.claude.json и конфиг MCP Claude Desktop на macOS. Если указать --from на корень проекта, читаются только файлы этого проекта: CLAUDE.md, .claude/settings.json, .claude/commands/, .claude/skills/, .mcp.json. Глобальный ~/.claude при этом не трогается.

Запуск миграции по шагам

  1. Снимите сухой прогон и изучите план, включая конфликты и пропуски: openclaw migrate claude --dry-run. Чувствительные значения во вложенных полях MCP env и headers скрываются в плане.
  2. Если состояние Claude лежит не в ~/.claude, укажите путь явно: --from /actual/path. Для онбординга есть флаг --import-source в openclaw onboard --import-from claude.
  3. Примените план с подтверждением: openclaw migrate apply claude --yes. Без --yes вне интерактивного терминала команда вернёт ошибку. Скрипты и CI должны передавать его сами.
  4. После применения прогоните диагностику: openclaw doctor. Затем перезапустите шлюз и проверьте состояние: openclaw gateway restart, openclaw status.
openclaw migrate claude --dry-run
openclaw migrate apply claude --yes
openclaw doctor
openclaw gateway restart
openclaw status

Где настройки конфликтуют

apply отказывается продолжать, если в плане есть конфликт: файл или значение уже существует в целевом месте. Перезапуск с --overwrite нужен, когда замена существующего целевого значения сделана сознательно. Перед перезаписью скилла, сгенерированного из Claude-команды, OpenClaw делает резервную копию всего каталога и пишет путь в details.backupPath в report.json. Если исходник команды прочитать не удалось, миграция сообщает об ошибке и оставляет существующий скилл на месте. Конфликты на новой установке редки. Они появляются при повторном импорте поверх уже отредактированной конфигурации.

Как посмотреть план целиком

Перед применением прогоните --dry-run --json и откройте план. Увидите, что именно допишется в AGENTS.md и USER.md из исходных CLAUDE.md.

Частые ошибки

  • Онбординг отказывается импортировать на существующей установке. Решение одно из двух: сбросить состояние и пройти онбординг заново, либо сразу использовать openclaw migrate apply claude с --overwrite и явным контролем резервной копии.
  • MCP-серверы Claude Desktop не подхватились. Проверьте путь к claude_desktop_config.json и передайте его каталог в --from или --import-source.
  • Команды Claude стали скиллами без автозапуска. Это поведение по дизайну: в метаданных указано disable-model-invocation: true. Если агенту нужно запускать их самому, отредактируйте метаданные каждого скилла.
  • Скрипт миграции упал без --yes. Вне интерактивного терминала apply требует --yes явно, иначе команда возвращает ошибку, не меняя состояние.