Skill existente en lugar de agregar una nueva entrada de herramienta.
En modo automático, un clasificador decide la mayoría de los mensajes de permiso en lugar de ti. La columna
Permission required muestra si la herramienta solicita permiso en modo manual para rutas dentro del directorio de trabajo. Las herramientas de acceso a archivos marcadas como No, incluidas Read, Grep y Glob, aún solicitan permiso para rutas fuera del directorio de trabajo y directorios adicionales. Bash está marcada como Sí pero ejecuta un conjunto integrado de comandos de solo lectura sin solicitar permiso.Configurar herramientas con reglas de permisos y hooks
En la mayoría de los casos, Claude decide cuándo usar estas herramientas y no es necesario que las nombre usted mismo al interactuar con Claude. Usted hace referencia a los nombres de las herramientas directamente al definir permisos y otras configuraciones:- 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
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:
Las herramientas no listadas aquí, como
ExitPlanMode o ShareOnboardingGuide, aceptan solo el nombre de la herramienta 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. Una regla de denegación Read(...) también bloquea las herramientas Edit y Write en la misma ruta, incluida la creación de un archivo nuevo allí, porque ambas herramientas cambian contenido que Claude debe poder leer nuevamente. La verificación de denegación Read requiere Claude Code v2.1.208 o posterior en ediciones, y v2.1.228 o posterior en escrituras.
Los campos matcher de hooks usan nombres de herramientas sin formato entre paréntesis, 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 subagente en una ventana de contexto separada. El subagente trabaja en su tarea de forma autónoma y luego devuelve su resultado a la conversación principal. El principal no ve las llamadas a herramientas intermedias ni las salidas del subagente, solo ese resultado final. Con agent teams habilitados, una llamada que lleve unname puede lanzar un teammate en su lugar, que informa a través de mensajes de equipo en lugar de devolver un resultado.
Para limitar cuántos turnos ejecuta un subagente, establezca maxTurns en la definición del subagente. Cuando el subagente alcanza el límite, Claude Code marca el resultado devuelto como salida parcial, y Claude puede reanudar el subagente para continuar.
La misma herramienta Agent también lanza subagentes bifurcados dondequiera que fork mode esté activado. Una bifurcación hereda la conversación principal completa en lugar de comenzar desde cero, se ejecuta en segundo plano aparte de los casos que permanecen en primer plano, y aún muestra solicitudes de permiso en su terminal. El resto de esta sección describe subagentes que no son bifurcaciones.
Las herramientas que un subagente que no es bifurcación puede usar dependen de los campos tools y disallowedTools en la definición del subagente:
- Ninguno de los campos establecido: el subagente hereda todas las herramientas disponibles para subagentes.
- Solo
tools: el subagente obtiene solo las herramientas listadas. - Solo
disallowedTools: el subagente obtiene todas las herramientas principales excepto las listadas. - Ambos establecidos:
disallowedToolstiene prioridad. Una herramienta listada en ambos se elimina.
tools. Donde se cumplen las condiciones en la entrada de la tabla de herramientas de SubagentHandback, Claude Code también le da al subagente esa herramienta, incluso si la deja fuera de tools o la lista en disallowedTools.
Si cada entrada en la lista tools de un subagente no coincide con una herramienta utilizable, la herramienta Agent generalmente devuelve un error nombrando las entradas en lugar de lanzar el subagente; consulte Agent would be spawned with zero tools para el mensaje y cómo corregir cada entrada.
Lanzar el subagente no solicita permiso en sí mismo. Claude Code verifica las llamadas a herramientas propias del subagente contra sus reglas de permiso mientras se ejecuta.
Dónde ve los solicitudes de permiso de un subagente depende de si se ejecuta en primer plano o en segundo plano. Claude Code ejecuta subagentes en segundo plano de forma predeterminada, aparte de los casos que se ejecutan en primer plano.
- Subagentes en primer plano muestran los mismos solicitudes de permiso que vería en la conversación principal, en el momento en que ocurre cada llamada a herramienta.
- Subagentes en segundo plano muestran solicitudes de permiso en su sesión principal a partir de v2.1.186. El solicitud nombra qué subagente está pidiendo, y presionar Esc deniega esa llamada a herramienta sin detener el subagente. Antes de v2.1.186, los subagentes en segundo plano denegaban automáticamente cualquier llamada a herramienta que de otro modo solicitaría y continuaban sin esa herramienta.
tools, por ejemplo dejando Bash fuera de la lista, o establezca reglas de denegación en su configuración.
Comportamiento de la herramienta AskUserQuestion
Claude utilizaAskUserQuestion para hacerle preguntas de opción múltiple cuando necesita una decisión o una aclaración. Responda seleccionando una opción, o escriba su propio texto a través de la fila Other o el campo de notas.
Cuando responde escribiendo su propio texto, Claude Code retransmite la respuesta con una redacción neutral para que Claude siga lo que escribió, incluida una solicitud para esperar o explicar primero.
Tiempo de espera de continuación automática de preguntas
Las preguntas permanecen abiertas hasta que las responda. Si desea que una pregunta que deja sin responder se cierre eventualmente y permita que Claude continúe sin usted, establezca la configuraciónaskUserQuestionTimeout en 60s, 5m, o 10m, ya sea en su settings.json de usuario o desde la fila Question auto-continue timeout en /config.
Después de que una pregunta permanezca tanto tiempo sin entrada, el diálogo se cierra automáticamente: envía cualquier opción que ya haya seleccionado y le dice a Claude que es posible que esté alejado de su teclado, por lo que Claude procede según su propio criterio y puede volver a preguntar más tarde. Verá una cuenta regresiva para los últimos 20 segundos. Presione cualquier tecla para reiniciar el temporizador; en terminales que informan el enfoque, cambiar a la ventana también lo reinicia.
El tiempo de espera se aplica solo a las preguntas de opción múltiple de AskUserQuestion; los avisos de permiso, incluida la aprobación del plan, nunca se resuelven automáticamente en inactividad.
Comportamiento de la herramienta Bash
La herramienta Bash ejecuta cada comando en un proceso separado.Qué persiste entre comandos
- 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. Esto incluye comandos que Claude ejecuta en respuesta a sus mensajes posteriores.- Las sesiones de subagentes nunca mantienen cambios de directorio de trabajo.
- Si
cdsale 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 de modo que cada comando Bash comience en el directorio del proyecto, establezca
CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR=1.
- Las variables de entorno no persisten. Un
exporten un comando no estará disponible en el siguiente. - Los alias y funciones de shell definidos en su archivo de inicio de shell están disponibles. Al iniciar la sesión, Claude Code obtiene
~/.zshrc,~/.bashrc, o~/.profilesegún su shell, captura los alias, funciones y opciones de shell resultantes, y los aplica a cada comando Bash.
CLAUDE_ENV_FILE en un script de shell antes de lanzar Claude Code, o use un hook SessionStart para poblarlo dinámicamente.
Límites de tiempo de espera y salida
Cada comando se ejecuta bajo un tiempo de espera, y Claude lo gestiona: cuando necesita más tiempo que el predeterminado para un comando, pasa el parámetrotimeout con esa llamada — usted nunca establece un tiempo de espera por comando. Dos variables de entorno limitan lo que Claude obtiene:
BASH_DEFAULT_TIMEOUT_MS— el predeterminado cuando Claude no pasa tiempo de espera; dos minutos de forma predeterminadaBASH_MAX_TIMEOUT_MS— con el predeterminado, establece el límite máximo que limita lo que Claude solicita: el límite máximo efectivo es el mayor de los dos, diez minutos de forma predeterminada
Límites de salida
Claude Code transmite la salida de un comando a un archivo de trabajo mientras se ejecuta el comando; un comando cuya salida supera 5 GB se detiene. Cuando el comando finaliza, Claude Code lee la salida nuevamente desde ese archivo, hasta la ventana de lectura descrita a continuación. La cantidad de salida que llega a Claude en línea depende de si Claude Code trata el resultado como un fallo:
Un comando que sale con código 1 cuenta como un resultado válido para la herramienta Bash solo cuando Claude Code reconoce el código de salida 1 como un resultado benigno para ese comando:
grep, rg, egrep, fgrep, find, diff, test, y [, más git diff y git grep. Todos los demás comandos que salen con código 1 cuentan como un fallo, incluso cuando el código de salida 1 es un resultado informativo benigno: sin coincidencias para pgrep y jq -e, archivos que difieren para cmp.
BASH_MAX_OUTPUT_LENGTH establece cuántos caracteres de salida Claude Code lee desde el archivo de trabajo hacia el resultado de un comando: 30.000 de forma predeterminada, hasta un límite máximo fijo de 150.000. Aumente esto cuando sus comandos se desborden rutinariamente de esa ventana, como una compilación detallada o un registro de suite de pruebas completo. Aumentarlo amplía la ventana de lectura, que también es la ventana desde la cual se corta el extracto de un comando fallido. No aumenta los límites en línea: un resultado válido sobre el límite en línea llega como una ruta de archivo más vista previa independientemente de esta variable.
Para cambiar cuánta salida válida recibe Claude en línea, establezca la configuración bashOutputMaxChars en su lugar, hasta 128.000 caracteres. Dimensiona el límite en línea y la ventana de lectura juntos, y Claude Code ignora BASH_MAX_OUTPUT_LENGTH. Requiere Claude Code v2.1.261 o posterior.
Comandos en segundo plano
Para procesos de larga duración como servidores de desarrollo o compilaciones de vigilancia, Claude puede establecerrun_in_background: true para iniciar el comando como una tarea en segundo plano y continuar trabajando mientras se ejecuta. Liste y detenga tareas en segundo plano con /tasks. Después de detener una allí, o desde un cliente conectado como la aplicación de escritorio, Claude continúa en lugar de esperar. Si un subagente inició el comando, es ese subagente el que continúa.
Un comando que un subagente en primer plano inició se detiene cuando ese subagente da su respuesta final. Un comando que la conversación principal o un subagente en segundo plano inició sigue ejecutándose después de una respuesta final. En modo no interactivo con la bandera -p, los comandos en segundo plano terminan poco después del resultado final de la ejecución.
Cuando un comando alcanza su tiempo de espera sin terminar, Claude Code lo mueve al segundo plano en lugar de detenerlo, a menos que el comando comience con sleep. Claude continúa trabajando mientras el comando sigue ejecutándose. Claude Code aplica las mismas reglas de vida útil a un comando movido que a cualquier otro comando en segundo plano, por lo que aún detiene el comando de un subagente en primer plano en la respuesta final de ese subagente. Establecer CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=1 desactiva el segundo plano automático junto con el resto de la funcionalidad de tareas en segundo plano.
El resultado de un comando movido al segundo plano indica lo que sucedió:
- Cuando el tiempo de espera activa el movimiento, el resultado lo reporta explícitamente:
Command did not complete within its 120s timeout and was moved to the background, con los segundos coincidiendo con el tiempo de espera que se aplicó, seguido del ID de tarea y la ruta del archivo en el que se escribe la salida. - Un
cd,pushd,popd, ochdirdentro de un comando que se mueve al segundo plano nunca se mantiene: el resultado indicaSession cwd remains <dir>; directory changes made by the backgrounded command do not apply to subsequent commands., por lo que Claude no actúa sobre un cambio de directorio que no sucedió.
Límite de memoria en Linux y WSL
En Linux y WSL, establezcaCLAUDE_CODE_TOOL_MEMORY_LIMIT en un tamaño como 4G para limitar la memoria que los comandos de herramientas Bash, PowerShell y Monitor pueden usar, de modo que una compilación descontrolada no consuma la memoria que el resto de la sesión necesita. Requiere Claude Code v2.1.233 o posterior. Antes de v2.1.246, los comandos de herramientas Monitor se ejecutaban fuera del límite.
- Escriba el tamaño como un número de bytes o con un sufijo
K,M,G, oT. Establezca0,off,false,no, ononepara desactivar el límite. Claude Code ignora cualquier otro valor que no pueda leer como un tamaño, como4e9. - Claude Code cuenta todos los comandos Bash, PowerShell y Monitor de una sesión contra el límite único, no cada comando por su cuenta.
- Claude Code aplica el límite con un cgroup de memoria. Cuando no puede configurar el cgroup, los comandos se ejecutan sin límite, y el registro de depuración de
claude --debugindica por qué. - Después de que el primer proceso que Claude Code inicia ha activado el límite, o lo ha desactivado debido a un valor desactivado o una configuración de cgroup fallida, Claude Code mantiene ese resultado hasta que reinicie. Para aplicar un valor cambiado o eliminado, o una configuración corregida, lance
claudenuevamente. - Cuando los comandos no pueden mantenerse bajo el límite, el kernel detiene un comando, y nada en su resultado nombra el límite.
CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE en una lista separada por comas de los tipos a eximir del límite; Claude Code aplica el límite a cada tipo que no esté en su lista. Establézcalo en none para limitar cada tipo, o en all-new para limitar solo comandos de herramientas Bash, PowerShell y Monitor. Requiere Claude Code v2.1.246 o posterior. Los tipos que puede nombrar:
mcp: servidores MCP localeslsp: servidores de lenguajehooks: comandos de hookplugin: comandos que ejecutan pluginshelper: comandos auxiliares propios de Claude Code, comogitagent: procesos secundarios de Claude Code, como compañeros agentes
- Nombres desconocidos: Claude Code ignora nombres que no reconoce
- Bash, PowerShell y Monitor: Claude Code mantiene comandos de herramientas Bash, PowerShell y Monitor bajo el límite sea lo que sea que liste
- Variable no establecida: Claude Code toma el conjunto de otros tipos limitados de la configuración que Anthropic entrega desde el servidor, y ese conjunto puede cambiar con el tiempo, por lo que establezca la variable cuando necesite un conjunto que no cambie
- Hooks de control de permisos: incluso con cada tipo limitado, Claude Code excluye del límite un hook que puede bloquear o cambiar el resultado de una acción, y cualquier servidor MCP que tal hook llame, por lo que el kernel matando un hook de control de permisos no puede permitir la acción que estaba bloqueando
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 ni coincidencia aproximada.
Deben pasar tres comprobaciones para que se aplique una edición. Antes de cualquiera de ellas, se rechaza una ruta coincidente con una regla de denegación Read, incluida la creación de un archivo nuevo allí. El rechazo requiere Claude Code v2.1.208 o posterior.
- Read-before-edit: Claude lee el archivo en la conversación actual antes de editarlo, y una lectura interrumpida con un aviso
PARTIAL viewno cuenta. Claude Opus 4.6, Claude Haiku 4.5 y modelos más antiguos siempre requieren la lectura. Los modelos más nuevos pueden editar un archivo no leído cuando leerlo no requeriría un aviso de permiso y la herramienta Read está disponible. - Match:
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 no coincidir. - Uniqueness:
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 identificar una ocurrencia, o establecereplace_all: truepara reemplazarlas todas.
old_string coincide exactamente con el contenido actual de forma inequívoca y Claude Code puede leer el archivo sin solicitar permiso. La coincidencia con el contenido actual del archivo mantiene esto seguro, y el resultado indica que el archivo contiene otros cambios para que Claude lo vuelva a leer antes de ediciones que dependan del contenido circundante. En cualquier otro caso, como un old_string obsoleto o uno que coincida más de una vez sin replace_all, Claude lee el archivo nuevamente antes de editar. El manejo relajado de archivos no leídos y modificados requiere Claude Code v2.1.208 o posterior; antes de eso, Claude Code rechazaba cualquier edición a un archivo que no hubiera leído en la conversación o que hubiera cambiado en el disco después de la lectura.
Ver un archivo con Bash también satisface el requisito de read-before-edit cuando el comando es cat, nl, bat, batcat, head, tail, sed -n 'X,Yp', grep, egrep, fgrep, o rg en un único archivo sin tuberías o redirecciones. La salida canalizada y otros comandos Bash no cuentan hacia la comprobación de read-before-edit.
Ver un archivo con Bash afecta solo la elegibilidad de edición, no los permisos. Consulte Reglas de permisos Read y Edit para saber qué comandos Bash cubren sus reglas de denegación Read y Edit.
Comportamiento de la herramienta EndConversation
La herramienta EndConversation finaliza la sesión actual. Claude la utiliza solo en dos situaciones:- como último recurso contra entrada abusiva sostenida, después de intentos fallidos de redirigir la conversación y después de una advertencia clara en un mensaje anterior
- cuando usted solicita explícitamente ver la herramienta demostrada y confirma que desea finalizar la sesión
Claude ended this conversation. Start a new session (or /clear) to continue., y solo /clear, /resume, /help, /exit y /feedback siguen ejecutándose. Claude Code registra el final en la transcripción de la sesión, por lo que reanudar una sesión finalizada restaura el bloqueo; el historial de la sesión no se elimina.
Reanudar una sesión finalizada en modo no interactivo con la bandera -p genera un error y sale con código 1, por lo que un script no lee la ejecución finalizada como un éxito.
La herramienta nunca solicita permiso, y los hooks PreToolUse no se ejecutan para ella. Mientras que cualquier otra herramienta permanezca, tampoco puede bloquearla: las reglas de denegación y solicitud que nombran EndConversation no tienen efecto, y ni --disallowedTools ni una lista --tools pueden eliminarla. La exención es deliberada: la herramienta no hace nada excepto finalizar la conversación, nunca lee ni modifica archivos o datos, y una salvaguarda de este tipo se mantiene solo si la sesión a la que se aplica no puede desactivarla. Cuando sus reglas de denegación eliminan todas las demás herramientas y también coinciden con EndConversation, como lo hace "*", Claude Code también la elimina en lugar de dejarla como la única herramienta, a menos que una regla de permiso nombre EndConversation explícitamente. Una lista de denegación que elimina todas las demás herramientas sin coincidir con EndConversation la deja en su lugar.
Los subagentes nunca obtienen la herramienta. Las tareas en segundo plano que comparten la lista de herramientas de la conversación principal la ven, pero llamarla allí no finaliza nada.
La herramienta aparece solo cuando se cumplen todas las siguientes condiciones:
- Versión: Claude Code v2.1.213 o posterior.
- Modelo: el modelo de la sesión es Claude Opus 4.8, Claude Sonnet 5, Claude Fable 5, o una versión posterior de una de esas familias.
- Superficie: una sesión de terminal interactiva, incluida una sesión
claudeen el terminal integrado de un IDE, que es cómo lo ejecuta el plugin de JetBrains. Otras superficies no incluyen la herramienta, tales como:- ejecuciones no interactivas
-p - sesiones a través de los paquetes TypeScript y Python del Agent SDK
- el panel de la extensión de VS Code, que incluye su propio CLI
- GitHub Actions
- Claude Code en la web
- ejecuciones no interactivas
- Modo de inicio: no una sesión
--bare. El modo bare carga solo herramientas de shell y archivo, por lo que la herramienta nunca se registra allí. - Proveedor: no disponible en Amazon Bedrock, Claude Platform en AWS, Agent Platform de Google Cloud, o Microsoft Foundry, o en sesiones que iniciaron sesión a través de una puerta de enlace en la nube.
Comportamiento de la herramienta Glob
La herramienta Glob encuentra archivos por patrón de nombre. En Windows, es parte del conjunto de herramientas predeterminado. En macOS, Linux y WSL, Claude Code deja Glob y Grep fuera del conjunto de herramientas predeterminado, y Claude busca confind y grep a través de la herramienta Bash en su lugar. En el shell de Claude esos dos comandos ejecutan versiones integradas de bfs y ugrep, y las búsquedas llegan a sus hooks y reglas de permisos como llamadas Bash.
En macOS, Linux y WSL, obtiene las herramientas Glob y Grep de vuelta en estos casos:
- Nombra
GloboGrepen--toolso--allowedToolscuando inicia la sesión, o en las opciones equivalentes de Agent SDK. Con--toolsobtiene los que enumera, y nombrar cualquiera de las herramientas en--allowedToolsrestaura ambas. Una regla de permiso en un archivo de configuración no tiene este efecto. - Una regla de permisos deny, la bandera
--disallowedTools, o--restrictedeliminaBashde la sesión. - Un subagente enumera
GloboGrepen su campotoolsy deja fueraBash. Las herramientas enumeradas vuelven solo para ese subagente, o para toda la sesión cuando se ejecuta como el agente de sesión principal a través de--agento la configuraciónagent.
** 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.
Claude Code decide el permiso para una llamada Glob antes de verificar si el directorio de búsqueda existe. Aún ejecuta la verificación de permiso de lectura para una path faltante fuera de los directorios de trabajo, por lo que una solicitud de permiso para una ruta no significa que la ruta exista.
Un valor de pattern o path que contenga un byte nulo devuelve un error pidiendo a Claude que lo elimine.
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. En macOS, Linux y WSL, Grep está ausente por defecto bajo las mismas condiciones que Glob. Consulte Comportamiento de la herramienta Glob para saber cuándo ambas herramientas están disponibles. 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\{\}.
Un patrón, glob o tipo de archivo que ripgrep rechaza devuelve un error que incluye el diagnóstico de ripgrep, para que Claude pueda corregir la entrada y buscar de nuevo. Antes de v2.1.208, Claude Code reportaba una entrada rechazada como No files found en lugar de un error, incluso cuando el texto buscado existía en los archivos de destino.
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. Cuando el parámetrooffsetde la herramienta apunta más allá de la última coincidencia para un patrón que tiene coincidencias, Grep devuelveNo entries at this offset, por lo que Claude amplía o reinicia el offset en lugar de concluir que el patrón no coincide.count: recuento de coincidencias por archivo, seguido de un total en todos los archivos coincidentes. El total cubre cada coincidencia incluso cuando los parámetroshead_limituoffsetde la herramienta truncan las entradas por archivo listadas. Antes de v2.1.208, el total solo sumaba las entradas listadas.
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.
Claude Code decide el permiso para una llamada Grep antes de verificar si la path de búsqueda existe. Aún ejecuta la verificación de permiso de lectura para una path faltante fuera de los directorios de trabajo, por lo que un aviso de permiso para una ruta no significa que la ruta exista.
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, informa automáticamente de errores de tipo y advertencias para que Claude pueda corregir problemas sin un paso de compilación separado. Claude también puede llamarla 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
- Buscar un símbolo por nombre en todo el espacio de trabajo
- Encontrar implementaciones de una interfaz
- Rastrear jerarquías de llamadas
Herramienta Monitor
La herramienta Monitor permite que Claude observe algo en segundo plano y reaccione cuando cambia, sin pausar la conversación. Pida a Claude que:- 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
- Conectarse a una fuente de WebSocket e informar cada mensaje a medida que llega
-p.
En el plazo, la observación termina. Claude recibe un aviso, por lo que puede reiniciar la observación si aún es necesaria.
Detenga un monitor pidiendo a Claude que lo cancele o terminando la sesión. Cuando detiene una subagente que inició monitores, por ejemplo desde /tasks, esos monitores se detienen con ella.
Cuando Monitor ejecuta un comando, utiliza las mismas reglas de permisos que Bash, por lo que los patrones allow y deny que tiene establecidos para Bash se aplican aquí también. Mientras el modo automático está activo, Claude Code reserva reglas de permiso que nombran Monitor en sí mismo, junto con las otras reglas de permiso amplias que descarta, por lo que el clasificador revisa los comandos de Monitor de la misma manera que revisa los comandos de Bash.
La fuente de WebSocket tiene su propio mensaje de aprobación, que el clasificador también decide en modo automático.
La herramienta no está disponible en Amazon Bedrock, Google Cloud’s Agent Platform, 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.
Fuente de WebSocket
La fuente de WebSocket requiere Claude Code v2.1.195 o posterior.
- Mensajes de texto: cada uno se convierte en un evento, incluso cuando el mensaje abarca múltiples líneas.
- Mensajes binarios: no se transmiten. Claude recibe una línea de marcador de posición como
[binary frame, 512 bytes]en su lugar. - Mensajes mayores de 1 MiB: la observación termina, por lo que suscríbase a una fuente filtrada donde exista una.
- Cierre de socket: la observación termina y Claude recibe el código de cierre.
ws en lugar de command, y una única llamada de Monitor no puede combinar los dos. La entrada ws tiene dos campos:
El plazo
timeout_ms se aplica también a una observación de WebSocket: la observación termina en el plazo, y TaskStop la cancela temprano.
Abrir un WebSocket solicita aprobación; en modo automático el clasificador decide en su lugar. El mensaje no ofrece una opción para omitir futuros mensajes para el mismo host.
Claude Code rechaza las URL que apuntan a una dirección privada, link-local o de metadatos en la nube, incluidos los nombres de host que se resuelven en una. También rechaza los hosts en sandbox.network.deniedDomains, y cuando allowManagedDomainsOnly está establecido en la configuración administrada, cualquier host fuera de la lista de permitidos administrada.
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. La disponibilidad de la herramienta depende de su plataforma:- Windows sin Git Bash: la herramienta se habilita automáticamente.
- Windows con Git Bash instalado: la herramienta está habilitada de forma predeterminada para cuentas de claude.ai y Console; establezca
CLAUDE_CODE_USE_POWERSHELL_TOOL=1para habilitarla en sesiones de Amazon Bedrock, Google Cloud’s Agent Platform y Microsoft Foundry, o0para desactivarla. - Linux, macOS y WSL: la herramienta es opcional.
tool_input.command, con los mismos campos que la herramienta Bash.
Coincida con Bash|PowerShell en hooks que inspeccionen comandos de shell; la sección de entrada del hook PowerShell explica por qué no es suficiente coincidir solo con Bash.
Habilitar la herramienta PowerShell
EstablezcaCLAUDE_CODE_USE_POWERSHELL_TOOL=1 en su entorno o en settings.json:
0 para desactivar la herramienta. 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 sigue estando disponible para scripts POSIX cuando Git Bash está instalado.
Claude Code inicia PowerShell con -ExecutionPolicy Bypass solo en el ámbito del proceso, por lo que los scripts .ps1 y las importaciones de módulos funcionan en instalaciones predeterminadas de Windows sin cambiar la política de la máquina. El bypass de ámbito de proceso no anula la Política de grupo MachinePolicy o UserPolicy, por lo que las políticas empresariales siguen siendo aplicables. Para respetar la política de ejecución efectiva de la máquina en su lugar, establezca CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY=1.
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 inician 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.
A partir de v2.1.196, el código de salida 1 de grep, rg, egrep, fgrep, findstr y git grep significa que no hay coincidencias. El código de salida 1 de git diff significa que existen diferencias. Ninguno de estos resultados se reporta a Claude como un error de comando. Para robocopy, los códigos de salida de 0 a 7 son resultados informativos, como archivos copiados o archivos adicionales detectados. Los códigos de salida de 8 o superior cuentan como errores.
Codificación de Windows y códigos de salida
En Windows, los siguientes comportamientos de codificación y código de salida de PowerShell requieren Claude Code v2.1.214 o posterior:- La redirección con
>y>>escribe archivos UTF-8 en PowerShell 5.1 - Claude Code codifica el texto canalizando a la entrada estándar de un comando nativo como UTF-8
- Claude Code captura la salida de error sin secuencias de escape ANSI
- Un comando cuyo proceso secundario espera en la entrada estándar recibe fin de archivo en lugar de colgarse
- El código de salida 1 de
where.exesignifica que no hay coincidencia, y defc.exeydiff.exesignifica que los archivos difieren, por lo que cuando el comando produce salida, Claude Code trata ese código de salida como una respuesta negativa válida en lugar de un error de comando. Claude Code aún reporta una forma silenciada, comowhere.exe /Qo una redirección a$null, como un error en el código de salida 1
> en PowerShell 5.1 escribía archivos UTF-16LE, la entrada canalizadora no ASCII llegaba como ?, y los scripts de Python podrían fallar con un UnicodeEncodeError al imprimir caracteres no ASCII.
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 para pasar siempre rutas absolutas. De forma predeterminada, Read devuelve el archivo desde el inicio. Cuando una lectura de archivo completo excede el límite de tokens, Read devuelve la primera página con un aviso dePARTIAL view que le indica a Claude cuánto del archivo recibió y cómo leer más con offset y limit. Una lectura que pasa un offset o limit explícito y aún así excede el límite de tokens devuelve un error.
Una lectura con un limit explícito se detiene tan pronto como las líneas seleccionadas excedan lo que el límite de tokens podría caber y devuelve un error sin cargar el resto del rango. El error le indica a Claude que use un limit más pequeño, o que busque contenido específico con Grep en su lugar cuando una sola línea sea tan grande. Antes de v2.1.208, Claude Code cargaba todo el rango en memoria antes de rechazarlo, por lo que leer un archivo con una sola línea extremadamente larga podría agotar la memoria.
Leer un archivo vacío devuelve un aviso de que el archivo existe pero su contenido está vacío, y un offset más allá de la última línea devuelve un aviso que proporciona el recuento de líneas del archivo. Antes de v2.1.208, leer un archivo vacío devolvía el aviso de fin de archivo en su lugar.
Read maneja varios tipos de archivo más allá del texto sin formato:
- 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 que se ajusten 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. A partir de v2.1.196, una imagen que sigue siendo más grande que 500KB después de ese redimensionamiento se recodifica como JPEG con calidad reducida con sus dimensiones de píxeles sin cambios. Si Claude pierde detalles 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, incluido código, markdown y visualizaciones. Claude Code se niega a leer un archivo de cuaderno de más de 100 MB; el error le indica a Claude cómo leer una porción del cuaderno en su lugar, como un segmento de celdas, con un comando de shell.
ls.
Comportamiento de la herramienta SendFeedback
Los comentarios redactados por Claude son un informe de comentarios sobre Claude Code que Claude escribe para usted. Requiere Claude Code v2.1.238 o posterior. Claude Code guarda cada borrador en su máquina bajo~/.claude/feedback/drafts/, y nada llega a Anthropic hasta que lo envíe. Claude redacta uno con la herramienta SendFeedback cuando:
- Una herramienta o comando sigue fallando
- No puede ayudarle con algo que le pidió
- Usted señala un error que cometió, o lo nota
- Le pide que presente comentarios
Lo que ve cuando Claude redacta
Después de que Claude pone en cola un borrador, ve una tarjeta encima de su prompt con el título del borrador. Presione1 para revisar el borrador, presione 2 dos veces para enviarlo tal como está escrito, o presione 0 para descartarlo. Un borrador descartado permanece en su cola. Después de descartar una tarjeta, Claude Code pregunta si desea desactivar los comentarios redactados por Claude. Deja de preguntar una vez que ha rechazado dos veces.
De forma predeterminada, ve como máximo tres tarjetas en una sesión; Anthropic puede ajustar ese límite desde el servidor sin una versión. Después del límite, y siempre que establezca feedbackDrafts en quiet, ve solo un recuento de borradores en cola en el pie de página del prompt.
Revisar y editar un borrador
Ejecute/feedback sin argumentos para abrir su cola. Enumera todos los borradores en cola de todas sus sesiones, incluidos los borradores cuyas tarjetas descartó o nunca vio. Seleccione un borrador para abrirlo para revisión, donde puede:
- Editar el título, área y detalles
- Establecer Send transcript en
yesono. Cuando la transcripción de la sesión donde Claude puso en cola el borrador aún está disponible, comienza enyes, que envía esa conversación a Anthropic;noenvía solo el informe - Enviar el borrador, descartarlo o dejarlo en la cola para más tarde
w para el diálogo de comentarios estándar. /feedback con texto después, y /bug, abren ese diálogo directamente.
Enviar un borrador
Cuando envía un borrador, Claude Code lo envía de la misma manera que un informe/feedback, con la misma retención, y elimina el borrador de su máquina. Cuando envía desde la tarjeta, muestra ✓ Sent; cuando envía desde la cola, se cierra con un ID de recepción.
El informe lleva:
- Su título, área y detalles
- Información del entorno, como su versión de Claude Code, sistema operativo y modelo
- Los ID de solicitudes de API recientes
- La transcripción de la conversación, cuando dejó Send transcript en
yesen la pantalla de revisión. Enviar desde la tarjeta nunca incluye la transcripción
/feedback. Si una sesión en tal organización aún ofrece la herramienta, los borradores permanecen en su máquina, y el envío falla con Feedback collection is not available for organizations with custom data retention policies.
Descartar o mantener un borrador
Cuando descarta un borrador, Claude Code lo elimina de su máquina. Un borrador que deja en la cola expira después de 30 días, o después decleanupPeriodDays cuando es más corto. La cola contiene 10 borradores en todas sus sesiones, y cuando Claude pone en cola un undécimo, Claude Code elimina el más antiguo. Cuando ejecuta /exit con borradores de la sesión aún en la cola, Claude Code pregunta si desea revisarlos o descartarlos antes de salir.
Desactivar los comentarios redactados por Claude
Establezca Claude-drafted feedback enoff en /config, que escribe la configuración feedbackDrafts, o establezca CLAUDE_CODE_SEND_FEEDBACK=0 para una sesión. Con cualquiera de estos, Claude no puede poner en cola borradores. Para mantener la redacción sin tarjetas, establezca feedbackDrafts en quiet en su lugar. Los administradores pueden establecer feedbackDrafts en configuración administrada, que tiene prioridad sobre su propia configuración.
Sesiones sin comentarios redactados por Claude
Claude Code incluye la herramienta en sesiones de terminal interactivas en su propia máquina que usan la API de Claude en lugar de un proveedor de nube. La deja fuera de:- Ejecuciones no interactivas
-py sesiones de Agent SDK, que no tienen pantalla para revisar la cola - Sesiones en la nube como Claude Code en la web, que no pueden escribir en la cola en su máquina
- Sesiones en Amazon Bedrock, Claude Platform en AWS, Google Cloud’s Agent Platform, o Microsoft Foundry
- Sesiones donde establece
CLAUDE_CODE_SEND_FEEDBACK=0oDISABLE_FEEDBACK_COMMAND=1, estableceCLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICen cualquier valor no vacío, o desactivó la obtención de indicadores de características - Organizaciones que han desactivado comentarios de productos, y organizaciones con retención de datos cero
Disponibilidad de la herramienta Task
Las herramientas de seguimiento de tareas,TaskCreate, TaskGet, TaskUpdate, TaskList y TodoWrite, están disponibles de forma predeterminada solo en modelos Claude 3.x, Opus 4 a través de 4.7, Sonnet 4 a través de 4.6 y Haiku 4.5. Siempre que las herramientas estén disponibles, obtiene las cuatro herramientas Task, o TodoWrite en su lugar cuando establece CLAUDE_CODE_ENABLE_TASKS=0.
En todos los demás modelos, Claude Code omite las herramientas a menos que opte por usarlas. Lo mismo se aplica a un ID de modelo que Claude Code no reconoce, como un nombre de modelo personalizado servido a través de una puerta de enlace LLM. En modelos más nuevos, Claude realiza un seguimiento del trabajo de varios pasos sin una lista de verificación escrita, y las definiciones y recordatorios de las herramientas ocupan contexto. Sin las herramientas, Claude no agrega nada a la lista de tareas mientras trabaja.
Si desea utilizar estas herramientas en un modelo que no las tiene de forma predeterminada, haga una de las siguientes cosas:
- Exporte
CLAUDE_CODE_ENABLE_TODO_TOOLS=1antes de iniciar Claude Code, por ejemploCLAUDE_CODE_ENABLE_TODO_TOOLS=1 claude. Claude Code entonces proporciona las mismas herramientas en cada modelo y cada proveedor - Nombre una de las herramientas en
--allowedTools, por ejemploclaude --allowedTools TaskCreate - Liste las herramientas en
--tools, que restringe las herramientas integradas de la sesión a las que nombra. Incluya las herramientas que desea junto con las otras herramientas integradas que utiliza - En el Agent SDK, las opciones
allowedToolsytoolsfuncionan de la misma manera que las dos banderas
Comportamiento de la herramienta WebFetch
WebFetch toma una URL y un mensaje que describe qué extraer. Obtiene la página, convierte la respuesta a Markdown cuando el servidor devuelve HTML, y ejecuta el mensaje contra el contenido utilizando un modelo pequeño y rápido. Para la mayoría de las búsquedas, 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 lossy por diseño. El mensaje de extracción determina qué llega a Claude, por lo que un resultado que dice que una página no menciona algo puede significar solo que el mensaje no lo preguntó. Pida a Claude que obtenga nuevamente con un mensaje 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:
- WebFetch rechaza
localhosty cualquier otro nombre de host sin un punto, como un nombre de intranet simple, antes de hacer una solicitud. El error que devuelve le dice a Claude que alcance servidores locales concurla través de Bash en su lugar. - 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.
- WebFetch almacena en caché cada respuesta durante 15 minutos de forma predeterminada, por lo que las búsquedas repetidas de la misma URL se devuelven rápidamente. En Claude Code v2.1.233 o posterior, establezca
CLAUDE_CODE_WEBFETCH_CACHE_TTL_MSpara cambiar cuánto tiempo WebFetch mantiene cada respuesta. - Una página que no haya terminado de descargar dentro de cinco minutos, incluidos los redireccionamientos que WebFetch sigue, falla con un error de límite de tiempo. En Claude Code v2.1.268 o posterior, establezca
CLAUDE_CODE_WEBFETCH_DEADLINE_MSpara cambiar el límite, o a0para eliminarlo. - 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 a WebFetch.
- Cuando el paso de extracción golpea una API sobrecargada, Claude Code lo reintenta con retroceso; una búsqueda que aún falla devuelve un resultado de error. Antes de v2.1.212, el texto de error de la API podría llegar a Claude como si fuera el contenido de la página extraída.
acceptEdits de permisos, WebFetch solicita antes de obtener, excepto para dominios que sus reglas de permisos ya permiten o deniegan y un conjunto integrado de dominios de documentación preaprobados que se obtienen sin solicitud. Sea cual sea lo que sus reglas permitan, una búsqueda también pasa primero la verificación de seguridad del dominio WebFetch; esa sección cubre qué envía la verificación y la configuración que la omite. El mensaje ofrece tres opciones:
- Sí: aprueba solo esta búsqueda. La siguiente llamada a WebFetch solicita nuevamente, incluso para el mismo dominio.
- Sí, y no preguntar nuevamente para
<domain>: aprueba la búsqueda y guarda una regla de permisoWebFetch(domain:...)para ese dominio en.claude/settings.local.jsonpara ese repositorio. Consulte cómo persisten las aprobaciones guardadas. Cuando su organización estableceallowManagedPermissionRulesOnly, Claude Code oculta esta opción. - No, y dígale a Claude qué hacer diferente: rechaza la búsqueda.
WebFetch(domain:example.com); WebFetch(domain:*) permite cada dominio. Los modos de permisos auto y bypassPermissions de permisos omiten la solicitud, excepto para un dominio que coincida con una regla ask explícita.
Una regla WebFetch(domain:...) explícita en deny, ask o allow tiene precedencia sobre el conjunto preaprobado, por lo que puede bloquear un dominio preaprobado o requerir una solicitud para él.
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.
Los comandos en sandbox no heredan el conjunto integrado de dominios de documentación preaprobados de WebFetch. Para permitir que un comando en sandbox alcance un dominio sin solicitud, agregue el dominio a allowedDomains o permítalo con una regla WebFetch(domain:...), que el sandbox también respeta. WebFetch nunca lee la lista de permisos del sandbox a cambio, por lo que agregar un dominio a una lista de permisos de red de sandbox u organización no impide que WebFetch solicite por él.
Comportamiento de la herramienta WebSearch
WebSearch ejecuta una consulta contra el backend de búsqueda web de Anthropic y devuelve títulos de resultados y URLs. No obtiene las páginas de resultados. Para leer una página que Claude encuentra en los 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 los resultados conallowed_domains para incluir solo ciertos hosts, o blocked_domains para excluirlos. Las dos listas no se pueden combinar en una sola llamada.
Cuando la solicitud de búsqueda afecta a una API sobrecargada, Claude Code la reintenta con retroceso; una llamada que aún falla devuelve un resultado de error. Antes de v2.1.212, el texto de error de la API podría llegar a Claude como si fueran resultados de búsqueda.
Las reglas de permisos de WebSearch no requieren especificador. Una entrada WebSearch simple en allow o deny es la única forma.
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.
WebSearch está disponible en la API de Claude y en Claude Platform en AWS. En Microsoft Foundry requiere un despliegue alojado en Anthropic: los despliegues alojados en Azure no admiten herramientas del lado del servidor, por lo que la llamada de WebSearch falla. En la plataforma de agentes de Google Cloud funciona con Claude 4 y modelos posteriores, incluidos Opus, Sonnet y Haiku. Amazon Bedrock no expone la herramienta de búsqueda web del lado del servidor.
Límite de búsqueda de sesión
Una sesión puede realizar como máximo 200 llamadas de WebSearch, contadas en toda la conversación principal y cada subagente que genera, por lo que las búsquedas realizadas por expansiones de investigación paralela cuentan contra el mismo límite. El límite requiere Claude Code v2.1.212 o posterior. Cuando Claude alcanza el límite, las llamadas posteriores devuelven un aviso que le dice a Claude que continúe con la información que ya ha recopilado, en lugar de un error que invitaría a un reintento. Usted no ve el aviso: una llamada limitada aparece en la conversación como una búsqueda que no hizo nada, y si Claude necesita más búsquedas, el aviso le dice que le pida que aumente el límite. Establezca la variable de entornoCLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION para cambiar el límite; acepta un número entero positivo, por lo que el límite se puede aumentar pero no desactivar. Ejecutar /clear reinicia el contador. Si el trabajo que aún puede generar subagentes sobrevive al borrado, como un flujo de trabajo en ejecución, el contador se mantiene en su lugar.
Comportamiento de la herramienta Write
La herramienta Write crea un archivo nuevo o sobrescribe uno existente con el contenido completo proporcionado. No añade ni fusiona. Si Claude debe leer un archivo existente en la conversación actual antes de sobrescribirlo depende del modelo y del archivo:- Claude Opus 4.6, Claude Haiku 4.5 y modelos más antiguos siempre requieren la lectura, por lo que una operación Write en un archivo existente no leído falla con un error.
- Los modelos más nuevos pueden sobrescribir un archivo que nunca leyeron en esta sesión bajo las mismas condiciones que read-before-edit: leerlo no necesitaría un aviso de permiso y la herramienta Read está disponible.
- Los notebooks de Jupyter y los archivos que Claude ha leído solo parcialmente con un aviso
PARTIAL viewrequieren la lectura en todos los modelos.
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.
La herramienta advisor es una herramienta de servidor que ejecuta la API, en lugar de una herramienta que implementa Claude Code. No tiene un nombre que pueda referenciar en reglas de permisos o coincidencias de hooks.
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