The Agent SDK ships its own tools
Out of the box, the Agent SDK provides filesystem and shell tools that mirror what Claude Code gives a human user — Read, Write, Edit, Bash, Glob, Grep, WebFetch, Task, NotebookEdit, and others. The model selects them like any other tool; permission prompts gate them by default.
Tools have their own discipline
Read reads files (with size and offset controls). Write creates new files. Edit performs string replacements; you must read a file first before editing it. Bash runs shell commands inside the cwd. Glob matches paths; Grep searches contents. Each has options that affect cost and safety.
Whitelist, do not blacklist
If your agent only needs to read and search, declare exactly that. The default set is broad on purpose; in production agents you should narrow aggressively and document the reason. Declare it with tools=, which decides what exists; allowed_tools= only decides what runs without asking. cwkPippa gives its Claude brain the file and shell tools because Pippa is a pair-programming companion, and reaches the web only through its own checkpointed MCP server instead of the built-in WebSearch and WebFetch; a customer-service agent should not have Bash.