Claude Code tiene acceso a un conjunto de herramientas integradas que le ayudan a entender y modificar su base de código. Los nombres de herramientas son las cadenas exactas que utiliza en reglas de permisos, listas de herramientas de subagents y coincidencias de hooks. Para desactivar una herramienta completamente, agregue su nombre al arrayDocumentation Index
Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
deny en su configuración de permisos.
Para agregar herramientas personalizadas, conecte un servidor MCP. Para extender Claude con flujos de trabajo basados en prompts reutilizables, escriba una skill, que se ejecuta a través de la herramienta Skill existente en lugar de agregar una nueva entrada de herramienta.
| Herramienta | Descripción | Permiso requerido |
|---|---|---|
Agent | Genera un subagent con su propia ventana de contexto para manejar una tarea. Consulte comportamiento de la herramienta Agent | No |
AskUserQuestion | Hace preguntas de opción múltiple para recopilar requisitos o aclarar ambigüedades | No |
Bash | Ejecuta comandos de shell en su entorno. Consulte comportamiento de la herramienta Bash | Sí |
CronCreate | Programa una solicitud recurrente o única dentro de la sesión actual. Las tareas tienen alcance de sesión y se restauran en --resume o --continue si no han expirado. Consulte tareas programadas | No |
CronDelete | Cancela una tarea programada por ID | No |
CronList | Lista todas las tareas programadas en la sesión | No |
Edit | Realiza ediciones dirigidas a archivos específicos. Consulte comportamiento de la herramienta Edit | Sí |
EnterPlanMode | Cambia a Plan Mode para diseñar un enfoque antes de codificar | No |
EnterWorktree | Crea un git worktree aislado y cambia a él. Pase un path para cambiar a un worktree existente del repositorio actual en lugar de crear uno nuevo. No disponible para subagents | No |
ExitPlanMode | Presenta un plan para aprobación y sale de Plan Mode | Sí |
ExitWorktree | Sale de una sesión de worktree y regresa al directorio original. No disponible para subagents | No |
Glob | Encuentra archivos basados en coincidencia de patrones. Consulte comportamiento de la herramienta Glob | No |
Grep | Busca patrones en el contenido de archivos. Consulte comportamiento de la herramienta Grep | No |
ListMcpResourcesTool | Lista recursos expuestos por servidores MCP conectados | No |
LSP | Inteligencia de código a través de servidores de lenguaje: saltar a definiciones, encontrar referencias, reportar errores de tipo y advertencias. Consulte comportamiento de la herramienta LSP | No |
Monitor | Ejecuta un comando en segundo plano y devuelve cada línea de salida a Claude, para que pueda reaccionar a entradas de registro, cambios de archivos, o estado sondeado a mitad de la conversación. Consulte herramienta Monitor | Sí |
NotebookEdit | Modifica celdas de cuadernos Jupyter. Consulte comportamiento de la herramienta NotebookEdit | Sí |
PowerShell | Ejecuta comandos de PowerShell de forma nativa. Consulte herramienta PowerShell para disponibilidad | Sí |
PushNotification | Envía una notificación de escritorio, y una notificación push en el teléfono cuando Remote Control está conectado, para que una tarea de larga duración o tarea programada pueda alcanzarlo cuando se aleje. La entrega push se ejecuta a través de infraestructura alojada por Anthropic, que no es accesible desde Amazon Bedrock, Google Vertex AI, o Microsoft Foundry | No |
Read | Lee el contenido de archivos. Consulte comportamiento de la herramienta Read | No |
ReadMcpResourceTool | Lee un recurso MCP específico por URI | No |
RemoteTrigger | Crea, actualiza, ejecuta y lista Routines en claude.ai. Respalda el comando /schedule. Las Routines viven en claude.ai y requieren un plan Pro, Max, Team o Enterprise, por lo que esta herramienta no es accesible desde Amazon Bedrock, Google Vertex AI, o Microsoft Foundry | No |
SendMessage | Envía un mensaje a un miembro del equipo de agentes, o reanuda un subagent por su ID de agente. Los subagents detenidos se reanudan automáticamente en segundo plano. Solo disponible cuando CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 está establecido | No |
ShareOnboardingGuide | Carga ONBOARDING.md y devuelve un enlace de compartición que los compañeros de equipo pueden abrir en Claude Code. Se llama desde /team-onboarding después de que se escribe la guía. Disponible para suscriptores de claude.ai en planes Pro, Max, Team y Enterprise | Sí |
Skill | Ejecuta una skill dentro de la conversación principal | Sí |
TaskCreate | Crea una nueva tarea en la lista de tareas | No |
TaskGet | Recupera detalles completos para una tarea específica | No |
TaskList | Lista todas las tareas con su estado actual | No |
TaskOutput | (Obsoleto) Recupera la salida de una tarea de fondo. Prefiera Read en la ruta del archivo de salida de la tarea | No |
TaskStop | Mata una tarea de fondo en ejecución por ID | No |
TaskUpdate | Actualiza el estado de la tarea, dependencias, detalles, o elimina tareas | No |
TeamCreate | Crea un equipo de agentes con múltiples compañeros de equipo. Solo disponible cuando CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 está establecido | No |
TeamDelete | Disuelve un equipo de agentes y limpia los procesos de compañeros de equipo. Solo disponible cuando CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 está establecido | No |
TodoWrite | Gestiona la lista de verificación de tareas de la sesión. Disponible en modo no interactivo y el Agent SDK; las sesiones interactivas utilizan TaskCreate, TaskGet, TaskList y TaskUpdate en su lugar | No |
ToolSearch | Busca y carga herramientas diferidas cuando búsqueda de herramientas está habilitada | No |
WebFetch | Obtiene contenido de una URL especificada. Consulte comportamiento de la herramienta WebFetch | Sí |
WebSearch | Realiza búsquedas web. Consulte comportamiento de la herramienta WebSearch | Sí |
Write | Crea o sobrescribe archivos. Consulte comportamiento de la herramienta Write | Sí |
Configurar herramientas con reglas de permisos y hooks
En su mayor parte, Claude decide cuándo usar estas herramientas y no necesita nombrarlas usted mismo cuando interactúa con Claude. Hace referencia a los nombres de herramientas directamente cuando define permisos y otra configuración:- en
permissions.allowypermissions.denyen la configuración, y la interfaz/permissions - en los indicadores CLI
--allowedToolsy--disallowedTools - en las opciones
allowedToolsydisallowedToolsdel Agent SDK - en el frontmatter
toolsodisallowedToolsde un subagent - en el frontmatter
allowed-toolsde una skill - en la condición
ifde un hook
ToolName(specifier). El especificador depende de la herramienta, y varias herramientas comparten un formato:
| Formato de regla | Se aplica a | Detalles |
|---|---|---|
Bash(npm run *) | Bash, Monitor | Coincidencia de patrón de comando |
PowerShell(Get-ChildItem *) | PowerShell | Coincidencia de patrón de comando |
Read(~/secrets/**) | Read, Grep, Glob, LSP | Coincidencia de patrón de ruta |
Edit(/src/**) | Edit, Write, NotebookEdit | Coincidencia de patrón de ruta |
Skill(deploy *) | Skill | Coincidencia de nombre de skill |
Agent(Explore) | Agent | Coincidencia de tipo de subagent |
WebFetch(domain:example.com) | WebFetch | Coincidencia de dominio |
WebSearch | WebSearch | Sin especificador; permitir o denegar la herramienta en su totalidad |
ExitPlanMode o ShareOnboardingGuide, aceptan solo el nombre de herramienta desnudo sin especificador.
Una regla de permiso Edit(...) también otorga acceso de lectura a la misma ruta, por lo que no necesita una regla Read(...) coincidente.
Los campos matcher de Hook utilizan nombres de herramientas desnudos, no el formato de regla entre paréntesis. Consulte patrones de coincidencia para las reglas de coincidencia. Para los nombres de campo que cada herramienta pasa a tool_input en hooks, consulte la referencia de entrada PreToolUse.
Comportamiento de la herramienta Agent
La herramienta Agent genera un subagent en una ventana de contexto separada. El subagent trabaja a través de su tarea de forma autónoma, luego devuelve un único resultado de texto a la conversación principal. El principal no ve las llamadas de herramientas intermedias o salidas del subagent, solo ese resultado final. Para limitar cuántos turnos ejecuta un subagent, establezcamaxTurns en la definición del subagent.
La misma herramienta Agent también lanza subagents bifurcados cuando el modo de bifurcación está habilitado. Una bifurcación hereda la conversación principal completa en lugar de comenzar de nuevo, siempre se ejecuta en segundo plano, y aún muestra solicitudes de permisos en su terminal. El resto de esta sección describe subagents nombrados.
Qué herramientas puede usar un subagent nombrado depende de los campos tools y disallowedTools en la definición del subagent:
- Ningún campo establecido: el subagent hereda todas las herramientas disponibles para el principal.
- Solo
tools: el subagent obtiene solo las herramientas listadas. - Solo
disallowedTools: el subagent obtiene todas las herramientas principales excepto las listadas. - Ambos establecidos:
disallowedToolstiene precedencia. Una herramienta listada en ambos se elimina.
- Subagents en primer plano muestran los mismos solicitudes de permisos que vería en la conversación principal, en el momento en que ocurre cada llamada de herramienta.
- Subagents en segundo plano no muestran solicitudes. Se ejecutan con los permisos ya otorgados en la sesión y deniegan automáticamente cualquier llamada de herramienta que de otro modo solicitaría. Después de una denegación, el subagent continúa sin esa herramienta.
tools, deje Bash fuera de la lista, o establezca reglas de denegación en su configuración, como se describe en Controlar capacidades de subagent. Para más información sobre cómo elegir entre primer plano y segundo plano, consulte Ejecutar subagents en primer plano o segundo plano.
Comportamiento de la herramienta Bash
La herramienta Bash ejecuta cada comando en un proceso separado con el siguiente comportamiento de persistencia:- Cuando Claude ejecuta
cden la sesión principal, el nuevo directorio de trabajo se mantiene en comandos Bash posteriores siempre que permanezca dentro del directorio del proyecto o un directorio de trabajo adicional que agregó con--add-dir,/add-dir, oadditionalDirectoriesen la configuración. Las sesiones de subagents nunca mantienen cambios de directorio de trabajo.- Si
cdcae fuera de esos directorios, Claude Code se reinicia al directorio del proyecto y añadeShell cwd was reset to <dir>al resultado de la herramienta. - Para desactivar este mantenimiento para que cada comando Bash comience en el directorio del proyecto, establezca
CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR=1.
- Si
- Las variables de entorno no persisten. Un
exporten un comando no estará disponible en el siguiente.
CLAUDE_ENV_FILE en un script de shell antes de lanzar Claude Code, o use un hook SessionStart para poblarlo dinámicamente.
Dos límites acotan cada comando:
- Tiempo de espera: dos minutos por defecto. Claude puede solicitar hasta 10 minutos por comando con el parámetro
timeout. Anule el valor predeterminado y el techo conBASH_DEFAULT_TIMEOUT_MSyBASH_MAX_TIMEOUT_MS. - Longitud de salida: 30.000 caracteres por defecto. Cuando un comando produce más que eso, Claude Code guarda la salida completa en un archivo en el directorio de sesión y le da a Claude la ruta del archivo más una vista previa corta desde el inicio. Claude lee o busca ese archivo cuando necesita el resto. Aumente el límite con
BASH_MAX_OUTPUT_LENGTH, hasta un techo duro de 150.000 caracteres.
run_in_background: true para iniciar el comando como una tarea de fondo y continuar trabajando mientras se ejecuta. Liste y detenga tareas de fondo con /tasks.
Comportamiento de la herramienta Edit
La herramienta Edit realiza reemplazo exacto de cadenas. Toma unold_string y un new_string y reemplaza el primero con el segundo. No utiliza expresiones regulares o coincidencia difusa.
Tres verificaciones deben pasar para que se aplique una edición:
- Lectura antes de edición: Claude debe haber leído el archivo en la conversación actual, y el archivo no debe haber cambiado en el disco desde esa lectura. Esta verificación se ejecuta primero, antes de cualquier coincidencia de cadena.
- Coincidencia:
old_stringdebe aparecer en el archivo exactamente como está escrito. Una sola diferencia de carácter de espacio en blanco o indentación es suficiente para fallar. - Unicidad:
old_stringdebe aparecer exactamente una vez. Cuando aparece más de una vez, Claude proporciona una cadena más larga con suficiente contexto circundante para fijar una ocurrencia, o establecereplace_all: truepara reemplazarlas todas.
cat path/to/file o sed -n 'X,Yp' path/to/file en un único archivo sin tuberías o redirecciones. Otros comandos Bash como head, tail, o salida canalizada no cuentan, y Claude debe usar Read antes de editar en esos casos.
Esto afecta solo la elegibilidad de edición, no los permisos. Las reglas de denegación de Read y Edit también se aplican a comandos de archivo que Claude Code reconoce en Bash, como cat, head, tail, y sed, pero no a subprocesos arbitrarios que leen o escriben archivos indirectamente, como un script de Python o Node que abre archivos por sí mismo. Para la aplicación a nivel del sistema operativo que cubre todos los procesos, habilite el sandbox.
Comportamiento de la herramienta Glob
La herramienta Glob encuentra archivos por patrón de nombre. Admite sintaxis glob estándar incluyendo** para coincidencia de directorio recursivo:
**/*.jscoincide con todos los archivos.jsa cualquier profundidadsrc/**/*.tscoincide con todos los archivos.tsbajosrc/*.{json,yaml}coincide con archivos.jsony.yamlen el directorio actual
.gitignore por defecto, por lo que encuentra archivos ignorados por git junto con los rastreados. Esto difiere de Grep, que omite archivos ignorados por git. Para hacer que Glob respete .gitignore, establezca CLAUDE_CODE_GLOB_NO_IGNORE=false antes de lanzar Claude Code.
Comportamiento de la herramienta Grep
La herramienta Grep busca patrones en el contenido de archivos. Donde Glob encuentra archivos por nombre, Grep encuentra líneas dentro de ellos. Grep se basa en ripgrep y utiliza la sintaxis regex de ripgrep, no grep de POSIX. Los patrones que incluyen metacaracteres regex necesitan escape. Por ejemplo, encontrarinterface{} en código Go requiere el patrón interface\{\}.
Tres modos de salida controlan lo que regresa:
files_with_matches: solo rutas de archivo, sin contenido de línea. Este es el predeterminado.content: líneas coincidentes con número de archivo y línea.count: recuento de coincidencias por archivo.
glob, como **/*.tsx, o por lenguaje con el parámetro type, como py o rust. Por defecto, los patrones coinciden dentro de una sola línea. Claude puede establecer multiline: true para coincidir entre límites de línea.
Grep respeta .gitignore, por lo que los archivos ignorados por git se omiten. Para buscar un archivo ignorado por git, Claude pasa su ruta directamente.
Comportamiento de la herramienta LSP
La herramienta LSP proporciona a Claude inteligencia de código desde un servidor de lenguaje en ejecución. Después de cada edición de archivo, reporta automáticamente errores de tipo y advertencias para que Claude pueda corregir problemas sin un paso de compilación separado. Claude también puede llamarlo directamente para navegar por el código:- Saltar a la definición de un símbolo
- Encontrar todas las referencias a un símbolo
- Obtener información de tipo en una posición
- Listar símbolos en un archivo o espacio de trabajo
- Encontrar implementaciones de una interfaz
- Rastrear jerarquías de llamadas
Herramienta Monitor
La herramienta Monitor requiere Claude Code v2.1.98 o posterior.
- Siga un archivo de registro y marque errores a medida que aparecen
- Sondee una PR o trabajo de CI y reporte cuando su estado cambia
- Observe un directorio para cambios de archivos
- Rastrear la salida de cualquier script de larga duración que señale
allow y deny que tiene establecidos para Bash se aplican aquí también. No está disponible en Amazon Bedrock, Google Vertex AI, o Microsoft Foundry. Tampoco está disponible cuando DISABLE_TELEMETRY o CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC está establecido.
Los plugins pueden declarar monitores que se inician automáticamente cuando el plugin está activo, en lugar de pedirle a Claude que los inicie. Consulte monitores de plugins.
Comportamiento de la herramienta NotebookEdit
NotebookEdit modifica un cuaderno Jupyter una celda a la vez, dirigiéndose a celdas por sucell_id. No realiza reemplazo de cadenas en todo el cuaderno de la manera que Edit lo hace en archivos simples.
Tres modos de edición controlan lo que sucede con la celda objetivo:
replace: sobrescribe la fuente de la celda. Este es el predeterminado.insert: agrega una nueva celda después de la objetivo. Sincell_id, la nueva celda va al inicio del cuaderno. Requierecell_typeestablecido acodeomarkdown.delete: elimina la celda objetivo.
Edit(...). Una regla como Edit(notebooks/**) cubre llamadas de NotebookEdit en archivos en ese directorio.
Herramienta PowerShell
La herramienta PowerShell permite que Claude ejecute comandos de PowerShell de forma nativa. En Windows, esto significa que los comandos se ejecutan en PowerShell en lugar de enrutarse a través de Git Bash. En Windows sin Git Bash, la herramienta se habilita automáticamente. En Windows con Git Bash instalado, la herramienta se está implementando progresivamente. En Linux, macOS y WSL, la herramienta es opcional.Habilitar la herramienta PowerShell
EstablezcaCLAUDE_CODE_USE_POWERSHELL_TOOL=1 en su entorno o en settings.json:
0 para optar por no participar en la implementación. En Linux, macOS y WSL, la herramienta requiere PowerShell 7 o posterior: instale pwsh y asegúrese de que esté en su PATH.
En Windows, Claude Code detecta automáticamente pwsh.exe para PowerShell 7+ con una alternativa a powershell.exe para PowerShell 5.1. Cuando la herramienta está habilitada, Claude trata PowerShell como el shell principal. La herramienta Bash permanece disponible para scripts POSIX cuando Git Bash está instalado.
Selección de shell en configuración, hooks y skills
Tres configuraciones adicionales controlan dónde se usa PowerShell:"defaultShell": "powershell"ensettings.json: enruta comandos interactivos!a través de PowerShell. Requiere que la herramienta PowerShell esté habilitada."shell": "powershell"en hooks de comando individuales: ejecuta ese hook en PowerShell. Los hooks generan PowerShell directamente, por lo que esto funciona independientemente deCLAUDE_CODE_USE_POWERSHELL_TOOL.shell: powershellen frontmatter de skill: ejecuta bloques!`command`en PowerShell. Requiere que la herramienta PowerShell esté habilitada.
CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR.
Limitaciones de vista previa
La herramienta PowerShell tiene las siguientes limitaciones conocidas durante la vista previa:- Los perfiles de PowerShell no se cargan
- En Windows, el sandboxing no es compatible
Comportamiento de la herramienta Read
La herramienta Read toma una ruta de archivo y devuelve el contenido con números de línea. Claude recibe instrucciones de siempre pasar rutas absolutas. Por defecto, Read devuelve el archivo desde el inicio. Los archivos sobre un umbral de tamaño devuelven un error en lugar de contenido parcial, lo que solicita a Claude que reintente conoffset y limit para leer un rango específico.
Read maneja varios tipos de archivo más allá del texto simple:
- Imágenes: PNG, JPG y otros formatos de imagen se devuelven como contenido visual que Claude puede ver, no como bytes sin procesar. Claude Code redimensiona y recomprime imágenes grandes para ajustarse a los límites de tamaño de imagen del modelo antes de enviarlas, por lo que Claude puede ver una versión reducida de una captura de pantalla grande. Si Claude pierde detalle a nivel de píxel fino en una imagen grande, pídale que primero recorte la región de interés, por ejemplo con ImageMagick a través de Bash.
- PDFs: Claude lee archivos
.pdfcortos completos. Para PDFs más largos que 10 páginas, lee en rangos con un parámetropages, como"1-5", hasta 20 páginas a la vez. - Cuadernos Jupyter: los archivos
.ipynbdevuelven todas las celdas con sus salidas, incluyendo código, markdown y visualizaciones.
ls a través de la herramienta Bash para listar contenidos de directorio.
Comportamiento de la herramienta WebFetch
WebFetch toma una URL y un prompt describiendo qué extraer. Obtiene la página, convierte la respuesta a Markdown cuando el servidor devuelve HTML, y ejecuta el prompt contra el contenido usando un modelo pequeño y rápido. Para la mayoría de obtenciones, Claude recibe la respuesta de ese modelo, no la página sin procesar. El paso de conversión no es configurable. Esto hace que WebFetch sea con pérdida por diseño. El prompt de extracción determina lo que llega a Claude, por lo que un resultado que dice que una página no menciona algo puede solo significar que el prompt no preguntó por ello. Pida a Claude que obtenga de nuevo con un prompt más específico, o usecurl a través de Bash para la página sin procesar.
Algunos comportamientos dan forma a la respuesta que Claude recibe:
- Las URLs HTTP se actualizan automáticamente a HTTPS.
- Las páginas grandes se truncan a un límite de caracteres fijo antes del procesamiento.
- Las respuestas se almacenan en caché durante 15 minutos, por lo que las obtenciones repetidas de la misma URL regresan rápidamente.
- Cuando una URL se redirige a un host diferente, WebFetch devuelve un resultado de texto que nombra la URL original y el destino de redirección en lugar de seguirlo. Claude luego obtiene la nueva URL con una segunda llamada de WebFetch.
acceptEdits, WebFetch solicita la primera vez que alcanza un nuevo dominio. Para permitir un dominio por adelantado sin una solicitud, agregue una regla de permiso como WebFetch(domain:example.com). Los modos de permiso auto y bypassPermissions permission modes omiten la solicitud completamente.
WebFetch establece un encabezado User-Agent que comienza con Claude-User, y un encabezado Accept que prefiere Markdown sobre HTML para que los servidores que admiten negociación de contenido puedan devolver Markdown directamente. Las reglas de red de Sandbox se configuran por separado, por lo que un dominio que desea que un proceso en sandbox alcance aún necesita una regla de permiso de sandbox explícita.
Comportamiento de la herramienta WebSearch
WebSearch ejecuta una consulta contra el backend de búsqueda web de Anthropic y devuelve títulos y URLs de resultados. No obtiene las páginas de resultados. Para leer una página que Claude encuentra en resultados de búsqueda, continúa con WebFetch. La herramienta puede emitir hasta ocho búsquedas de backend por llamada, refinando la búsqueda internamente antes de devolver resultados. Claude puede limitar resultados conallowed_domains para incluir solo ciertos hosts, o blocked_domains para excluirlos. Las dos listas no se pueden combinar en una sola llamada.
El backend de búsqueda no es configurable. Para buscar con un proveedor diferente, agregue un servidor MCP que exponga una herramienta de búsqueda.
Las reglas de permisos de WebSearch no toman especificador. Una entrada WebSearch desnuda en allow o deny es la única forma.
WebSearch está disponible en la API de Claude y Microsoft Foundry. En Google Cloud Vertex AI funciona con modelos Claude 4, incluyendo Opus, Sonnet y Haiku. Amazon Bedrock no expone la herramienta de búsqueda web del lado del servidor.
Comportamiento de la herramienta Write
La herramienta Write crea un nuevo archivo o sobrescribe uno existente con el contenido completo proporcionado. No añade ni fusiona. Si la ruta objetivo ya existe, Claude debe haber leído ese archivo al menos una vez en la conversación actual antes de sobrescribirlo. Una Write a un archivo existente no leído falla con un error. Esta restricción no se aplica a archivos nuevos. Ver el archivo con Bashcat o sed -n también satisface este requisito, como se describe en comportamiento de la herramienta Edit.
Para cambios parciales a un archivo existente, Claude utiliza Edit en lugar de Write.
Verificar qué herramientas están disponibles
Su conjunto exacto de herramientas depende de su proveedor, plataforma y configuración. Para verificar qué está cargado en una sesión en ejecución, pregúntele a Claude directamente:/mcp.
Véase también
- Servidores MCP: agregue herramientas personalizadas conectando servidores externos
- Permisos: sistema de permisos, sintaxis de reglas y patrones específicos de herramientas
- Subagents: configure el acceso a herramientas para subagents
- Hooks: ejecute comandos personalizados antes o después de la ejecución de herramientas