Claude puede interactuar con entornos informáticos a través de la herramienta de uso de computadora, que proporciona capacidades de captura de pantalla y control de ratón/teclado para la interacción autónoma con el escritorio. En WebArena, un benchmark para la navegación web autónoma en sitios web reales, Claude logra resultados de vanguardia entre los sistemas de agente único, demostrando una gran capacidad para completar tareas de navegador de múltiples pasos de principio a fin.
El uso de computadora está en beta y requiere un encabezado beta:
"computer-use-2025-11-24" para Claude Opus 4.6, Claude Sonnet 4.6, Claude Opus 4.5"computer-use-2025-01-24" para Sonnet 4.5, Haiku 4.5, Opus 4.1, Sonnet 4, Opus 4 y Sonnet 3.7 (obsoleto)Comunícate a través del formulario de comentarios para compartir tu opinión sobre esta función.
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.
El uso de computadora es una función beta que permite a Claude interactuar con entornos de escritorio. Esta herramienta proporciona:
Si bien el uso de computadora puede complementarse con otras herramientas como bash y el editor de texto para flujos de trabajo de automatización más completos, el uso de computadora se refiere específicamente a la capacidad de la herramienta de uso de computadora para ver y controlar entornos de escritorio.
El uso de computadora está disponible para los siguientes modelos de Claude:
| Modelo | Versión de herramienta | Indicador beta |
|---|---|---|
| Claude Opus 4.6, Claude Sonnet 4.6, Claude Opus 4.5 | computer_20251124 | computer-use-2025-11-24 |
| Todos los demás modelos compatibles | computer_20250124 | computer-use-2025-01-24 |
Claude Opus 4.6, Claude Sonnet 4.6 y Claude Opus 4.5 introducen la versión de herramienta computer_20251124 con nuevas capacidades, incluida la acción de zoom para la inspección detallada de regiones de la pantalla. Todos los demás modelos (Sonnet 4.5, Haiku 4.5, Sonnet 4, Opus 4, Opus 4.1 y Sonnet 3.7) utilizan la versión de herramienta computer_20250124.
No se garantiza que las versiones anteriores de las herramientas sean compatibles con versiones anteriores de los modelos más nuevos. Utiliza siempre la versión de herramienta que corresponda a la versión de tu modelo.
El uso de computadora es una función beta con riesgos únicos distintos de las funciones estándar de la API. Estos riesgos se incrementan al interactuar con Internet.
Para minimizar los riesgos, considera tomar precauciones como:
En algunas circunstancias, Claude seguirá comandos encontrados en el contenido incluso si entra en conflicto con las instrucciones del usuario. Por ejemplo, las instrucciones de Claude en páginas web o contenidas en imágenes pueden anular instrucciones o hacer que Claude cometa errores. Toma precauciones para aislar a Claude de datos y acciones confidenciales para evitar riesgos relacionados con la inyección de prompts.
El modelo ha sido entrenado para resistir estas inyecciones de prompts, y se ha añadido una capa adicional de defensa. Si utilizas las herramientas de uso de computadora, los clasificadores se ejecutarán automáticamente en tus prompts para señalar posibles instancias de inyecciones de prompts. Cuando estos clasificadores identifiquen posibles inyecciones de prompts en capturas de pantalla, dirigirán automáticamente al modelo para que solicite confirmación del usuario antes de proceder con la siguiente acción. Esta protección adicional no será ideal para todos los casos de uso (por ejemplo, casos de uso sin un humano en el bucle), por lo que si deseas optar por no participar y desactivarla, contacta con soporte.
Estas precauciones siguen siendo importantes incluso con la capa de defensa del clasificador en su lugar.
Informa a los usuarios finales de los riesgos relevantes y obtén su consentimiento antes de habilitar el uso de computadora en tus propios productos.
Comienza rápidamente con la implementación de referencia de uso de computadora que incluye una interfaz web, contenedor Docker, implementaciones de herramientas de ejemplo y un bucle de agente.
Nota: La implementación se ha actualizado para incluir nuevas herramientas tanto para los modelos Claude 4 como para Claude Sonnet 3.7. Asegúrate de obtener la última versión del repositorio para acceder a estas nuevas funciones.
Usa este formulario para proporcionar comentarios sobre la calidad de las respuestas del modelo, la propia API o la calidad de la documentación.
Aquí te explicamos cómo comenzar con el uso de computadora:
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."
}
]
}'Un encabezado beta solo es necesario para la herramienta de uso de computadora.
El ejemplo anterior muestra las tres herramientas utilizadas juntas, lo que requiere el encabezado beta porque incluye la herramienta de uso de computadora.
Proporciona a Claude la herramienta de uso de computadora y un prompt de usuario
Claude decide usar la herramienta de uso de computadora
stop_reason de tool_use, lo que indica la intención de Claude.Extrae la entrada de la herramienta, evalúa la herramienta en una computadora y devuelve los resultados
user que contenga un bloque de contenido tool_result.Claude continúa llamando a las herramientas de uso de computadora hasta completar la tarea
stop_reason de tool_use y debes volver al paso 3.La repetición de los pasos 3 y 4 sin entrada del usuario se denomina "bucle de agente" (es decir, Claude responde con una solicitud de uso de herramienta y tu aplicación responde a Claude con los resultados de evaluar esa solicitud).
El uso de computadora requiere un entorno informático aislado donde Claude pueda interactuar de forma segura con aplicaciones y la web. Este entorno incluye:
Pantalla virtual: Un servidor de pantalla X11 virtual (usando Xvfb) que renderiza la interfaz de escritorio que Claude verá a través de capturas de pantalla y controlará con acciones de ratón/teclado.
Entorno de escritorio: Una interfaz de usuario ligera con gestor de ventanas (Mutter) y panel (Tint2) que se ejecuta en Linux, que proporciona una interfaz gráfica consistente para que Claude interactúe.
Aplicaciones: Aplicaciones Linux preinstaladas como Firefox, LibreOffice, editores de texto y gestores de archivos que Claude puede usar para completar tareas.
Implementaciones de herramientas: Código de integración que traduce las solicitudes abstractas de herramientas de Claude (como "mover el ratón" o "tomar una captura de pantalla") en operaciones reales en el entorno virtual.
Bucle de agente: Un programa que gestiona la comunicación entre Claude y el entorno, enviando las acciones de Claude al entorno y devolviendo los resultados (capturas de pantalla, salidas de comandos) a Claude.
Cuando usas el uso de computadora, Claude no se conecta directamente a este entorno. En cambio, tu aplicación:
Por seguridad y aislamiento, la implementación de referencia ejecuta todo esto dentro de un contenedor Docker con los mapeos de puertos apropiados para ver e interactuar con el entorno.
Hay disponible una implementación de referencia que incluye todo lo que necesitas para comenzar rápidamente con el uso de computadora:
El núcleo del uso de computadora es el "bucle de agente": un ciclo donde Claude solicita acciones de herramientas, tu aplicación las ejecuta y devuelve los resultados a Claude. Aquí hay un ejemplo simplificado:
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})El bucle continúa hasta que Claude responde sin solicitar ninguna herramienta (finalización de la tarea) o se alcanza el límite máximo de iteraciones. Esta salvaguarda previene posibles bucles infinitos que podrían resultar en costos inesperados de la API.
Prueba la implementación de referencia antes de leer el resto de esta documentación.
Aquí hay algunos consejos sobre cómo obtener los mejores resultados de calidad:
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>. El uso de computadora dentro de aplicaciones que requieren inicio de sesión aumenta el riesgo de malos resultados como consecuencia de la inyección de prompts. Revisa la guía sobre cómo mitigar las inyecciones de prompts antes de proporcionar al modelo credenciales de inicio de sesión.Si encuentras repetidamente un conjunto claro de problemas o sabes de antemano las tareas que Claude necesitará completar, usa el prompt del sistema para proporcionar a Claude consejos o instrucciones explícitas sobre cómo realizar las tareas con éxito.
Para agentes que abarcan múltiples sesiones, ejecuta la verificación de extremo a extremo al inicio de cada sesión, no solo después de la implementación. Las verificaciones basadas en el navegador detectan regresiones de sesiones anteriores que la revisión solo a nivel de código no detecta. Consulta Effective harnesses for long-running agents para más detalles.
Cuando se solicita una de las herramientas definidas por Anthropic a través de la API de Claude, se genera un prompt del sistema específico para el uso de computadora. Es similar al prompt del sistema de uso de herramientas pero comienza con:
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.
Al igual que con el uso regular de herramientas, el campo system_prompt proporcionado por el usuario sigue siendo respetado y utilizado en la construcción del prompt del sistema combinado.
La herramienta de uso de computadora admite estas acciones:
Acciones básicas (todas las versiones)
[x, y]Acciones mejoradas (computer_20250124)
Disponibles en los modelos Claude 4 y Claude Sonnet 3.7:
Acciones mejoradas (computer_20251124)
Disponibles en Claude Opus 4.6 y Claude Opus 4.5:
computer_20250124enable_zoom: true en la definición de la herramienta. Toma un parámetro region con coordenadas [x1, y1, x2, y2] que definen las esquinas superior izquierda e inferior derecha del área a inspeccionar.| Parámetro | Requerido | Descripción |
|---|---|---|
type | Sí | Versión de la herramienta (computer_20251124, computer_20250124 o computer_20241022) |
name | Sí | Debe ser "computer" |
display_width_px | Sí | Ancho de la pantalla en píxeles |
display_height_px | Sí | Alto de la pantalla en píxeles |
display_number | No | Número de pantalla para entornos X11 |
enable_zoom | No | Habilitar la acción de zoom (solo computer_20251124). Establece en true para permitir que Claude haga zoom en regiones específicas de la pantalla. Predeterminado: false |
Importante: La herramienta de uso de computadora debe ser ejecutada explícitamente por tu aplicación; Claude no puede ejecutarla directamente. Eres responsable de implementar la captura de pantalla, los movimientos del ratón, las entradas de teclado y otras acciones basadas en las solicitudes de Claude.
Claude Sonnet 3.7 introdujo una nueva capacidad de "pensamiento" que te permite ver el proceso de razonamiento del modelo mientras trabaja en tareas complejas. Esta función te ayuda a entender cómo Claude está abordando un problema y puede ser particularmente valiosa para la depuración o con fines educativos.
Para habilitar el pensamiento, agrega un parámetro thinking a tu solicitud de API:
"thinking": {
"type": "enabled",
"budget_tokens": 1024
}El parámetro budget_tokens especifica cuántos tokens puede usar Claude para pensar. Esto se resta de tu presupuesto general de max_tokens.
Cuando el pensamiento está habilitado, Claude devolverá su proceso de razonamiento como parte de la respuesta, lo que puede ayudarte a:
Aquí hay un ejemplo de cómo podría verse la salida del pensamiento:
[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...La herramienta de uso del ordenador se puede combinar con otras herramientas para crear flujos de trabajo de automatización más potentes. Esto es especialmente útil cuando necesitas:
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
}
}'La implementación de referencia está diseñada para ayudarte a comenzar con el uso del ordenador. Incluye todos los componentes necesarios para que Claude use un ordenador. Sin embargo, puedes construir tu propio entorno para el uso del ordenador según tus necesidades. Necesitarás:
tool_use usando tus implementaciones de herramientasLa herramienta de uso del ordenador se implementa como una herramienta sin esquema. Al usar esta herramienta, no necesitas proporcionar un esquema de entrada como con otras herramientas; el esquema está integrado en el modelo de Claude y no se puede modificar.
Configura tu entorno informático
Crea una pantalla virtual o conéctate a una pantalla existente con la que Claude interactuará. Esto generalmente implica configurar Xvfb (X Virtual Framebuffer) o tecnología similar.
Implementa los manejadores de acciones
Crea funciones para manejar cada tipo de acción que Claude pueda solicitar:
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 actionsProcesa las llamadas a herramientas de Claude
Extrae y ejecuta las llamadas a herramientas de las respuestas de Claude:
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,
}Implementa el bucle de agente
Crea un bucle que continúe hasta que Claude complete la tarea:
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})Al implementar la herramienta de uso del ordenador, pueden ocurrir varios errores. Aquí se explica cómo manejarlos:
La API limita las imágenes a un máximo de 1568 píxeles en el borde más largo y aproximadamente 1,15 megapíxeles en total (consulta redimensionamiento de imágenes para más detalles). Por ejemplo, una pantalla de 1512x982 se reduce a aproximadamente 1330x864. Claude analiza esta imagen más pequeña y devuelve coordenadas en ese espacio, pero tu herramienta ejecuta los clics en el espacio de pantalla original.
Esto puede hacer que las coordenadas de clic de Claude no alcancen sus objetivos a menos que manejes la transformación de coordenadas.
Para solucionar esto, redimensiona las capturas de pantalla tú mismo y escala las coordenadas de Claude de vuelta:
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)La funcionalidad de uso del ordenador está en versión beta. Aunque las capacidades de Claude son de vanguardia, los desarrolladores deben ser conscientes de sus limitaciones:
left_mouse_down, left_mouse_up y nuevo soporte para teclas modificadoras. La selección de celdas puede ser más fiable usando estos controles detallados y combinando teclas modificadoras con clics.Revisa y verifica siempre cuidadosamente las acciones y registros de uso del ordenador de Claude. No uses Claude para tareas que requieran precisión perfecta o información sensible del usuario sin supervisión humana.
El uso del ordenador es una herramienta del lado del cliente. Todas las capturas de pantalla, acciones del ratón, entradas de teclado y cualquier archivo involucrado en una sesión se capturan y almacenan en tu entorno, no por Anthropic. Anthropic procesa las imágenes de captura de pantalla y las solicitudes de acción en tiempo real como parte de la llamada a la API, pero no las retiene después de que se devuelve la respuesta.
Dado que tu aplicación controla dónde y cómo se almacenan los datos de uso del ordenador, el uso del ordenador es elegible para ZDR. Para la elegibilidad ZDR en todas las funciones, consulta API y retención de datos.
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.
Comienza rápidamente con la implementación completa basada en Docker
Aprende más sobre el uso de herramientas y la creación de herramientas personalizadas
Was this page helpful?