Import from Other Agents
استيراد إعداداتك من وكلاء آخرين
What this page is, and what it holds.
This page covers Import from Other Agents. You will use hermes import-agent claude-code and hermes claw migrate here; about 3 minutes to read. Any MCP server you add can see your data and act for you. Run only what you can trace, and start with the fewest tools.
One-command import of a Claude Code (~/.claude) or OpenAI Codex CLI (~/.codex) setup into Hermes — instructions, allowlists, MCP servers, skills, and memories.
Outcomes taken from this page, not a template.
- Understand what MCP is and when you need it.
- Run
hermes import-agent claude-codeandhermes claw migrateand understand what happens next. - Read the table and take only the row that applies to you.
Exactly as they appear in Hermes.
hermes import-agent claude-codehermes claw migratehermes import-agenthermes import-agent codexhermes setup
Jump to the part you need.
Nothing summarised away.
The documentation body below is reproduced from the official source so commands and identifiers stay exact. Each section carries a short note describing what it contains.
hermes import-agent imports your existing Claude Code or OpenAI Codex CLI setup into Hermes with one command. It follows the same preview-first pattern as hermes claw migrate: you always see a per-item plan before anything is written, and --dry-run never touches disk.
hermes import-agent # auto-detect ~/.claude or ~/.codex
hermes import-agent claude-code # import from ~/.claude
hermes import-agent codex # import from ~/.codex
hermes import-agent claude-code --dry-run # preview only
hermes import-agent codex --source /path/to/.codex # custom location
hermes import-agent claude-code --overwrite --yes # replace conflicts, skip promptsWhat gets imported
A lookup table. Do not read it all; find the row that applies to you.
Claude Code (~/.claude)
| Claude Code | Hermes |
|---|---|
CLAUDE.md (global instructions) | Memory entries in ~/.hermes/memories/MEMORY.md |
settings.json → permissions.allow (Bash(...) rules) | command_allowlist in config.yaml |
settings.json → permissions.deny (Bash(...) rules) | approvals.deny in config.yaml |
mcpServers (from ~/.claude.json and settings.json) | mcp_servers in config.yaml |
skills/<name>/ (dirs with SKILL.md) | ~/.hermes/skills/claude-code-imports/<name>/ |
commands/*.md (slash commands) | Skipped with a note — convert them into skills |
Claude's Bash(npm run test:*) prefix rules become npm run test* globs. Non-Bash permission rules (Read(...), WebFetch, ...) gate Claude-specific tools and are reported as unmapped rather than imported.
Codex CLI (~/.codex)
| Codex CLI | Hermes |
|---|---|
AGENTS.md (global instructions) | Memory entries in ~/.hermes/memories/MEMORY.md |
config.toml → [mcp_servers.*] | mcp_servers in config.yaml |
memories/*.md | Memory entries in ~/.hermes/memories/MEMORY.md |
skills/<name>/ (dirs with SKILL.md) | ~/.hermes/skills/codex-imports/<name>/ |
What is never imported
Commands you type in a terminal. Understand what one does before copying it. Commands here: hermes setup.
API keys and credentials. Credential files (~/.claude/.credentials.json, ~/.codex/auth.json) are never read, and MCP server environment variables or headers with secret-looking names (*_TOKEN, *_API_KEY, Authorization, ...) are stripped and listed in the report so you can re-add them deliberately. Run hermes setup to configure providers, or add secrets to ~/.hermes/.env.
Behavior notes
Commands you type in a terminal. Understand what one does before copying it. Commands here: hermes claw migrate.
- Preview first, always. The command prints the full plan before applying; in non-interactive sessions it stops at the preview unless you pass
--yes. - Merges, not replaces. Memory entries are deduplicated against your existing
MEMORY.md; allowlist/denylist patterns merge with what's already inconfig.yaml. - Conflicts are skipped by default. An MCP server or skill that already exists in Hermes is reported as a conflict; pass
--overwriteto replace it. - Malformed files don't abort the run. A broken
settings.jsonorconfig.tomlbecomes a per-item error in the report while everything else still imports. - Coming from OpenClaw instead? Use
hermes claw migrate.
4 questions answered by this page alone.
Every option is a real identifier from the Hermes documentation. The wrong ones are real too, just from other pages.