Claude kann mit Computerumgebungen über das Computer-Use-Tool interagieren, das Screenshot-Funktionen und Maus-/Tastatursteuerung für autonome Desktop-Interaktion bereitstellt. Auf WebArena, einem Benchmark für autonome Web-Navigation auf echten Websites, erzielt Claude Spitzenergebnisse unter Einzelagentensystemen und demonstriert damit eine starke Fähigkeit, mehrstufige Browser-Aufgaben von Anfang bis Ende zu erledigen.
Computer Use befindet sich in der Beta-Phase und erfordert einen Beta-Header:
"computer-use-2025-11-24" für Claude Opus 4.6, Claude Sonnet 4.6, Claude Opus 4.5"computer-use-2025-01-24" für Sonnet 4.5, Haiku 4.5, Opus 4.1, Sonnet 4, Opus 4 und Sonnet 3.7 (veraltet)Teilen Sie Ihr Feedback zu dieser Funktion über das Feedback-Formular mit.
This feature is eligible for Zero Data Retention (ZDR). When your organization has a ZDR arrangement, data sent through this feature is not stored after the API response is returned.
Computer Use ist eine Beta-Funktion, die Claude die Interaktion mit Desktop-Umgebungen ermöglicht. Dieses Tool bietet:
Während Computer Use mit anderen Tools wie bash und Texteditor für umfassendere Automatisierungs-Workflows ergänzt werden kann, bezieht sich Computer Use speziell auf die Fähigkeit des Computer-Use-Tools, Desktop-Umgebungen zu sehen und zu steuern.
Computer Use ist für die folgenden Claude-Modelle verfügbar:
| Modell | Tool-Version | Beta-Flag |
|---|---|---|
| Claude Opus 4.6, Claude Sonnet 4.6, Claude Opus 4.5 | computer_20251124 | computer-use-2025-11-24 |
| Alle anderen unterstützten Modelle | computer_20250124 | computer-use-2025-01-24 |
Claude Opus 4.6, Claude Sonnet 4.6 und Claude Opus 4.5 führen die Tool-Version computer_20251124 mit neuen Funktionen ein, einschließlich der Zoom-Aktion zur detaillierten Inspektion von Bildschirmbereichen. Alle anderen Modelle (Sonnet 4.5, Haiku 4.5, Sonnet 4, Opus 4, Opus 4.1 und Sonnet 3.7) verwenden die Tool-Version computer_20250124.
Ältere Tool-Versionen sind nicht garantiert rückwärtskompatibel mit neueren Modellen. Verwenden Sie immer die Tool-Version, die Ihrer Modellversion entspricht.
Computer Use ist eine Beta-Funktion mit einzigartigen Risiken, die sich von Standard-API-Funktionen unterscheiden. Diese Risiken sind bei der Interaktion mit dem Internet erhöht.
Um Risiken zu minimieren, sollten Sie folgende Vorsichtsmaßnahmen treffen:
Unter bestimmten Umständen folgt Claude Anweisungen, die in Inhalten gefunden werden, auch wenn diese den Anweisungen des Benutzers widersprechen. Zum Beispiel können Claude-Anweisungen auf Webseiten oder in Bildern Anweisungen überschreiben oder Claude dazu bringen, Fehler zu machen. Treffen Sie Vorsichtsmaßnahmen, um Claude von sensiblen Daten und Aktionen zu isolieren, um Risiken im Zusammenhang mit Prompt-Injection zu vermeiden.
Das Modell wurde darauf trainiert, diesen Prompt-Injections zu widerstehen, und eine zusätzliche Verteidigungsebene wurde hinzugefügt. Wenn Sie die Computer-Use-Tools verwenden, werden Klassifikatoren automatisch auf Ihre Prompts angewendet, um potenzielle Fälle von Prompt-Injections zu kennzeichnen. Wenn diese Klassifikatoren potenzielle Prompt-Injections in Screenshots identifizieren, werden sie das Modell automatisch dazu veranlassen, vor dem Fortfahren mit der nächsten Aktion eine Benutzerbestätigung anzufordern. Dieser zusätzliche Schutz ist nicht für jeden Anwendungsfall ideal (zum Beispiel Anwendungsfälle ohne einen Menschen in der Schleife). Wenn Sie sich abmelden und ihn deaktivieren möchten, wenden Sie sich bitte an den Support.
Diese Vorsichtsmaßnahmen bleiben auch mit der Klassifikator-Verteidigungsebene wichtig.
Informieren Sie Endbenutzer über relevante Risiken und holen Sie deren Zustimmung ein, bevor Sie Computer Use in Ihren eigenen Produkten aktivieren.
Starten Sie schnell mit der Computer Use Referenzimplementierung, die eine Web-Oberfläche, einen Docker-Container, Beispiel-Tool-Implementierungen und eine Agentenschleife enthält.
Hinweis: Die Implementierung wurde aktualisiert, um neue Tools für Claude 4-Modelle und Claude Sonnet 3.7 einzuschließen. Stellen Sie sicher, dass Sie die neueste Version des Repos abrufen, um auf diese neuen Funktionen zuzugreifen.
Verwenden Sie dieses Formular, um Feedback zur Qualität der Modellantworten, zur API selbst oder zur Qualität der Dokumentation zu geben.
So beginnen Sie mit Computer Use:
Ein Beta-Header ist nur für das Computer-Use-Tool erforderlich.
Das obige Beispiel zeigt alle drei Tools, die zusammen verwendet werden, was den Beta-Header erfordert, da es das Computer-Use-Tool enthält.
Die Wiederholung der Schritte 3 und 4 ohne Benutzereingabe wird als „Agentenschleife" bezeichnet (d. h. Claude antwortet mit einer Tool-Use-Anfrage und Ihre Anwendung antwortet Claude mit den Ergebnissen der Auswertung dieser Anfrage).
Computer Use erfordert eine abgesicherte Rechenumgebung, in der Claude sicher mit Anwendungen und dem Web interagieren kann. Diese Umgebung umfasst:
Virtuelles Display: Ein virtueller X11-Display-Server (mit Xvfb), der die Desktop-Oberfläche rendert, die Claude durch Screenshots sieht und mit Maus-/Tastaturaktionen steuert.
Desktop-Umgebung: Eine leichtgewichtige Benutzeroberfläche mit Fenstermanager (Mutter) und Panel (Tint2), die unter Linux läuft und eine konsistente grafische Oberfläche für Claude zur Interaktion bietet.
Anwendungen: Vorinstallierte Linux-Anwendungen wie Firefox, LibreOffice, Texteditoren und Dateimanager, die Claude zur Erledigung von Aufgaben verwenden kann.
Tool-Implementierungen: Integrationscode, der Claudes abstrakte Tool-Anfragen (wie „Maus bewegen" oder „Screenshot aufnehmen") in tatsächliche Operationen in der virtuellen Umgebung übersetzt.
Agentenschleife: Ein Programm, das die Kommunikation zwischen Claude und der Umgebung verwaltet, Claudes Aktionen an die Umgebung sendet und die Ergebnisse (Screenshots, Befehlsausgaben) an Claude zurückgibt.
Wenn Sie Computer Use verwenden, verbindet sich Claude nicht direkt mit dieser Umgebung. Stattdessen:
Aus Sicherheits- und Isolationsgründen führt die Referenzimplementierung all dies innerhalb eines Docker-Containers mit entsprechenden Port-Zuordnungen zum Anzeigen und Interagieren mit der Umgebung aus.
Eine Referenzimplementierung ist verfügbar, die alles enthält, was Sie benötigen, um schnell mit Computer Use zu beginnen:
Der Kern von Computer Use ist die „Agentenschleife" – ein Zyklus, bei dem Claude Tool-Aktionen anfordert, Ihre Anwendung diese ausführt und Ergebnisse an Claude zurückgibt. Hier ist ein vereinfachtes Beispiel:
async def sampling_loop(
*,
model: str,
messages: list[dict],
api_key: str,
max_tokens: int = 4096,
tool_version: str,
thinking_budget: int | None = None,
max_iterations: int = 10, # Add iteration limit to prevent infinite loops
):
"""
A simple agent loop for Claude computer use interactions.
This function handles the back-and-forth between:
1. Sending user messages to Claude
2. Claude requesting to use tools
3. Your app executing those tools
4. Sending tool results back to Claude
"""
# Set up tools and API parameters
client = Anthropic(api_key=api_key)
beta_flag = (
"computer-use-2025-11-24"
if "20251124" in tool_version
else "computer-use-2025-01-24"
if "20250124" in tool_version
else "computer-use-2024-10-22"
)
# Configure tools - you should already have these initialized elsewhere
tools = [
{
"type": f"computer_{tool_version}",
"name": "computer",
"display_width_px": 1024,
"display_height_px": 768,
},
{"type": f"text_editor_{tool_version}", "name": "str_replace_editor"},
{"type": f"bash_{tool_version}", "name": "bash"},
]
# Main agent loop (with iteration limit to prevent runaway API costs)
iterations = 0
while True and iterations < max_iterations:
iterations += 1
# Set up optional thinking parameter (for Claude Sonnet 3.7)
thinking = None
if thinking_budget:
thinking = {"type": "enabled", "budget_tokens": thinking_budget}
# Call the Claude API
response = client.beta.messages.create(
model=model,
max_tokens=max_tokens,
messages=messages,
tools=tools,
betas=[beta_flag],
thinking=thinking,
)
# Add Claude's response to the conversation history
response_content = response.content
messages.append({"role": "assistant", "content": response_content})
# Check if Claude used any tools
tool_results = []
for block in response_content:
if block.type == "tool_use":
# In a real app, you would execute the tool here
# For example: result = run_tool(block.name, block.input)
result = {"result": "Tool executed successfully"}
# Format the result for Claude
tool_results.append(
{"type": "tool_result", "tool_use_id": block.id, "content": result}
)
# If no tools were used, Claude is done - return the final messages
if not tool_results:
return messages
# Add tool results to messages for the next iteration with Claude
messages.append({"role": "user", "content": tool_results})Die Schleife läuft weiter, bis entweder Claude antwortet, ohne Tools anzufordern (Aufgabenabschluss), oder das maximale Iterationslimit erreicht wird. Diese Schutzmaßnahme verhindert potenzielle Endlosschleifen, die zu unerwarteten API-Kosten führen könnten.
Probieren Sie die Referenzimplementierung aus, bevor Sie den Rest dieser Dokumentation lesen.
Hier sind einige Tipps, wie Sie die beste Ausgabequalität erzielen:
After each step, take a screenshot and carefully evaluate if you have achieved the right outcome. Explicitly show your thinking: "I have evaluated step X..." If not correct, try again. Only when you confirm a step was executed correctly should you move on to the next one.<robot_credentials> an. Die Verwendung von Computer Use in Anwendungen, die eine Anmeldung erfordern, erhöht das Risiko schlechter Ergebnisse durch Prompt-Injection. Lesen Sie den Leitfaden zur Minderung von Prompt-Injections, bevor Sie dem Modell Anmeldedaten bereitstellen.Wenn Sie wiederholt auf eine klare Reihe von Problemen stoßen oder im Voraus wissen, welche Aufgaben Claude erledigen muss, verwenden Sie den System-Prompt, um Claude explizite Tipps oder Anweisungen zur erfolgreichen Erledigung der Aufgaben zu geben.
Für Agenten, die mehrere Sitzungen umfassen, führen Sie am Anfang jeder Sitzung eine End-to-End-Überprüfung durch, nicht nur nach der Implementierung. Browser-basierte Prüfungen erkennen Regressionen aus früheren Sitzungen, die eine reine Code-Überprüfung allein übersieht. Weitere Details finden Sie unter Effective harnesses for long-running agents.
Wenn eines der von Anthropic definierten Tools über die Claude-API angefordert wird, wird ein Computer-Use-spezifischer System-Prompt generiert. Er ähnelt dem Tool-Use-System-Prompt, beginnt aber mit:
You have access to a set of functions you can use to answer the user's question. This includes access to a sandboxed computing environment. You do NOT currently have the ability to inspect files or interact with external resources, except by invoking the below functions.
Wie bei der regulären Tool-Nutzung wird das vom Benutzer bereitgestellte system_prompt-Feld weiterhin berücksichtigt und bei der Erstellung des kombinierten System-Prompts verwendet.
Das Computer-Use-Tool unterstützt diese Aktionen:
Grundlegende Aktionen (alle Versionen)
[x, y] klickenErweiterte Aktionen (computer_20250124)
Verfügbar in Claude 4-Modellen und Claude Sonnet 3.7:
Erweiterte Aktionen (computer_20251124)
Verfügbar in Claude Opus 4.6 und Claude Opus 4.5:
computer_20250124enable_zoom: true in der Tool-Definition. Nimmt einen region-Parameter mit Koordinaten [x1, y1, x2, y2] entgegen, die die obere linke und untere rechte Ecke des zu inspizierenden Bereichs definieren.| Parameter | Erforderlich | Beschreibung |
|---|---|---|
type | Ja | Tool-Version (computer_20251124, computer_20250124 oder computer_20241022) |
name | Ja | Muss „computer" sein |
display_width_px | Ja | Display-Breite in Pixeln |
display_height_px | Ja | Display-Höhe in Pixeln |
display_number | Nein | Display-Nummer für X11-Umgebungen |
Wichtig: Das Computer-Use-Tool muss explizit von Ihrer Anwendung ausgeführt werden – Claude kann es nicht direkt ausführen. Sie sind dafür verantwortlich, die Screenshot-Erfassung, Mausbewegungen, Tastatureingaben und andere Aktionen basierend auf Claudes Anfragen zu implementieren.
Claude Sonnet 3.7 hat eine neue „Thinking"-Fähigkeit eingeführt, die es Ihnen ermöglicht, den Denkprozess des Modells zu sehen, während es komplexe Aufgaben bearbeitet. Diese Funktion hilft Ihnen zu verstehen, wie Claude ein Problem angeht, und kann besonders wertvoll für Debugging- oder Bildungszwecke sein.
Um Thinking zu aktivieren, fügen Sie Ihrer API-Anfrage einen thinking-Parameter hinzu:
"thinking": {
"type": "enabled",
"budget_tokens": 1024
}Der budget_tokens-Parameter gibt an, wie viele Token Claude für das Denken verwenden kann. Dies wird von Ihrem gesamten max_tokens-Budget abgezogen.
Wenn Thinking aktiviert ist, gibt Claude seinen Denkprozess als Teil der Antwort zurück, was Ihnen helfen kann:
Hier ist ein Beispiel, wie die Thinking-Ausgabe aussehen könnte:
[Thinking]
I need to save a picture of a cat to the desktop. Let me break this down into steps:
1. First, I'll take a screenshot to see what's on the desktop
2. Then I'll look for a web browser to search for cat images
3. After finding a suitable image, I'll need to save it to the desktop
Let me start by taking a screenshot to see what's available...Das Computer-Use-Tool kann mit anderen Tools kombiniert werden, um leistungsfähigere Automatisierungs-Workflows zu erstellen. Dies ist besonders nützlich, wenn Sie Folgendes benötigen:
Die Referenzimplementierung soll Ihnen den Einstieg in Computer Use erleichtern. Sie enthält alle Komponenten, die Claude benötigt, um einen Computer zu verwenden. Sie können jedoch auch Ihre eigene Umgebung für Computer Use entsprechend Ihren Anforderungen erstellen. Sie benötigen:
tool_use-Ergebnisse mithilfe Ihrer Tool-Implementierungen ausführtDas Computer-Use-Tool wird als schemenloses Tool implementiert. Bei der Verwendung dieses Tools müssen Sie kein Eingabeschema wie bei anderen Tools angeben; das Schema ist in Claudes Modell integriert und kann nicht geändert werden.
Bei der Implementierung des Computer-Use-Tools können verschiedene Fehler auftreten. So gehen Sie damit um:
Die API begrenzt Bilder auf maximal 1568 Pixel auf der längsten Seite und ungefähr 1,15 Megapixel insgesamt (siehe Bildgrößenänderung für Details). Beispielsweise wird ein 1512x982-Bildschirm auf ungefähr 1330x864 herunterskaliert. Claude analysiert dieses kleinere Bild und gibt Koordinaten in diesem Raum zurück, aber Ihr Tool führt Klicks im ursprünglichen Bildschirmraum aus.
Dies kann dazu führen, dass Claudes Klickkoordinaten ihre Ziele verfehlen, wenn Sie die Koordinatentransformation nicht handhaben.
Um dies zu beheben, ändern Sie die Größe der Screenshots selbst und skalieren Sie Claudes Koordinaten wieder hoch:
Die Computer-Use-Funktionalität befindet sich in der Beta-Phase. Obwohl Claudes Fähigkeiten modernsten Standards entsprechen, sollten Entwickler sich über die Einschränkungen im Klaren sein:
left_mouse_down, left_mouse_up und neuer Modifikatortastenunterstützung verbessert. Die Zellenauswahl kann durch die Verwendung dieser feinkörnigen Steuerungen und die Kombination von Modifikatortasten mit Klicks zuverlässiger sein.Überprüfen und verifizieren Sie stets sorgfältig Claudes Computer-Use-Aktionen und -Protokolle. Verwenden Sie Claude nicht für Aufgaben, die perfekte Präzision oder sensible Benutzerinformationen erfordern, ohne menschliche Aufsicht.
Computer Use ist ein clientseitiges Tool. Alle Screenshots, Mausaktionen, Tastatureingaben und alle an einer Sitzung beteiligten Dateien werden in Ihrer Umgebung erfasst und gespeichert, nicht von Anthropic. Anthropic verarbeitet die Screenshot-Bilder und Aktionsanfragen in Echtzeit als Teil des API-Aufrufs, behält sie jedoch nach der Rückgabe der Antwort nicht.
Da Ihre Anwendung kontrolliert, wo und wie Computer-Use-Daten gespeichert werden, ist Computer Use ZDR-fähig. Informationen zur ZDR-Berechtigung für alle Funktionen finden Sie unter API und Datenspeicherung.
Computer use follows the standard tool use pricing. When using the computer use tool:
System prompt overhead: The computer use beta adds 466-499 tokens to the system prompt
Computer use tool token usage:
| Model | Input tokens per tool definition |
|---|---|
| Claude 4.x models | 735 tokens |
| Claude Sonnet 3.7 (deprecated) | 735 tokens |
Additional token consumption:
If you're also using bash or text editor tools alongside computer use, those tools have their own token costs as documented in their respective pages.
Was this page helpful?
curl https://api.anthropic.com/v1/messages \
-H "content-type: application/json" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: computer-use-2025-11-24" \
-d '{
"model": "claude-opus-4-6",
"max_tokens": 1024,
"tools": [
{
"type": "computer_20251124",
"name": "computer",
"display_width_px": 1024,
"display_height_px": 768,
"display_number": 1
},
{
"type": "text_editor_20250728",
"name": "str_replace_based_edit_tool"
},
{
"type": "bash_20250124",
"name": "bash"
}
],
"messages": [
{
"role": "user",
"content": "Save a picture of a cat to my desktop."
}
]
}'Stellen Sie Claude das Computer-Use-Tool und einen Benutzer-Prompt bereit
Claude entscheidet sich, das Computer-Use-Tool zu verwenden
stop_reason von tool_use, der Claudes Absicht signalisiert.Tool-Eingabe extrahieren, das Tool auf einem Computer auswerten und Ergebnisse zurückgeben
user-Nachricht fort, die einen tool_result-Inhaltsblock enthält.Claude ruft weiterhin Computer-Use-Tools auf, bis die Aufgabe abgeschlossen ist
tool_use stop_reason, und Sie sollten zu Schritt 3 zurückkehren.enable_zoom |
| Nein |
Zoom-Aktion aktivieren (nur computer_20251124). Auf true setzen, damit Claude in bestimmte Bildschirmbereiche zoomen kann. Standard: false |
curl https://api.anthropic.com/v1/messages \
-H "content-type: application/json" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: computer-use-2025-11-24" \
-d '{
"model": "claude-opus-4-6",
"max_tokens": 2000,
"tools": [
{
"type": "computer_20251124",
"name": "computer",
"display_width_px": 1024,
"display_height_px": 768,
"display_number": 1
},
{
"type": "text_editor_20250728",
"name": "str_replace_based_edit_tool"
},
{
"type": "bash_20250124",
"name": "bash"
},
{
"name": "get_weather",
"description": "Get the current weather in a given location",
"input_schema": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The city and state, e.g. San Francisco, CA"
},
"unit": {
"type": "string",
"enum": ["celsius", "fahrenheit"],
"description": "The unit of temperature, either 'celsius' or 'fahrenheit'"
}
},
"required": ["location"]
}
}
],
"messages": [
{
"role": "user",
"content": "Find flights from San Francisco to a place with warmer weather."
}
],
"thinking": {
"type": "enabled",
"budget_tokens": 1024
}
}'Ihre Rechenumgebung einrichten
Erstellen Sie ein virtuelles Display oder stellen Sie eine Verbindung zu einem vorhandenen Display her, mit dem Claude interagieren wird. Dies beinhaltet typischerweise die Einrichtung von Xvfb (X Virtual Framebuffer) oder ähnlicher Technologie.
Aktions-Handler implementieren
Erstellen Sie Funktionen zur Verarbeitung jedes Aktionstyps, den Claude möglicherweise anfordert:
def handle_computer_action(action_type, params):
if action_type == "screenshot":
return capture_screenshot()
elif action_type == "left_click":
x, y = params["coordinate"]
return click_at(x, y)
elif action_type == "type":
return type_text(params["text"])
# ... handle other actionsClaudes Tool-Aufrufe verarbeiten
Tool-Aufrufe aus Claudes Antworten extrahieren und ausführen:
for content in response.content:
if content.type == "tool_use":
action = content.input["action"]
result = handle_computer_action(action, content.input)
# Return result to Claude
tool_result = {
"type": "tool_result",
"tool_use_id": content.id,
"content": result,
}Die Agentenschleife implementieren
Erstellen Sie eine Schleife, die fortläuft, bis Claude die Aufgabe abgeschlossen hat:
while True:
response = client.beta.messages.create(...)
# Check if Claude used any tools
tool_results = process_tool_calls(response)
if not tool_results:
# No more tool use, task complete
break
# Continue conversation with tool results
messages.append({"role": "user", "content": tool_results})import math
def get_scale_factor(width, height):
"""Calculate scale factor to meet API constraints."""
long_edge = max(width, height)
total_pixels = width * height
long_edge_scale = 1568 / long_edge
total_pixels_scale = math.sqrt(1_150_000 / total_pixels)
return min(1.0, long_edge_scale, total_pixels_scale)
# When capturing screenshot
scale = get_scale_factor(screen_width, screen_height)
scaled_width = int(screen_width * scale)
scaled_height = int(screen_height * scale)
# Resize image to scaled dimensions before sending to Claude
screenshot = capture_and_resize(scaled_width, scaled_height)
# When handling Claude's coordinates, scale them back up
def execute_click(x, y):
screen_x = x / scale
screen_y = y / scale
perform_click(screen_x, screen_y)Erfahren Sie mehr über Tool Use und die Erstellung benutzerdefinierter Tools