Коротко
- Миграция из 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 при этом не трогается.
Запуск миграции по шагам
- Снимите сухой прогон и изучите план, включая конфликты и пропуски:
openclaw migrate claude --dry-run. Чувствительные значения во вложенных полях MCPenvиheadersскрываются в плане. - Если состояние Claude лежит не в
~/.claude, укажите путь явно:--from /actual/path. Для онбординга есть флаг--import-sourceвopenclaw onboard --import-from claude. - Примените план с подтверждением:
openclaw migrate apply claude --yes. Без--yesвне интерактивного терминала команда вернёт ошибку. Скрипты и CI должны передавать его сами. - После применения прогоните диагностику:
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явно, иначе команда возвращает ошибку, не меняя состояние.