Analyzed: March 31, 2026 leak snapshot
This page is keyed to the tool constructors registered in getAllBaseTools() (src/tools.ts). Runtime tool names can differ from constructor names.

Scope

This table documents core tool registrations that are always included or commonly present in non-feature-gated runs.

Core registrations

Registration token in src/tools.tsCategoryGate in registry
AgentToolAgent orchestrationAlways included
TaskOutputToolAgent/task outputAlways included
BashToolShell executionAlways included
GlobToolFile discoveryIncluded when hasEmbeddedSearchTools() is false
GrepToolContent searchIncluded when hasEmbeddedSearchTools() is false
ExitPlanModeV2ToolPlan modeAlways included
FileReadToolFile opsAlways included
FileEditToolFile opsAlways included
FileWriteToolFile opsAlways included
NotebookEditToolNotebook/file opsAlways included
WebFetchToolWeb accessAlways included
TodoWriteToolTask/todo stateAlways included
WebSearchToolWeb accessAlways included
TaskStopToolAgent/task controlAlways included
AskUserQuestionToolUser interactionAlways included
SkillToolSkillsAlways included
EnterPlanModeToolPlan modeAlways included
getSendMessageTool() (SendMessageTool)Agent orchestrationAlways included (lazy-loaded helper)
BriefToolOutput/metaAlways included
ListMcpResourcesToolMCP resourcesAlways included
ReadMcpResourceToolMCP resourcesAlways included

Runtime filtering that affects these

Even when listed above, runtime filtering can remove a tool from the model-visible set:
  • blanket deny rules in permission context
  • CLAUDE_CODE_SIMPLE mode
  • REPL mode hiding REPL_ONLY_TOOLS
  • tool.isEnabled() runtime checks
Those filters are applied in getTools() and filterToolsByDenyRules().