Convert subagents between Claude Code, Codex, Cursor and OpenCode
Paste a subagent file from Claude Code, Codex, Cursor or OpenCode and get the other three formats, with every dropped field listed.
Lossless round trip for name (after normalization), description andprompt only. Everything else is best-effort and listed in the warnings panel.
What each tool calls a subagent
Claude Code and Cursor use Markdown with YAML frontmatter; the body is the system prompt. Codex uses a TOML file withdeveloper_instructions. OpenCode uses Markdown or a JSON agent entry with a prompt field.
| Tool | Project path | Prompt field |
|---|
| CC Claude Code | .claude/agents/* | body |
| CX Codex | .codex/agents/* | developer_instructions |
| CU Cursor | .cursor/agents/* | body |
| OC OpenCode | .opencode/agents/* | body |
What converts cleanly
| Field | Status |
|---|
| name | Normalized (kebab or snake per target) |
| description | Lossless |
| prompt | Lossless (TOML escaping applied for Codex) |
| tools / permissions | Approximated per access profile; many knobs are tool-specific |
| model | Never auto-translated across vendors |
Cursor shortcut
Cursor also reads .claude/agents/ and .codex/agents/ in addition to .cursor/agents/. Extra Claude-only fields when using Claude files in Cursor are not documented (unverified).