diff --git a/packages/coding-agent/src/core/sdk.ts b/packages/coding-agent/src/core/sdk.ts index 610f2717..a812320f 100644 --- a/packages/coding-agent/src/core/sdk.ts +++ b/packages/coding-agent/src/core/sdk.ts @@ -656,9 +656,11 @@ export async function createAgentSession(options: CreateAgentSessionOptions = {} let wrappedToolRegistry: Map | undefined; if (hookRunner) { activeToolsArray = wrapToolsWithHooks(activeToolsArray as AgentTool[], hookRunner); - // Also create a wrapped version of the registry for setTools + // Wrap ALL registry tools (not just active) so hooks can enable any + const allRegistryTools = Array.from(toolRegistry.values()); + const wrappedAllTools = wrapToolsWithHooks(allRegistryTools, hookRunner); wrappedToolRegistry = new Map(); - for (const tool of activeToolsArray as AgentTool[]) { + for (const tool of wrappedAllTools) { wrappedToolRegistry.set(tool.name, tool); } }