Nine moves.
None of them hidden.
This is the entire surface. headless can ask for one of these at a time, prints the ask and the result in order, and can reach nothing the root it started in cannot.
- 01list · reads
Look around
List what is in a directory, and in the directories under it.
- 02read · reads
Read a file
Read a file and put its contents in front of the agent.
- 03find · reads
Find files
Find files by name pattern across the workspace.
- 04search · reads
Search the code
Search the contents of files for a word or a pattern.
- 05write · writes
Write a file
Create a file, or replace what is already in it.
- 06mkdir · writes
Make a folder
Create a directory, including any parents it needs.
- 07remove · writes
Delete a file
Delete a file from the workspace.
- 08run · shell
Run a command
Run a shell command. Closed until you open it for the run.
- 09done · finishes
Finish up
Close the task with a short summary of what changed.
That is the set. There is no plugin directory, no extension point and no hidden tool the catalogue does not list: what is on this page is what the loop can reach.
Confined to your workspace.
Every tool above resolves its path against the root you started it in. Anything that lands outside is refused, not clamped, so the blast radius of a bad instruction is a directory you chose.
Every path resolves against the workspace root.
No absolute paths, and no climbing out with ..
node_modules, .git, dist and build are skipped when listing.
The exec tool is closed until you pass --shell.