Follow Discord
Sweep 25 Sep 2026 · 19:33Z Build v2.1.283 504 read Stable v2.1.274 Latest v2.1.283 Next v2.1.283 Feeds RSS JSON llms.txt llms-full.txt Unofficial
One change · api

web-fetch-tool changedagents-and-tools/tool-use/web-fetch-tool

Nearest release: v2.1.283, published an hour before this site recorded the change. Shown because the two are within 24 hours of each other. Nothing here says the release caused the edit.

Recorded here
Lines+28added
Lines−28removed
From line 10 where the diff opens
First seen 14 Aug 2026 this site's first read of the page
Recorded edits10to this page, all time

The whole hunk

from line 10, old and new numbered
/
lines
from line 10
1010 
1111The web fetch tool allows Claude to retrieve full content from specified web pages and PDF documents.
1212 
13The latest web fetch tool version (`web_fetch_20260318`) supports **dynamic filtering**: Claude can write and execute code to filter fetched content before it reaches the context window, keeping only relevant information and discarding the rest. This reduces token consumption while maintaining response quality. Dynamic filtering is available with Claude Fable 5.1, Claude Mythos 5.1, Claude Fable 5, Claude Mythos 5, [Claude Mythos Preview](https://anthropic.com/glasswing), Claude Opus 4.8, Claude Opus 4.7, Claude Opus 4.6, Claude Sonnet 5, and Claude Sonnet 4.6. `web_fetch_20260318` also adds [response inclusion](https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-fetch-tool#response-inclusion) control for agentic workflows. The previous versions (`web_fetch_20260309` for dynamic filtering and [cache bypass](https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-fetch-tool#cache-bypass), `web_fetch_20260209` for dynamic filtering only, `web_fetch_20250910` for basic fetch) remain available.
13The latest web fetch tool version (`web_fetch_20260318`) supports **dynamic filtering**: Claude can write and execute code to filter fetched content before it reaches the context window, keeping only relevant information and discarding the rest. This reduces token consumption while maintaining response quality. Dynamic filtering is available with Claude 4.6 and later models and [Claude Mythos Preview](https://anthropic.com/glasswing). `web_fetch_20260318` also adds [response inclusion](https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-fetch-tool#response-inclusion) control for agentic workflows. The previous versions (`web_fetch_20260309` for dynamic filtering and [cache bypass](https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-fetch-tool#cache-bypass), `web_fetch_20260209` for dynamic filtering only, `web_fetch_20250910` for basic fetch) remain available.
1414 
1515Web fetch (with and without dynamic filtering) is available on the Claude API, [Claude Platform on AWS](https://platform.claude.com/docs/en/build-with-claude/claude-platform-on-aws), and [Microsoft Foundry](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry). On Microsoft Foundry, deployments [hosted on Azure](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#additional-features-not-supported-when-hosted-on-azure) support only the basic web fetch tool (`web_fetch_20250910`, without dynamic filtering). Deployments hosted on Anthropic support all versions. Web fetch is not currently available on Amazon Bedrock or Google Cloud.
1616 
from line 88
8888 -H "anthropic-version: 2023-06-01" \
8989 -H "content-type: application/json" \
9090 -d '{
91 "model": "claude-opus-4-8",
91 "model": "claude-opus-5-5",
9292 "max_tokens": 4096,
9393 "messages": [
9494 {
from line 105
105105 
106106 ```bash CLI
107107 ant messages create <<'YAML'
108 model: claude-opus-4-8
108 model: claude-opus-5-5
109109 max_tokens: 4096
110110 messages:
111111 - role: user
from line 122
122122 client = anthropic.Anthropic()
123123 
124124 response = client.messages.create(
125 model="claude-opus-4-8",
125 model="claude-opus-5-5",
126126 max_tokens=4096,
127127 messages=[
128128 {
from line 139
139139 const client = new Anthropic();
140140 
141141 const response = await client.messages.create({
142 model: "claude-opus-4-8",
142 model: "claude-opus-5-5",
143143 max_tokens: 4096,
144144 messages: [
145145 {
from line 159
159159 
160160 var parameters = new MessageCreateParams
161161 {
162 Model = Model.ClaudeOpus4_8,
162 Model = Model.ClaudeOpus5_5,
163163 MaxTokens = 4096,
164164 Messages = [new() { Role = Role.User, Content = "Fetch the content at https://example.com/research-paper and extract the key findings." }],
165165 Tools = [new ToolUnion(new WebFetchTool20260318())]
from line 173
173173 client := anthropic.NewClient()
174174 
175175 response, err := client.Messages.New(context.TODO(), anthropic.MessageNewParams{
176 Model: anthropic.ModelClaudeOpus4_8,
176 Model: anthropic.ModelClaudeOpus5_5,
177177 MaxTokens: 4096,
178178 Messages: []anthropic.MessageParam{
179179 anthropic.NewUserMessage(anthropic.NewTextBlock("Fetch the content at https://example.com/research-paper and extract the key findings.")),
from line 195
195195 AnthropicClient client = AnthropicOkHttpClient.fromEnv();
196196 
197197 MessageCreateParams params = MessageCreateParams.builder()
198 .model(Model.CLAUDE_OPUS_4_8)
198 .model(Model.CLAUDE_OPUS_5_5)
199199 .maxTokens(4096L)
200200 .addUserMessage("Fetch the content at https://example.com/research-paper and extract the key findings.")
201201 .addTool(WebFetchTool20260318.builder().build())
from line 214
214214 messages: [
215215 ['role' => 'user', 'content' => 'Fetch the content at https://example.com/research-paper and extract the key findings.']
216216 ],
217 model: 'claude-opus-4-8',
217 model: 'claude-opus-5-5',
218218 tools: [[
219219 'type' => 'web_fetch_20260318',
220220 'name' => 'web_fetch',
from line 227
227227 client = Anthropic::Client.new
228228 
229229 message = client.messages.create(
230 model: "claude-opus-4-8",
230 model: "claude-opus-5-5",
231231 max_tokens: 4096,
232232 messages: [
233233 { role: "user", content: "Fetch the content at https://example.com/research-paper and extract the key findings." }
from line 252
252252 -H "anthropic-version: 2023-06-01" \
253253 -H "content-type: application/json" \
254254 -d '{
255 "model": "claude-opus-4-8",
255 "model": "claude-opus-5-5",
256256 "max_tokens": 1024,
257257 "messages": [
258258 {
from line 270
270270 
271271 ```bash CLI
272272 ant messages create \
273 --model claude-opus-4-8 \
273 --model claude-opus-5-5 \
274274 --max-tokens 1024 \
275275 --message '{role: user, content: "Please analyze the content at https://example.com/article"}' \
276276 --tool '{type: web_fetch_20250910, name: web_fetch, max_uses: 5}'
from line 280
280280 client = anthropic.Anthropic()
281281 
282282 response = client.messages.create(
283 model="claude-opus-4-8",
283 model="claude-opus-5-5",
284284 max_tokens=1024,
285285 messages=[
286286 {
from line 297
297297 const client = new Anthropic();
298298 
299299 const response = await client.messages.create({
300 model: "claude-opus-4-8",
300 model: "claude-opus-5-5",
301301 max_tokens: 1024,
302302 messages: [
303303 {
from line 322
322322 
323323 var parameters = new MessageCreateParams
324324 {
325 Model = Model.ClaudeOpus4_8,
325 Model = Model.ClaudeOpus5_5,
326326 MaxTokens = 1024,
327327 Messages = [new() { Role = Role.User, Content = "Please analyze the content at https://example.com/article" }],
328328 Tools = [new ToolUnion(new WebFetchTool20250910() { MaxUses = 5 })]
from line 336
336336 client := anthropic.NewClient()
337337 
338338 response, err := client.Messages.New(context.TODO(), anthropic.MessageNewParams{
339 Model: anthropic.ModelClaudeOpus4_8,
339 Model: anthropic.ModelClaudeOpus5_5,
340340 MaxTokens: 1024,
341341 Messages: []anthropic.MessageParam{
342342 anthropic.NewUserMessage(anthropic.NewTextBlock("Please analyze the content at https://example.com/article")),
from line 360
360360 AnthropicClient client = AnthropicOkHttpClient.fromEnv();
361361 
362362 MessageCreateParams params = MessageCreateParams.builder()
363 .model(Model.CLAUDE_OPUS_4_8)
363 .model(Model.CLAUDE_OPUS_5_5)
364364 .maxTokens(1024L)
365365 .addUserMessage("Please analyze the content at https://example.com/article")
366366 .addTool(WebFetchTool20250910.builder()
from line 381
381381 messages: [
382382 ['role' => 'user', 'content' => 'Please analyze the content at https://example.com/article']
383383 ],
384 model: 'claude-opus-4-8',
384 model: 'claude-opus-5-5',
385385 tools: [[
386386 'type' => 'web_fetch_20250910',
387387 'name' => 'web_fetch',
from line 395
395395 client = Anthropic::Client.new
396396 
397397 message = client.messages.create(
398 model: "claude-opus-4-8",
398 model: "claude-opus-5-5",
399399 max_tokens: 1024,
400400 messages: [
401401 { role: "user", content: "Please analyze the content at https://example.com/article" }
from line 667
667667 -H "anthropic-version: 2023-06-01" \
668668 -H "content-type: application/json" \
669669 -d '{
670 "model": "claude-opus-4-8",
670 "model": "claude-opus-5-5",
671671 "max_tokens": 4096,
672672 "messages": [
673673 {
from line 693
693693 
694694 ```bash CLI
695695 ant messages create <<'YAML'
696 model: claude-opus-4-8
696 model: claude-opus-5-5
697697 max_tokens: 4096
698698 messages:
699699 - role: user
from line 716
716716 client = anthropic.Anthropic()
717717 
718718 response = client.messages.create(
719 model="claude-opus-4-8",
719 model="claude-opus-5-5",
720720 max_tokens=4096,
721721 messages=[
722722 {
from line 741
741741 const client = new Anthropic();
742742 
743743 const response = await client.messages.create({
744 model: "claude-opus-4-8",
744 model: "claude-opus-5-5",
745745 max_tokens: 4096,
746746 messages: [
747747 {
from line 769
769769 
770770 var parameters = new MessageCreateParams
771771 {
772 Model = Model.ClaudeOpus4_8,
772 Model = Model.ClaudeOpus5_5,
773773 MaxTokens = 4096,
774774 Messages = [new() { Role = Role.User, Content = "Find recent articles about quantum computing and analyze the most relevant one in detail" }],
775775 Tools = [
from line 786
786786 client := anthropic.NewClient()
787787 
788788 response, err := client.Messages.New(context.TODO(), anthropic.MessageNewParams{
789 Model: anthropic.ModelClaudeOpus4_8,
789 Model: anthropic.ModelClaudeOpus5_5,
790790 MaxTokens: 4096,
791791 Messages: []anthropic.MessageParam{
792792 anthropic.NewUserMessage(anthropic.NewTextBlock("Find recent articles about quantum computing and analyze the most relevant one in detail")),
from line 817
817817 AnthropicClient client = AnthropicOkHttpClient.fromEnv();
818818 
819819 MessageCreateParams params = MessageCreateParams.builder()
820 .model(Model.CLAUDE_OPUS_4_8)
820 .model(Model.CLAUDE_OPUS_5_5)
821821 .maxTokens(4096L)
822822 .addUserMessage("Find recent articles about quantum computing and analyze the most relevant one in detail")
823823 .addTool(WebSearchTool20250305.builder()
from line 842
842842 messages: [
843843 ['role' => 'user', 'content' => 'Find recent articles about quantum computing and analyze the most relevant one in detail']
844844 ],
845 model: 'claude-opus-4-8',
845 model: 'claude-opus-5-5',
846846 tools: [
847847 [
848848 'type' => 'web_search_20250305',
from line 864
864864 client = Anthropic::Client.new
865865 
866866 message = client.messages.create(
867 model: "claude-opus-4-8",
867 model: "claude-opus-5-5",
868868 max_tokens: 4096,
869869 messages: [
870870 { role: "user", content: "Find recent articles about quantum computing and analyze the most relevant one in detail" }
Feedback