WebSearch
A Claude Code tool, read out of the shipped bundle. It has been in the build since v2.1.138, including the newest one read.
WebSearch can now be disabled or gated entirely without needing a host list.
Not Anthropic's. This is the line from the earliest changelog entry here that named it, v2.1.260.
In the changelogs
28Releases whose published page names WebSearch.
-
v2.1.295
Web search can stop asking Claude to write its own list of sources
With CLAUDE_CODE_WEBSEARCH_CITATIONS set, Claude is no longer told to end web search answers with a written "Sources:" list
found in this entry's text
-
v2.1.295
Web search results can include page text for PostToolUse hooks
Each web search hit can now carry an optional snippet of page text, passed to PostToolUse hooks but not into the tool result
found in this entry's text
-
v2.1.292
Web search in remote sessions no longer skips the proxy when web fetch is disabled
Whether web search goes through the remote-session proxy no longer depends on web fetch being disabled
found in this entry's text
-
v2.1.292
Web search needs an extra check, and the artifact tool's wording changes
WebSearch is now only available when a new check passes, and the artifact tool lists items most recently opened or updated first
found in this entry's text
-
v2.1.290
WebSearch now uses a budget that refills every hour
WebSearch is limited by an hourly refilling budget instead of a simple count, adjustable with CLAUDE_CODE_WEB_SEARCH_REFILLS_PER_HOUR
found in this entry's text
-
v2.1.290
Claude stops trying Chrome tools when the browser connection has failed
When Claude in Chrome is on but its connection failed, Claude is told to skip the browser tools and use WebFetch and WebSearch
found in this entry's text
-
v2.1.287
Web fetches and searches can now report that they stepped aside for your message
In stream-json output, a WebFetch or WebSearch result can now carry detachedToolCall: true, meaning it is still running
found in this entry's text
-
v2.1.284
The web search tool's description no longer names the current month
The WebSearch tool's description now says the month is provided in the conversation instead of naming a month and year
found in this entry's text
-
v2.1.284
In Projects sessions, web fetch and search can't be allowed permanently
In a Projects session, permission to fetch web pages or search the web can only be granted for that session, and plugins cannot grant it
found in this entry's text
-
v2.1.284
Always allow for web fetches and searches lasts only for the session in some cases
In certain sessions, choosing to always allow WebFetch or WebSearch now lasts only for that session and is not saved to your settings
found in this entry's text
-
v2.1.284
WebSearch no longer has a fixed current month in its instructions
Claude's web search instructions no longer name September 2026 as the current month and point to the date given in the conversation
found in this entry's text
-
v2.1.284
Hooks cannot grant web fetching or searching in Projects sessions
In Projects sessions, a
PermissionRequesthook can no longer approve WebFetch or WebSearch or loosen their rulesfound in this entry's text
-
v2.1.283
WebSearch error reports include the search mode
When WebSearch fails, the usage data Claude Code reports now says whether it was in standard or extended mode
found in this entry's text
-
v2.1.283
Setting the web-search proxy variable no longer turns off fast web search
CLAUDE_CODE_WEBSEARCH_USE_CCR_PROXYno longer forces fast web search off, andCLAUDE_CODE_WEBSEARCH_CCR_PROXY_FASTis gonefound in this entry's text
-
v2.1.282
Which Vertex models get WebSearch is now decided by a model-version check
On Vertex, WebSearch and a related beta header are now enabled by a single comparison against
claude-opus-4-0instead of fixed model listsfound in this entry's text
-
v2.1.282
Web search instructions can be extended remotely, and a stray option is ignored
When fast web search is enabled, extra WebSearch tool instructions can be supplied remotely, and a
modevalue sent while it is off is droppedfound in this entry's text
-
v2.1.282
WebSearch on Vertex now works with every model except claude-opus-4-0
On Google Vertex, WebSearch is now enabled for any model except claude-opus-4-0 instead of only six listed model families
found in this entry's text
-
v2.1.277
New tool
backgroundingfield controls detach/self/never execution modeTools gain a
backgroundingsetting controlling whether they can keep running in the backgroundfound in this entry's text
-
v2.1.277
Per-tool 'backgrounding' classification rolled out across nearly all built-in tools
Nearly every built-in tool now carries a 'backgrounding' classification of never, self, or detach
found in this entry's text
-
v2.1.269
WebSearchTool now declares an explicit checkPermissions gate
The built-in WebSearch tool now has an explicit permission check that suggests adding an allow rule
found in this entry's text, named in this entry
-
v2.1.260
Built-in web search can now be disabled or gated via policy without host list
WebSearch can now be disabled or gated entirely without needing a host list.
found in this entry's text, named in this entry
-
v2.1.182
CCR WebSearch Proxy
found in this entry's text
-
v2.1.120
Lean Prompt Mode (Condensed Tool Descriptions)
found in this entry's text
-
v2.0.50
WebSearch Tool Now Requires Source Citations
found in this entry's text
-
v1.0.46
Performance Improvements
found in this entry's text
-
v1.0.46
Technical Changes
found in this entry's text
-
v1.0.40
Enhanced Web Search Date Awareness
found in this entry's text
-
v0.2.56
New Features
found in this entry's text
First cited
3The earliest release whose published evidence quoted WebSearch was v2.1.260, 3 Sep 2026. That is the oldest release this project wrote about it, so it is a floor on the name's age and not the release that introduced it. It is not a presence reading: which builds carried the name is the table below.
Presence across releases
2Build by build
265One row per release since the first build this name was read out of. Absent means the build was read and the name was not in it, never mined means no bundle for that release was ever archived, and a declared type or a default is only ever what that release's own bundle stated.
Read out of the published npm bundle release by release, and out of Anthropic's own documentation as this site captured it. Nothing on this page is a description anybody here wrote about what the tool does. All tools.