Tools are what turn a model into a coding agent: the agent decides what to call, Cortex runs it, and the result goes back into the conversation. Every call shows up in the timeline.
Tool names are case-sensitive and are what you pass to --enabled-tools and
--disabled-tools, and what you list in an agent's
tools field.
To see what a given run actually has available:
cortex exec --list-tools| Tool | Parameters | Does |
|---|---|---|
Read |
file_path, offset, limit |
Read a file. limit defaults to 2400 lines. |
LS |
directory_path, ignorePatterns |
List a directory |
Grep |
pattern, path, case_insensitive, line_numbers, context, context_before, context_after, glob_pattern, output_mode, head_limit |
Regular-expression content search. output_mode is file_paths or content. |
Glob |
patterns, folder, exclude_patterns |
Find files by glob |
SearchFiles |
pattern, path, content_pattern |
Fuzzy file search |
| Tool | Parameters | Does |
|---|---|---|
Create |
file_path, content |
Create or overwrite a file |
Edit |
file_path, old_str, new_str, change_all |
Replace text in a file |
MultiEdit |
edits |
Apply several edits atomically |
ApplyPatch |
patch, dry_run |
Apply a unified diff |
| Tool | Parameters | Does |
|---|---|---|
Execute |
command, workdir, timeout |
Run a shell command. command is an argument array. |
Execute is the tool the sandbox and approval policies
exist for. The default tool timeout is 900 seconds.
| Tool | Parameters | Does |
|---|---|---|
WebSearch |
query, num_results, category, include_domains, exclude_domains, use_neural, livecrawl, type, context_max_characters |
Search the web |
WebFetch |
url, format, timeout |
Fetch a page. format is text, markdown or html. |
FetchUrl |
url, format, timeout |
Fetch a URL |
Web search is enabled with --search.
| Tool | Parameters | Does |
|---|---|---|
LspDiagnostics |
path, severity |
Diagnostics from the language server. severity is error, warning or all. |
LspHover |
file, line, column |
Hover information. Positions are 1-based. |
LspSymbols |
query, path |
Workspace symbol search |
| Tool | Parameters | Does |
|---|---|---|
Plan |
title, description, tasks, agent_analyses, and optional architecture, tech_stack, use_cases, risks, success_criteria, timeline, estimated_changes |
Submit a structured plan for approval |
UpdateGoal |
status (active, blocked, complete), optional progress, reason, evidence (kind = file/command/test + detail) |
Record evidence-based progress on the user's /goal. complete requires a reason and usable evidence. The model cannot pause. |
ExitSpecMode |
reason |
Leave specification mode and unlock the mutating tools |
Task |
mode (explore, plan, worker), prompt, description, context, await_result |
Delegate to a subagent |
ListSubagents |
include_custom |
List the available subagent types |
Questions |
title, questions |
Ask you a structured question. Question types are single, multiple, text and number. |
See Plan and Spec modes and Long-horizon persisted goals.
| Tool | Parameters | Does |
|---|---|---|
TodoWrite |
todos |
Update the session todo list. Each item has id, content, status (pending, in_progress, completed) and priority (high, medium, low). |
TodoRead |
— | Read the current todo list |
| Tool | Parameters | Does |
|---|---|---|
UseSkill |
skill |
Load a skill into the context |
Batch |
calls, timeout_secs, tool_timeout_secs |
Run 1–10 tool calls in parallel. Cannot nest Batch or call agent tools. |
| Source | Naming |
|---|---|
| MCP servers | mcp__<server>__<tool> |
| Plugins | plugin_<slug> |
The tool set is not fixed. It narrows depending on context:
- Child tasks cannot call
Task,AskUser,Questionsorsend_to_user. Delegated work reports back through its parent instead. - Specification mode blocks the mutating tools until the agent calls
ExitSpecMode. - Plan mode and read-only agents are restricted to the reading tools.
WebSearchand deep research are chat-surface tools.--enabled-toolsand--disabled-toolsnarrow the set further for a single exec run.- The
permissiontable inconfig.tomlcan require approval for, or outright deny, individual capabilities.
Cortex ships no built-in browser or desktop-automation tool. Driving a
browser is done by connecting an MCP server that provides those tools; the
puppeteer entry in the MCP catalog is the one that does browser automation.
Because those tools arrive over MCP, they pass the same authority boundary as
any other tool call: the sandbox, the approval prompt, and the permission
deny list. /browser reports whether such a server is actually connected and
names it — it never claims a capability the CLI does not have.
Computer is a different concept: it selects where tools run (Cloud,
This PC, or SSH) via CORTEX_COMPUTER. It is not browser or desktop control.