Agent portability

Move your agents without losing who they are.

Nomad carries an agent's instructions, persona, memory, skills, tools and routines from one platform to another. It shows you what will transfer before it touches a file, and keeps a backup after.

The migration preview here runs Nomad's real compatibility engine on a sample agent. Change the platforms to see it update.

Migration preview, sample agent78/100
  • Identity (1)Supported with conversion
  • Instructions (2)Fully supported
  • Memory (5)Supported with conversion
  • Skills (1)Fully supported
  • Tools (1)Supported with conversion
  • Models (1)Supported with conversion
  • Permissions (2)Supported with conversion
  • Workflows (1)Unsupported

Needs attention: Workflows: Claude Code has no place for 1 item, so it is not moved. Nomad keeps a copy and gives you steps to set it up another way.

Support level for Claude Code: partial

OpenClawClaude CodeCodex CLIHermes AgentAgent folderCursorWindsurfClineRoo Codeand 22 more

How it works

A migration you can read before you run it.

Copying instruction files is the easy part. Nomad maps each platform's structure into a common format, then writes the closest faithful version at the destination and tells you exactly where it could not.

  1. 01

    Read the agent where it lives

    Nomad finds OpenClaw, Claude Code, Codex and Hermes agents on your machine and reads instructions, persona, memory, skills, tools, routines and permissions into one portable format.

  2. 02

    See what will transfer

    Before anything changes you get a preview: what moves as is, what gets converted, what has no equivalent at the destination, which files change and which permissions differ.

  3. 03

    Resolve conflicts on your terms

    Merge keeps everything already at the destination. Copy creates a separate agent. Replace overwrites, and only after you approve exactly what it touches.

  4. 04

    Apply, verify, keep a receipt

    Writes are atomic and backed up first. Nomad reads the result back to verify it, records a receipt, and can restore the previous state in one step.

What travels

An agent is more than its system prompt.

Every part is kept in the Universal Agent Format: versioned, validated JSON with Markdown for anything you would want to read.

Read the format
Identity
Name, persona, tone and a permanent agent id, so the same agent is recognised on every platform.
Instructions
System prompts, AGENTS.md style rules, conventions and slash commands.
Memory
Profile, preferences, facts, project context and daily logs, kept as separate entries with their origin.
Skills
Agent Skills folders with their scripts and files, converted between skills, commands and prompts.
Tools
MCP servers with their configuration. Credentials become references you reconnect, never copied values.
Routines
Scheduled jobs with their cron expression and timezone. Always imported paused.
Permissions
Allow, ask and deny rules mapped to the destination. Nomad never widens what an agent may do without asking.

Platforms

Honest support labels.

Each integration declares what it can read and write per category. Full and partial adapters write files directly, and guided ones prepare a kit you finish by hand because the platform offers no import.

PlatformSupportWhat Nomad works with
OpenClawpartialReads and writes OpenClaw agents, workspaces, memory, skills, cron jobs and per agent model and tool settings.
Claude CodepartialReads and writes user (~/.claude) and project (.claude/) configuration, subagents, skills, slash commands, permissions and MCP servers.
Codex CLIpartialReads and writes AGENTS.md, config.toml (model, approval policy, sandbox, MCP servers), skills and custom prompts.
Hermes AgentpartialReads and writes Hermes profiles: persona, MEMORY.md and USER.md entries, skills, MCP servers, cron jobs and command allowlists.
Agent folderfullAn unpacked Nomad package, or any folder of Markdown agent files (AGENTS.md, SOUL.md, MEMORY.md, skills/). Lossless for packages.
CursorpartialProject rules in .cursor/rules (MDC), legacy .cursorrules and AGENTS.md, plus .cursor/mcp.json.
WindsurfpartialWorkspace rules in .windsurf/rules and the legacy .windsurfrules file.
ClinepartialWorkspace rules in .clinerules (file or folder).
Roo CodepartialRules in .roo/rules and project MCP servers in .roo/mcp.json.
ContinuepartialRules in .continue/rules (Markdown with frontmatter).
OpenCodepartialAGENTS.md, agent definitions in agent/, and MCP servers in opencode.json.
Goosepartial.goosehints instructions and extensions in config.yaml.
AiderpartialCONVENTIONS.md loaded through the read list in .aider.conf.yml.
Gemini CLIpartialGEMINI.md context files and MCP servers in settings.json.
Hosted and frameworksguidedChatGPT, Claude (claude.ai), Gemini, Grok, Perplexity, CrewAI, LangGraph, LangChain, AutoGen, Semantic Kernel, PydanticAI, Agno, Mastra, Dify, Flowise, n8n, Letta

See the full capability matrix

Safety

Built so a migration cannot quietly go wrong.

Moving an agent means touching its credentials, its permissions and files you care about. Nomad treats each of those as a first class concern.

Security model
  • Local first. Nothing is uploaded; there is no account.
  • Secrets are detected and redacted before export, import and migration.
  • The source agent is never modified.
  • Every migration is a transaction with a backup and a rollback.
  • Files you edited after Nomad wrote them are never overwritten silently.
  • Packages are checked for path traversal, symlinks, bombs and tampering.

For developers

The same engine everywhere.

The web app, the CLI and the MCP server share one migration engine. New platforms plug in through the adapter SDK and its contract tests.

# guided: pick an agent, pick where it goes
npx thenomad

# or in one line, with a short preview first
npx thenomad move openclaw claude-code

# save it to a file, open it anywhere
npx thenomad move openclaw ./kestrel.nomad
npx thenomad move ./kestrel.nomad codex

Your agent, wherever you work next.