Imports require a fresh OpenClaw setup. If you already have local OpenClaw state, reset config, credentials, sessions, and the workspace first, or use
openclaw migrate directly with --overwrite after reviewing the plan.Two ways to import
- Onboarding wizard
- CLI
The fastest path. The wizard detects Hermes at Or point at a specific source:
~/.hermes and shows a preview before applying.What gets imported
Model configuration
Model configuration
- Default model selection from Hermes
config.yaml. - Configured model providers and custom OpenAI-compatible endpoints from
providersandcustom_providers.
MCP servers
MCP servers
MCP server definitions from
mcp_servers or mcp.servers.Workspace files
Workspace files
SOUL.mdandAGENTS.mdare copied into the OpenClaw agent workspace.memories/MEMORY.mdandmemories/USER.mdare appended to the matching OpenClaw memory files instead of overwriting them.
Memory configuration
Memory configuration
Memory config defaults for OpenClaw file memory. External memory providers such as Honcho are recorded as archive or manual-review items so you can move them deliberately.
Skills
Skills
Skills with a
SKILL.md file under skills/<name>/ are copied, along with per-skill config values from skills.config.API keys (opt-in)
API keys (opt-in)
Set
--include-secrets to import supported .env keys: OPENAI_API_KEY, ANTHROPIC_API_KEY, OPENROUTER_API_KEY, GOOGLE_API_KEY, GEMINI_API_KEY, GROQ_API_KEY, XAI_API_KEY, MISTRAL_API_KEY, DEEPSEEK_API_KEY. Without the flag, secrets are never copied.What stays archive-only
The provider copies these into the migration report directory for manual review, but does not load them into live OpenClaw config or credentials:plugins/sessions/logs/cron/mcp-tokens/auth.jsonstate.db
Recommended flow
Preview the plan
Apply with backup
--include-secrets.Run doctor
Conflict handling
Apply refuses to continue when the plan reports conflicts (a file or config value already exists at the target). For a fresh OpenClaw install, conflicts are unusual. They typically appear when you re-run the import on a setup that already has user edits. If a conflict surfaces mid-apply (for example, an unexpected race on a config file), Hermes marks remaining dependent config items asskipped with reason blocked by earlier apply conflict instead of writing them partially. The migration report records each blocked item so you can resolve the original conflict and rerun the import.
Secrets
Secrets are never imported by default.- Run
openclaw migrate apply hermes --yesfirst to import non-secret state. - If you also want supported
.envkeys copied across, rerun with--include-secrets. - For SecretRef-managed credentials, configure the SecretRef source after the import completes.
JSON output for automation
--json and no --yes, apply prints the plan and does not mutate state. This is the safest mode for CI and shared scripts.
Troubleshooting
Apply refuses with conflicts
Apply refuses with conflicts
Inspect the plan output. Each conflict identifies the source path and the existing target. Decide per item whether to skip, edit the target, or rerun with
--overwrite.Hermes lives outside ~/.hermes
Hermes lives outside ~/.hermes
Pass
--from /actual/path (CLI) or --import-source /actual/path (onboarding).Onboarding refuses to import on an existing setup
Onboarding refuses to import on an existing setup
Onboarding imports require a fresh setup. Either reset state and re-onboard, or use
openclaw migrate apply hermes directly, which supports --overwrite and explicit backup control.API keys did not import
API keys did not import
--include-secrets is required, and only the keys listed above are recognized. Other variables in .env are ignored.Related
openclaw migrate: full CLI reference, plugin contract, and JSON shapes.- Onboarding: wizard flow and non-interactive flags.
- Migrating: move an OpenClaw install between machines.
- Doctor: post-migration health check.
- Agent workspace: where
SOUL.md,AGENTS.md, and memory files live.