Migrate from Hermes
Import useful Hermes data without mixing services, credentials, or duplicated cron execution.
Maia and upstream Hermes can coexist on the same machine. Migration copies selected personal data into Maia; it does not turn the two products into one runtime.
Copy personal data during installation
When the installer detects ~/.hermes, it can offer to copy skills, cron definitions, memories, and SOUL.md into Maia. Provider keys, active configuration, and sessions are not imported automatically.
# Copy supported personal data without prompting
curl -fsSL https://ampliia.com/maia/install.sh | bash -s -- --migrate-hermes
# Never offer the copy
curl -fsSL https://ampliia.com/maia/install.sh | bash -s -- --no-migrate-hermes
Use guarded archive import
For an exported Hermes archive, use review-first migration:
maia import ~/Downloads/hermes-export.tar.gz --from-hermes-export
Maia stages memories, skills, secrets, and MCP definitions for review. It does not overwrite active governance, promote imported material into corporate knowledge, enable imported MCP servers, or activate old secrets automatically.
Run Maia and Hermes side by side
| Product | Home | Gateway service |
|---|---|---|
| Maia | ~/.maia | maia-gateway.service |
| Hermes | ~/.hermes | hermes-gateway.service |
On WSL2, entering a stopped distribution starts systemd services that are enabled in that distribution. If the Hermes gateway is enabled, it can start when you enter WSL or run any WSL command. The maia command is not activating Hermes.
Prevent duplicate cron execution
Migration copies cron definitions. If the same job remains enabled in both products, both schedulers can run it.
maia cron list
hermes cron list
Pause the copy you do not want:
maia cron pause <job_id>
# or
hermes cron pause <job_id>
Complete the migration review
- Re-enter provider and tool secrets through Maia's managed key flow.
- Review every imported skill before activation.
- Review MCP commands, URLs, environment requirements, and tool filters.
- Compare cron jobs and disable duplicates.
- Use distinct messaging bot credentials when both gateways will remain active.
- Promote shared knowledge only through the Knowledge approval flow.