--enabled-tools and --disabled-tools, and what you list in an agent’s tools field. To see what a given run actually has, use cortex exec --list-tools.
These names belong to the CLI. Other Cortex products have their own tool sets, and a name here does not necessarily exist, or mean the same thing, on another surface.
Two gates before anything changes
When the agent calls a tool that could change your machine, two checks apply, in this order:- The sandbox decides whether the operation is possible at all. Its modes run from read-only, through a workspace-write default, to full access.
- The approval policy decides whether you are asked first. When it asks, a numbered prompt appears inline in the timeline and the turn waits for you.
permission table in your configuration overrides either one per capability, with allow, ask or deny, and it can be narrowed to a command pattern, a skill or a named MCP server. Execute is the tool these policies mainly exist for, because it is the one that runs commands in your shell.
Where the tools run is a separate question from what they are allowed to do. Cloud is the default; This PC and SSH are opt-in and fail closed rather than silently falling back. See Cloud, This PC, and SSH and Modes and permissions.
Reading and searching
Writing
An edit tile in the timeline carries the line counts, in the form
● Edit … · +12 −3, and expands to the diff so you can read the change rather than take it on trust.
Running commands
The default tool timeout is 900 seconds, and the configured command timeout defaults to 120 seconds. Both are settable; see Configuration.
The web
Web search is enabled with
--search. Search and deep research belong mainly to the chat surface, so do not assume they are in a CLI run’s tool list; cortex exec --list-tools is the answer for a given run.
Language intelligence
Diagnostics also arrive unprompted after an edit, as a tile such as
● Diagnostics src/…/composer.rs · 2 with one line per problem.
Planning, delegation and questions
Task tracking
The list is visible in the timeline under delegated work, which is the quickest way to see what a long turn thinks it still has to do.
Skills and batching
Writing a skill of your own is on Skills in the CLI.
Tools from MCP servers and plugins
Extensions add tools, and their names say where they came from:
An extension tool is not a privileged tool. It passes the same two gates as a built-in one, and the
permission table can require approval for a named server or deny it outright.
See MCP servers in the CLI and CLI plugins.
What is available when
The set is not fixed. It narrows with the context:- Plan and Ask withhold the mutating tools, and read-only agents are restricted to the reading tools. That block is enforced by the harness, not by asking the model to behave.
- Specification mode keeps the mutating tools locked until the plan is accepted and the agent calls
ExitSpecMode. - A child task cannot delegate further or put a question to you directly. Delegated work reports back through the parent that started it.
- A headless run can be narrowed with
--enabled-toolsand--disabled-tools. - The
permissiontable can require approval for, or deny, individual capabilities for everyone in a project.
Hooks can stop a tool call
Hooks are declared by a plugin, in that plugin’s manifest, and run around a plugin invocation. They do not fire around the tool calls an interactive session makes, so a hook is not the way to stop one. To forbid a tool call outright, use thepermission deny list described above.
The events, the patterns that narrow them and which of them actually fire are on Hooks.
There is no built-in browser or desktop automation
Cortex ships no built-in browser tool and no desktop-automation tool. Browser work is done by connecting an MCP server that provides those tools, and they then pass the same authority boundary as any other call: the sandbox, the approval prompt and thepermission deny list. /browser reports whether such a server is connected and names it; it never claims a capability the CLI does not have.
The Computer concept is a different thing entirely. It selects where tools run, Cloud or This PC or SSH, and has nothing to do with controlling a browser or a desktop. See Cloud, This PC, and SSH.
Related
- Modes and permissions: the sandbox, the approval policy and the permission table
- The TUI: how tool tiles are drawn and how to expand one
- Agents and subagents: declaring a
toolslist for an agent of your own - Hooks: what a plugin hook may refuse, and which events fire
- Headless and one-shot runs: narrowing the tool set for an unattended run