{"name":"ENABLE_TOOL_SEARCH","slug":"enable-tool-search","family":"env","title":"Environment variables","noun":"environment variable","description":"Tool search now runs on Vertex AI instead of being refused outright.","description_source":"entry","described_by":{"version":"2.1.221","anchor":"tool-search-no-longer-disabled-on-vertex-ai"},"presence":{"first_seen":"2.1.138","removed_in":null,"in_current_build":true,"newest_mined":"2.1.308","builds":149,"mined_builds":149,"first_cited":{"version":"2.1.9","released_at":"2026-01-15 23:59:29","spans":6}},"aliases":[],"entries":[{"version":"2.1.304","anchor":"tool-search-refusal-by-a-custom-anthropic-base-url-endpoint","heading":"Tool search is tried through custom API endpoints and paused for a day if refused","line":"With a custom `ANTHROPIC_BASE_URL`, Claude Code now tries MCP tool search and turns it off for a day only if that endpoint refuses it","released_at":"2026-10-19 19:47:15","reason":"found in this entry's text"},{"version":"2.1.304","anchor":"tool-search-can-be-held-off-for-a-conversation-that-ran-with","heading":"Tool search stays off for a conversation that has run without it","line":"Once a conversation has run without tool search, it stays off until you compact or clear it, unless `ENABLE_TOOL_SEARCH=true` is set","released_at":"2026-10-19 19:47:15","reason":"found in this entry's text"},{"version":"2.1.281","anchor":"managed-settings-text-for-mcp-tool-search-now-says-it-is-on","heading":"Managed-settings text for MCP tool search now says it is on by default for first-party providers","line":"The managed setting that turns on MCP tool search now says it is already on for the Claude API, Vertex AI, Bedrock and Bedrock Mantle","released_at":"2026-09-23 17:01:17","reason":"found in this entry's text"},{"version":"2.1.232","anchor":"environment-variables-read-through-one-typed-table-instead-o","heading":"Environment variables read through one typed table instead of scattered process.env lookups","line":"Environment variables are now read through one typed table, with the same names and behaviour.","released_at":"2026-08-13 21:30:53","reason":"found in this entry's text"},{"version":"2.1.232","anchor":"tool-search-says-once-why-it-turned-itself-off","heading":"Tool search says once why it turned itself off","line":"Tool search logs why it disabled itself and refuses entirely against a non-Anthropic base URL.","released_at":"2026-08-13 21:30:53","reason":"named in this entry, found in this entry's text"},{"version":"2.1.227","anchor":"enable-tool-search-force-now-works-from-settings-composed-en","heading":"ENABLE_TOOL_SEARCH=force now works from settings-composed environment","line":"ENABLE_TOOL_SEARCH=force now works when set through your settings, not just the shell.","released_at":"2026-08-10 20:56:57","reason":"named in this entry, found in this entry's text"},{"version":"2.1.224","anchor":"tool-search-telemetry-records-the-real-mode-and-a-finer-skip","heading":"Tool-search telemetry records the real mode and a finer skip reason","line":"Skipped tool-search events now report the real mode in effect and a more precise skip reason.","released_at":"2026-08-07 01:36:32","reason":"named in this entry, found in this entry's text"},{"version":"2.1.221","anchor":"tool-search-no-longer-disabled-on-vertex-ai","heading":"Tool search no longer disabled on Vertex AI","line":"Tool search now runs on Vertex AI instead of being refused outright.","released_at":"2026-08-03 22:16:25","reason":"named in this entry, found in this entry's text"},{"version":"2.1.9","anchor":"enable-tool-search-percentage-control","heading":"ENABLE_TOOL_SEARCH Percentage Control","line":null,"released_at":"2026-01-15 23:59:29","reason":"found in this entry's text"}],"entries_total":9,"docs":[{"source":"claude-code","path":"agent-sdk\/mcp","title":"Connect to external tools with MCP","documented":false},{"source":"claude-code","path":"agent-sdk\/tool-search","title":"Scale to many tools with tool search","documented":false},{"source":"claude-code","path":"agent-sdk\/typescript","title":"Agent SDK reference - TypeScript","documented":false},{"source":"claude-code","path":"changelog","title":"Claude Code changelog","documented":false},{"source":"claude-code","path":"context-window","title":"Explore the context window","documented":false},{"source":"claude-code","path":"env-vars","title":"Environment variables","documented":false},{"source":"claude-code","path":"errors","title":"Error reference","documented":false},{"source":"claude-code","path":"google-vertex-ai","title":"Claude Code on Google Cloud's Agent Platform","documented":false},{"source":"claude-code","path":"hipaa-setup","title":"Set up Claude Code (local mode) for a HIPAA-ready organization","documented":false},{"source":"claude-code","path":"llm-gateway-protocol","title":"Claude Code gateway compatibility guide","documented":false}],"docs_total":12,"gates":[],"related":[{"name":"ENABLE_BETA_TRACING_DETAILED","slug":"enable-beta-tracing-detailed","description":"Detailed beta tracing now also requires that the session is not diskless, so it stops in sessions that avoid writing to disk"},{"name":"ENABLE_CLAUDEAI_MCP_SERVERS","slug":"enable-claudeai-mcp-servers","description":"Eval sandboxes force claude.ai MCP servers off so they can't reach real servers."},{"name":"ENABLE_ENHANCED_TELEMETRY_BETA","slug":"enable-enhanced-telemetry-beta","description":"Older name for `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA`, read from `process.env` only when that variable is unset. A value of `1`, `true`, `yes` or `on` turns on the enhanced OpenTelemetry tracing spans (such as the `interaction` span); `ENABLE_BETA_TRACING_DETAILED` also turns them on. A true value in a settings `env` block is listed with the note `(adds traces to the telemetry export)`."},{"name":"ENABLE_LOCKLESS_UPDATES","slug":"enable-lockless-updates","description":null},{"name":"ENABLE_LSP_TOOL","slug":"enable-lsp-tool","description":null},{"name":"ENABLE_MCP_LARGE_OUTPUT_FILES","slug":"enable-mcp-large-output-files","description":"MCP_TOOL_TIMEOUT is parsed with a minimum of 1 and ENABLE_MCP_LARGE_OUTPUT_FILES only disables when explicitly false."},{"name":"ENABLE_PID_BASED_VERSION_LOCKING","slug":"enable-pid-based-version-locking","description":null},{"name":"ENABLE_PROMPT_CACHING_1H","slug":"enable-prompt-caching-1h","description":"You can pin the prompt cache to five minutes or an hour, separately for subagents."},{"name":"ENABLE_PROMPT_CACHING_1H_BEDROCK","slug":"enable-prompt-caching-1h-bedrock","description":"When `1`, `true`, `yes` or `on` and the API provider is Bedrock, requests use a `1h` prompt cache TTL. It applies only when no earlier source decides the TTL: `FORCE_PROMPT_CACHING_5M`, the `CLAUDE_CODE_PROMPT_CACHE_TTL` or `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL` env vars, the `promptCacheTtl` or `subagentPromptCacheTtl` settings, and an agent's frontmatter TTL all take precedence. `ENABLE_PROMPT_CACHING_1H` does the same for every provider."},{"name":"ENABLE_SESSION_BACKGROUNDING","slug":"enable-session-backgrounding","description":null}],"url":"https:\/\/changelogs.core-directive.com\/reference\/env\/enable-tool-search","family_url":"https:\/\/changelogs.core-directive.com\/reference\/env.json"}