โ† Back to news

Migrate from OpenClaw

hermes-agent.nousresearch.com|86 points|67 comments|by JumpCrisscross|Jun 18, 2026

Transitioning from OpenClaw to Hermes

The hermes claw migrate command is designed to seamlessly transition your existing OpenClaw configuration (including legacy Clawdbot or Moldbot setups) into the Hermes ecosystem.

[!TIP] Simplifying Providers: If your previous OpenClaw environment utilized multiple providers, running hermes setup --portal will consolidate them into a single OAuth login, granting access to over 300 models and the Tool Gateway.


๐Ÿš€ Quick Start Guide

Before applying any changes, Hermes always provides a preview of the migration plan.

# Standard flow: Preview the changes, then confirm to apply
hermes claw migrate

# Read-only mode: View the plan without making any modifications
hermes claw migrate --dry-run

# Power-user mode: Full migration including secrets, bypassing confirmation
hermes claw migrate --preset full --migrate-secrets --yes

Automatic Detection

Hermes automatically scans for legacy configurations in the following locations:

  • Directories: ~/.clawdbot/ or ~/.moltbot/
  • Config Files: clawdbot.json or moltbot.json

Migration Process Diagram


๐Ÿ›  Configuration Options

OptionDescription
--dry-runPerforms a preview only; terminates before applying changes.
--preset [name]full (all compatible settings) or user-data (ignores infrastructure).
--migrate-secretsRequired to import API keys. Presets do not import secrets by default.
--overwriteForces Hermes to overwrite existing files if a conflict occurs.
--no-backupDisables the creation of a pre-migration zip snapshot in ~/.hermes/backups/.
--skill-conflict [mode]Determines how to handle skill collisions: skip (default), overwrite, or rename.

Pre-Migration Checklist

  • Backup critical SOUL.md or MEMORY.md files manually.
  • Identify if you need the full or user-data preset.
  • Decide on a --skill-conflict strategy.

๐Ÿ“ฆ Migration Mapping

1. Persona, Memory, and Instructions

Hermes handles memory by parsing entries, merging them with existing data, and removing duplicates.

OpenClaw SourceHermes DestinationNotes
workspace/SOUL.md~/.hermes/SOUL.mdDirect file copy.
workspace/AGENTS.mdAGENTS.md (in target)Requires the --workspace-target flag.
workspace/MEMORY.md~/.hermes/memories/MEMORY.mdParsed, merged, and deduped.
workspace/USER.md~/.hermes/memories/USER.mdParsed, merged, and deduped.
workspace/memory/*.md~/.hermes/memories/MEMORY.mdAll daily logs are merged into the main memory.

Note: Hermes also checks workspace.default/ and workspace-main/ as fallbacks, as well as workspace-{agentId} for multi-agent configurations.

2. Skills Integration

All skills from the following four sources are consolidated into ~/.hermes/skills/openclaw-imports/:

  1. Workspace skills: workspace/skills/
  2. Managed/Shared skills: ~/.openclaw/skills/
  3. Personal cross-project skills: ~/.agents/skills/
  4. Project-level shared skills: workspace/.agents/skills/

3. Model & Provider Setup

OpenClaw PathHermes DestinationLogic/Notes
agents.defaults.modelconfig.yaml โ†’\rightarrow modelSupports strings or {primary, fallbacks} objects.
models.providers.*config.yaml โ†’\rightarrow custom_providersMaps baseUrl and apiType. Handles openai, anthropic, etc.
models.providers.*.apiKey~/.hermes/.envOnly migrated if --migrate-secrets is used.

โš™๏ธ Behavioral & Technical Settings

Agent Logic

The migration converts OpenClaw's timing and effort settings into Hermes' format.

OpenClaw KeyHermes KeyMapping Logic
agents.defaults.timeoutSecondsagent.max_turnsvalue/10\text{value} / 10 (Capped at 200)
agents.defaults.verboseDefaultagent.verboseoff / on / full
agents.defaults.thinkingDefaultagent.reasoning_effortalways/high/xhigh โ†’\rightarrow high; auto/med/adaptive โ†’\rightarrow med; off/low/none โ†’\rightarrow low
agents.defaults.compaction.modecompression.enabledoff โ†’\rightarrow false; others โ†’\rightarrow true
agents.defaults.compaction.modelcompression.summary_modelDirect string copy.
agents.defaults.humanDelay.modehuman_delay.modenatural / custom / off
agents.defaults.humanDelay.minMshuman_delay.min_msDirect copy.
agents.defaults.userTimezonetimezoneDirect string copy.
tools.exec.timeoutSecterminal.timeoutDirect copy.
agents.defaults.sandbox.backendterminal.backenddocker โ†’\rightarrow docker
agents.defaults.sandbox.docker.imageterminal.docker_imageDirect string copy.

Session Management

Hermes looks for session.reset settings. If missing, it infers them from the session.resetTriggers array.

OpenClaw PathHermes PathNotes
session.reset.modesession_reset.modedaily, idle, or both
session.reset.atHoursession_reset.at_hourInteger (0โ€“23)
session.reset.idleMinutessession_reset.idle_minutesMinutes of inactivity

MCP Servers & TTS

MCP Mapping: Fields such as command, args, env, cwd, and url (for HTTP/SSE) are mapped directly to mcp_servers.*. Tool filtering (include/exclude) is also preserved.

TTS Priority: Hermes reads TTS settings in the following order of precedence:

  1. messages.tts.providers.{provider}.* (Primary)
  2. talk.providers.{provider}.* (Secondary)
  3. messages.tts.{provider}.* (Legacy)
OpenClaw ValueHermes Destination
Provider Nameconfig.yaml โ†’\rightarrow tts.provider
ElevenLabs Voice IDconfig.yaml โ†’\rightarrow tts.elevenlabs.voice_id
ElevenLabs Model IDconfig.yaml โ†’\rightarrow tts.elevenlabs.model_id
OpenAI Modelconfig.yaml โ†’\rightarrow tts.openai.model