native: built in · compatible: reads another tool's convention · adapter: only through a plugin or extension · partial: some of it · unsupported: not available · unknown: not established · —: not researched. Select a level to see its evidence.
| Capability | Codex CLI | Claude Code | Cursor Agent | OpenCode | pi |
|---|---|---|---|---|---|
| Agent Skills | |||||
| Discover Agent Skills | |||||
| Discover global skills | |||||
| Discover project skills | |||||
| Read .agents/skills compatibility root | |||||
| Interpret SKILL.md frontmatter | |||||
| Account skill usage reports | |||||
| Plugins and extensions | |||||
| Load a plugin package | |||||
| Load a plugin directory at launch | — | — | — | ||
| Declare MCP servers in plugins | — | — | — | — | |
| Load lifecycle hooks bundled in plugins | — | — | |||
| Lifecycle hooks | |||||
| Run lifecycle hook commands | |||||
| Load project-scoped hook configuration | |||||
| Before-tool hook | |||||
| After-tool hook | |||||
| Permission-request hook or event | — | — | |||
| Compaction hooks | |||||
| Subagent hooks | — | — | |||
| Interruption hook | — | — | — | — | |
| Model-switch hooks | — | — | — | — | |
| Provider-delegated operation hooks | — | — | — | — | |
| Execution permissions | |||||
| Tool and operation policy | |||||
| Filesystem and network containment | |||||
| Interactive approval decisions | |||||
| Skill-scoped permission grant | |||||
| Agent protocols | |||||
| Run as an ACP agent server | |||||
| Act as an ACP client | |||||
| Run a native app-server protocol | — | — | |||
| Connect a client to App Server remotely | — | — | |||
| Conversation sessions | |||||
| Fork a conversation into a new session | — | — | — | — | |
| Fork at a turn boundary | — | — | — | — | |
| Create an ephemeral fork | — | — | — | — | |
| Automatic compaction | |||||
| Manual compaction | |||||
| Generate thread names automatically | |||||
| Rename a thread manually | |||||
| Model-callable thread naming | |||||
| Persist thread names | |||||
| Import external harness sessions | — | — | — | — | |
| Persistent agent instructions and rules | |||||
| Discover persistent instructions | |||||
| Compose scoped instruction hierarchies | |||||
| Activate instructions conditionally | |||||
| Activate instructions manually | |||||
| Enforce managed instructions | |||||
| Delegate work to subagents | |||||
| Discover custom subagent definitions | |||||
| Run subagents in parallel | |||||
| Run subagents in the background | |||||
| Isolate subagent filesystem state | |||||
| Hand work to a cloud subagent | |||||
| Cloud and remote session handoff | |||||
| Start or transfer work to a provider-hosted session | — | — | |||
| Pull provider-hosted work back into a local client | — | — | |||
| Drive a locally executing session from a remote client | — | — | — | — | |