Tools Overview
ak-coder gives the LLM 12 built-in tools. Each tool is defined in packages/core/src/features/tools/ and registered in core-tools.ts.
| Tool | Category | Annotations | Details |
|---|---|---|---|
read_file | File | read-only · idempotent | File tools |
write_file | File | destructive | File tools |
str_replace | File | destructive | File tools |
patch_file | File | destructive | File tools |
list_directory | File | read-only · idempotent | File tools |
bash | Shell | destructive · open-world | Bash |
glob | Search | read-only · idempotent | Search |
grep_search | Search | read-only · idempotent | Search |
index_workspace | Search | — | Search |
semantic_search | Search | read-only · idempotent | Search |
web_fetch | Network | read-only · idempotent · open-world | Planning & agent |
delegate_task | Agent | open-world | Planning & agent |
Tool annotations
Every tool can declare annotations — metadata that controls parallel execution, labels the REPL spinner, and informs the LLM about side effects. Read-only tools run in parallel when the LLM calls multiple in one turn; all other tools run sequentially.
Plan mode
Plan mode is not a separate tool — it is a confirmation preset activated via /plan on or --plan. In plan mode, mutating tools are hidden and writes/commands are denied. See Planning & Agent Tools.