The agents that ship with the CLI
title and summary are internal housekeeping; you will not normally select them by hand.
An agent is not a mode. The
plan agent is a configuration that happens to be read-only, while Plan mode is a lock on the whole session that holds whichever agent you are using. See Modes and permissions.Manage agents
/agents lists and manages them and /delegates covers subagents. cortex agent install pulls a definition from a registry; run cortex agent install --help on your build to see which sources it accepts.
Write an agent
An agent is a markdown file with YAML frontmatter. The body is the agent’s system prompt.The six tool categories
tools takes either a category name or an explicit list of tool names, and an explicit list is exact. The names are case-sensitive: see Tools the agent uses.
Where agent files are found
Searched in this order, and the first definition of a name wins:<project>/.agents/*.md<project>/.agent/*.md<project>/.cortex/agents/*.md~/.cortex/agents/*.md~/.config/cortex/agents/*.md
Select an agent
@name mentions an agent directly:
Instruction documents an agent skips
Agents read the repository’s instruction documents. The chain is your home directory, then the repository rootAGENTS.md, then any AGENTS.md between the root and your working directory. cortex init writes one for a repository that does not have it yet.
omit_instructions lets an agent skip part of that chain for one run:
Omission is opt-in and applies to that run only. A skipped document is never opened, so it cannot reach the prompt by another path. Organization-managed policy always loads: a request that names
managed is accepted, recorded, and ignored, and the same is true when the main agent passes omit_instructions to the Task tool. An unknown scope name is an error rather than a silent no-op, so a typo cannot omit the wrong documents. Every omission is recorded in the audit journal under your Cortex home directory, described in Permission policy.
Delegation and subagents
Subagents are agents the main agent delegates to, through theTask tool. A task runs in one of three roles, explore, plan or worker, and reports back when it finishes.
Delegated work is constrained: a child task cannot spawn its own children, ask you questions directly, or message you. Everything flows back through the parent. /tasks shows what is running in the background.
Three overlapping lists are worth keeping straight:
- Three roles a task can run in:
explore,plan,worker. - Eight built-in subagent types:
code,research,refactor,test,documentation,security,architectandreviewer, plus any custom agent you define. - Seven built-in agents, in the table at the top of this page.