Tools

Registered in packages/tools (createBuiltinTools). MCP tools appear as namespaced entries (e.g. mcp_<server>_<tool>).

ToolRole
readFile + optional line range
writeCreate / overwrite
editSearch-replace / patch-style
bashShell, cwd = sandbox root
grepRipgrep-style search
globFilename patterns
lsDirectory listing
webfetchHTTP GET with size / host limits
todowriteFull plan list rewrite (plan memory)
skillLoad a SKILL.md body
memory_write / memory_searchDurable memory
code_searchRepo search / index (BM25/FTS5; dense embeddings deferred)
taskSubagent turn (skips Jev; model-written prompt)

Execution pipeline

For mutating / subprocess tools:

permission → verification/budget → PreToolUse → sandbox → implementation → PostToolUse → truncate observation for context.

Tool stdout is capped so a single grep cannot blow the window.