Skip to the page
Tecyfy

Claude computer use and browser use: the GA toolsets

Claude's computer use tool left beta in August 2026 as computer_toolset_20260801, and a browser use tool, browser_toolset_20260801, arrived beside it. Which one to pick, how the agent loop and batch actions work, what moving off computer_20251124 takes, what a task costs and how to keep a page from steering the agent.

Tecyfy · Published · 10 min read

A robot hand works a mouse at a monitor while a person holds a red stop lever, inside a fence of approved signposts

Claude can now drive a screen without a beta header. On 19 August 2026 Anthropic moved computer use out of beta as computer_toolset_20260801, which controls a whole desktop through screenshots, mouse and keyboard, and launched browser_toolset_20260801, which works inside a browser and reads the page itself. Both are client tools: Claude decides the next click, and your code performs it in a machine you run. Pick browser use when the job lives in web pages, computer use when it needs desktop apps, and neither when an API or a page fetch would do.

Three ways to get a job done on a website

Driving a screen is the slowest and most expensive way for an agent to reach information, so it comes last:

  1. An API or an MCP server. If the system has one, call it. A function call returns exact data without a screen.
  2. Web fetch. If Claude only needs to read a page you can point it to, the web fetch tool brings the text back without a browser.
  3. Browser use, then computer use. When the work means logging in, clicking through a form or reading a page that builds itself with JavaScript, give Claude a browser. When it means a desktop app, a remote desktop or files across applications, give it a computer.

Anthropic's own advice runs the same way: browser use for tasks that stay inside web pages, computer use when a task needs a whole desktop, web fetch for reading.

What each toolset gives Claude

One entry in tools declares a set of member tools. You do not name them; the toolset version fixes them.

Computer useBrowser use
Tools entry{"type": "computer_toolset_20260801"}{"type": "browser_toolset_20260801"}
Member tools17, all on by default27 on by default, 4 optional
How Claude seesScreenshots of the desktop, zoom for small textThe accessibility tree (read_page, find), page text, screenshots
How Claude pointsPixel coordinatesAn element reference such as ref_3, or viewport coordinates
ExtrasMouse down and up, hold key, waitForm input, tabs, downloads; opt-in JavaScript, file upload, console and network logs
Added input tokens per requestAbout 4,500About 6,600
Where it runsClaude API and Google Cloud (Google managed); earlier beta versions on Bedrock, Claude Platform on AWS, FoundryClaude API and Google Cloud (Google managed)

The element references are the reason browser use is the better choice for web work. A coordinate breaks when a banner pushes the page down; a reference points at the button itself, from the accessibility tree your executor reads. Claude still falls back to screenshots and coordinates for canvases, video, virtualized lists and cross-origin frames that the tree does not describe. Anthropic also notes that a tree read of a typical page often costs fewer tokens than a screenshot.

Neither toolset is in Claude Managed Agents yet, and neither runs on Anthropic's side: you host the browser or the desktop.

The loop your code runs

Claude never touches the machine. Each response holds one or more tool_use blocks, each naming a member and carrying toolset_name; your code runs them and sends back one tool_result per block. Since August, Claude can return several actions in one turn, such as click, type, press Enter, which Anthropic calls a batch action. You run the blocks in order, stop at the first failure and answer every later block with a fixed error text:

import anthropic

client = anthropic.Anthropic()
tools = [{"type": "browser_toolset_20260801"}]
messages = [{"role": "user", "content": "Open status.example.com and list the services that are degraded."}]

while True:
    response = client.messages.create(
        model="claude-sonnet-5-5", max_tokens=4096, tools=tools, messages=messages
    )
    messages.append({"role": "assistant", "content": response.content})
    if response.stop_reason != "tool_use":
        break

    results, failed = [], False
    for block in response.content:
        if block.type != "tool_use":
            continue
        result = {"type": "tool_result", "tool_use_id": block.id, "toolset_name": "browser"}
        if failed:  # an earlier action in this batch failed: do not run the rest
            result |= {"is_error": True, "content": "Not executed: an earlier action in this turn failed."}
        else:
            try:
                result["content"] = run_member(block.name, block.input)  # your Playwright code
            except Exception as error:
                failed = True
                result |= {"is_error": True, "content": str(error)}
        results.append(result)
    messages.append({"role": "user", "content": results})

print(response.content[-1].text)

Two rules trip people up. Every tool_use block needs an answer, or the next request is rejected, so a loop that reads only the first block breaks as soon as Claude batches. And if a person approves risky actions, the check has to run before each block, because one turn can complete a whole purchase. The computer toolset's halt text is slightly different: Not executed: an earlier computer action in this turn failed.

You may not need to write this loop. Since 7 October the Python and TypeScript SDKs have browser and computer toolset classes, in beta, that run it with the tool runner, apply your approval callback and, for the browser, a URL policy, and take a driver from a provider: Browser Use or Browserbase for the browser, Daytona for the computer, E2B for either. You still supply, or rent, the browser.

Moving off computer_20251124

Existing integrations keep working with their beta header on the models listed for them, including Claude Opus 5, Sonnet 5 and Opus 4.8. The forcing change is the Claude 5.5 models: on the Claude API and Google Cloud, Opus 5.5, Sonnet 5.5 and Haiku 5.5 reject the earlier versions with an error. If you switch models, you switch tools:

  • Drop the anthropic-beta: computer-use-2025-11-24 header and call the standard client.
  • Replace the entry with {"type": "computer_toolset_20260801"}; delete name, display_width_px, display_height_px, display_number and enable_zoom, which the toolset now rejects.
  • Dispatch on name plus toolset_name instead of input.action, and handle every block in a turn.
  • Echo "toolset_name": "computer" on every result.
  • Decide on zoom. It is now on by default; if your environment cannot crop, set "configs": {"zoom": {"enabled": false}}.
  • Honour the new repeat field on key, or "press Tab 4 times" becomes one press.
  • Resize screenshots yourself. The toolset takes no display size, does not downscale and rejects an image over the model's limit, 2,576 pixels on the long edge for the models that support it.

Amazon Bedrock is the exception: there the 5.5 models still accept computer_20251124, and the toolset is not available.

What a task costs

Neither tool has a fee of its own. You pay for tokens, and the screenshots are what add up: each one is billed as image input, about 1,200 tokens at 1280×720, and because every request resends the conversation, a screenshot taken on turn 3 is paid for again on turn 4, 5 and every turn after. Without prompt caching, the cost of a turn grows with its position, and the total grows with the square of the turns.

Try itWhat does one screen-driving task cost?
Screenshot size
30

a turn is one request; it can carry several actions

Turn 1Bars: cost of each turn, not cached. Dashed line: the other way.Turn 30

$1.89 for the task, against $0.3059 with caching. Each screenshot is 1,196 tokens, and by the last turn the request carries 52K tokens of history, so that turn alone is 6% of the bill.

Assumes a 1,000-token prompt, 300 output tokens a turn (thinking included), a screenshot every turn and the full history kept, with a 5-minute cache breakpoint on the latest result. Claude API prices, October 2026.

On our assumptions, a 30-turn browser task on Claude Sonnet 5.5 costs about $1.89 with no cache and $0.31 with one; at 100 turns the gap is $17.13 against $1.53. Claude Haiku 5.5 is cheaper per token but charges higher rates on any request whose prompt passes 100,000 tokens, so a long run on Haiku jumps from about $0.33 at 60 turns to about $2.97 at 100. Anthropic's advice for the 5.5 models is to keep screenshots at 2,000 pixels or less a side and not to prune old ones on the client, because removing an earlier screenshot invalidates the thinking that followed it; use server-side tool result clearing instead. For whole-agent budgets, the agent cost simulator works on the same prices.

Keep the page from driving

A computer use agent reads whatever the screen shows, and anything on a page can be written to steer it. Anthropic's docs say plainly that Claude sometimes follows instructions found in content even when they conflict with yours. Anthropic runs classifiers over screenshots and page text that flag likely injections and make Claude check before acting, but it treats them as an extra layer, not the defence. (They don't currently run on browser toolset requests through Amazon Bedrock.) Our prompt injection examples show what such text looks like.

The precautions that do the work are in your environment:

  • A fresh machine each session. A dedicated container or VM with minimal privileges and a browser profile that is signed in to nothing you would not hand to Claude.
  • An allowlist at the network. The SDK's URL policy checks only the URLs Claude asks navigate to open, and without one it checks none. A click or a redirect can still reach localhost or the cloud metadata address 169.254.169.254. Egress rules on the container can block the metadata address and private ranges, but rules outside the container can't block localhost, so check each request in the driver as well. Our piece on limiting what an agent can fetch covers that layer.
  • Only http and https. Refuse file:, which reads the host's files, and javascript:, which runs script even with javascript_exec off.
  • Risky members off. Leave javascript_exec and file_upload disabled unless the task needs them; the SDK refuses to enable either without an approval callback.
  • A person for consequences. Purchases, account changes, messages and accepting terms go to a human first; our human-in-the-loop guide covers how to pause a run for approval.

Where it still falls short

Anthropic lists the limits itself: it is slower than a person, so it suits background jobs and automated testing more than live help; it can misjudge coordinates or pick the wrong tool, more often in niche apps or several apps at once; scrolling and spreadsheets can take several tries; and it is limited at creating accounts or posting on social platforms. For anything that needs perfect precision or handles sensitive data, Anthropic's advice is a human watching. That makes the best first jobs for these tools the ones with no API and a forgiving outcome: checking a vendor portal, testing your own web app, filling an internal form, collecting a status from a dashboard. They are the tool use of last resort, not the first thing an agent reaches for.

Questions

What is Claude computer use?
Computer use is a Claude API tool that lets Claude operate a desktop through screenshots, mouse and keyboard. You add one entry, computer_toolset_20260801, to the tools array; Claude replies with calls such as screenshot, left_click, type and zoom, and your application runs them in a virtual machine or container you control and returns the results. It is generally available on the Claude API and on Claude Models on Google Cloud (Google managed).
What is the Claude browser use tool?
The browser use tool, browser_toolset_20260801, launched on 19 August 2026. It lets Claude work inside a browser your application runs: it reads the page's accessibility tree and text, clicks elements by reference or by coordinate, fills forms and manages tabs. It has 27 member tools by default and 4 optional ones (JavaScript, file upload, console and network reads), and it does not need a full desktop.
Should I use computer use or browser use?
Use browser use when the task stays inside web pages, because it reads the page structure and acts on elements, which survives layout changes. Use computer use when the task needs desktop applications or anything outside a browser. If the job is only reading pages, web fetch is lighter: the API runs it for you, with no browser to operate.
How much does Claude computer use cost?
There is no separate fee; you pay for tokens. The computer toolset adds about 4,500 input tokens to each request and the browser toolset about 6,600. Each screenshot is billed as image input, about 1,200 tokens at 1280 by 720, and every later turn resends it. A 30-turn task on Claude Sonnet 5.5 costs about $1.89 without prompt caching and about $0.31 with it, on our assumptions.
Does computer_20251124 still work?
Yes, with its beta header, on the models listed for it, such as Claude Opus 5, Sonnet 5 and Opus 4.8. On the Claude API and Google Cloud, Claude 5.5 models (Opus 5.5, Sonnet 5.5, Haiku 5.5) reject the earlier versions and accept only computer_toolset_20260801. Amazon Bedrock, Claude Platform on AWS and Microsoft Foundry still use the earlier beta versions.
Is Claude computer use safe?
Only with precautions. Pages and images can carry instructions that steer Claude, so Anthropic advises a dedicated VM or container with no credentials, a domain allowlist enforced at the network, refusing non-http URL schemes, leaving JavaScript and file upload off, and a human confirming purchases, account changes, messages and accepting terms. Anthropic also runs classifiers on screenshots and page text that flag likely prompt injections.