Skip to main content

agent-importers

✓ Officialv1.0.0★ 348

`hermes import-agent`: import a Claude Code (~/.claude), Codex CLI (~/.codex) or Cursor (~/.cursor) setup into Hermes in one command. Instructions, Cursor rules and memories become memory entries, Bash permission rules become command allow/deny lists, MCP servers land in config.yaml and skills are copied; always previews first, and `--sync` re-imports sources that changed. Formerly built into Hermes core; profiles with a registered sync source are migrated automatically.

Open in Hermes Desktop
hermes plugins install agent-importers

README

From the reviewed commit 4187301 ↗; it updates when the author re-pins.

Agent Importers for Hermes Agent

Part of the Hermes Official Plugins, Nous Research's official plugins for Hermes Agent. Formerly built into Hermes Agent core (hermes_cli/agent_import.py).

hermes import-agent brings an existing Claude Code (~/.claude), OpenAI Codex CLI (~/.codex) or Cursor (~/.cursor) setup into Hermes with one command. Every run shows a per-item preview first, --dry-run never touches disk, and API keys and credentials are never imported.

Install

hermes plugins install agent-importers
# or straight from this repo:
hermes plugins install NousResearch/hermes-official-plugins#agent-importers

Upgrading from a Hermes version that had import-agent built in: the command, its flags and your sync manifest (import-sync.json in the profile) are unchanged. Profiles that registered a sync source get the plugin automatically on update; everyone else sees the install line when they run hermes import-agent.

Usage

hermes import-agent                    # auto-detect ~/.claude, ~/.codex or ~/.cursor
hermes import-agent claude-code        # import from ~/.claude
hermes import-agent codex              # import from ~/.codex
hermes import-agent cursor             # import from ~/.cursor
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 prompts
hermes import-agent --sync             # re-import every registered source that changed
hermes import-agent --sync --dry-run   # preview what a sync would do

It imports into the active profile (hermes -p <name> import-agent ... for another one).

What maps where

Claude Code (~/.claude)

Claude Code Hermes
CLAUDE.md Memory entries in 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
~/.claude.json / settings.json mcpServers mcp_servers in config.yaml
skills/<name>/ (dirs with SKILL.md) skills/claude-code-imports/<name>/
commands/*.md Reported as skipped (no direct equivalent)

Claude's Bash(npm run test:*) prefix rules become npm run test* globs. Non-Bash rules and bare Bash are reported as not mapped.

Codex CLI (~/.codex)

Codex Hermes
AGENTS.md Memory entries in memories/MEMORY.md
config.toml [mcp_servers.*] mcp_servers in config.yaml
memories/*.md Memory entries in memories/MEMORY.md
skills/<name>/ (dirs with SKILL.md) skills/codex-imports/<name>/

Cursor (~/.cursor)

Cursor Hermes
AGENTS.md Memory entries in memories/MEMORY.md
rules/**/*.md, rules/**/*.mdc (User Rules) Memory entries in memories/MEMORY.md
mcp.json mcpServers mcp_servers in config.yaml
skills/**/<name>/ (dirs with SKILL.md, category folders allowed) skills/cursor-imports/<name>/

.mdc frontmatter (description, globs, alwaysApply) is Cursor routing metadata and is stripped; only the rule body is imported. A skill is the folder holding SKILL.md, so skills/shipping/land-it/ imports as cursor-imports/land-it/; two skills with the same name in different folders are reported as a conflict.

What is never imported

Credential files (~/.claude/.credentials.json, ~/.codex/auth.json, ~/.cursor/cli-config.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 for providers, or put secrets in the profile's .env.

Behaviour

  • Existing MCP servers and skills with the same name are conflicts and skipped unless --overwrite.
  • Memory entries are merged and deduplicated into the existing store; the previous MEMORY.md is backed up as MEMORY.md.bak.<timestamp> first.
  • A config.yaml that cannot be read or parsed is never rewritten: the import records an error and leaves the file byte-identical. Writes keep your comments.
  • Non-interactive runs (no TTY) stop after the preview unless you pass --yes.

Sync

Every successful import registers its source in the profile's import-sync.json. hermes import-agent --sync re-imports any registered source whose files changed, without prompts, so it fits a cron job:

  • The change check is a digest over exactly the files the importer reads; credential files never trigger a sync.
  • Skills previously imported are refreshed in place when the source copy changes, unless you edited the imported copy (then it is a conflict and left alone).
  • A run with errors keeps the old digest, so the next sync retries.

hermes profile create <name> --clone --sync-imports carries the manifest into a new profile, so hermes -p <name> import-agent --sync keeps pulling from the same trees.

Compatibility

On a Hermes version that still has import-agent built in, this plugin stays inert and the built-in command runs.

License

MIT

Disclosure

accent-picker✓ Official★ 348

OKLCH accent colour picker for the Hermes Desktop status bar: drag it and the whole theme retints live, with palette commands to reset to the theme default or copy the current colour. A theme-authoring tool; the colour is scratch state and is never persisted. Desktop-only (desktop/plugin.js inside the plugin SDK surface); no agent tools, hooks, middleware or env vars.

Desktop
blender✓ Official★ 348

Official Blender Lab MCP server over stdio, pinned to upstream v1.0.3, with a Blender workflow skill. Requires Blender 5.1+, its separately installed MCP add-on, Git and uv. First startup downloads Python dependencies; prepare the uv environment before connecting.

Tools
bubblewrap✓ Official★ 348

Bubblewrap terminal backend for Linux: every terminal and execute_code command runs in its own bwrap sandbox on this machine at the host's own paths, with a read-only root, a writable working directory (per profile: restricted, workspace or network), SSH keys, cloud credentials and the Hermes home hidden, private temp and process directories, agent and docker sockets masked, and per-command memory, CPU and process limits (`hermes config set terminal.backend bubblewrap`).

Tools
claude-subscription-directsdk✓ Official★ 348

Experimental model provider that runs Hermes turns on a Claude Pro/Max subscription through the official Claude Code CLI (the Agent SDK path), so no separate API key or per-token bill. Requires the claude CLI installed and logged in; the plugin checks for it at load, in hermes model, in the pickers and before every request, and refuses cleanly with the install hint when it is missing.

Models
hermes-memory-wiki✓ Official★ 348

Memory Wiki dashboard tab: browsable subject pages and daily logs derived from local session history, plus a read-only Persistent Memory (MEMORY.md / USER.md) audit panel.

Desktop
homeassistant✓ Official★ 348

Home Assistant gateway platform (state-change events in, persistent notifications and cron notify delivery out) plus the homeassistant toolset (ha_list_entities, ha_get_state, ha_list_services, ha_call_service). Formerly built into Hermes core; existing users are migrated automatically.

Platforms

← Back to the catalog · catalog built Oct 21, 2026