Skip to main content

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.

ToolCategoryAnnotationsDetails
read_fileFileread-only · idempotentFile tools
write_fileFiledestructiveFile tools
str_replaceFiledestructiveFile tools
patch_fileFiledestructiveFile tools
list_directoryFileread-only · idempotentFile tools
bashShelldestructive · open-worldBash
globSearchread-only · idempotentSearch
grep_searchSearchread-only · idempotentSearch
index_workspaceSearchSearch
semantic_searchSearchread-only · idempotentSearch
web_fetchNetworkread-only · idempotent · open-worldPlanning & agent
delegate_taskAgentopen-worldPlanning & 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.