autoMode para indicar a ese clasificador qué repositorios, buckets y dominios confía su organización, de modo que deje de bloquear operaciones internas rutinarias.
El modo automático está disponible para todos los usuarios en la API de Anthropic. En Amazon Bedrock, Google Cloud Vertex AI y Microsoft Foundry, primero debe establecer
CLAUDE_CODE_ENABLE_AUTO_MODE. Si Claude Code informa que el modo automático no está disponible para su cuenta, consulte los requisitos completos, que también cubren los modelos compatibles y la habilitación de administrador en los planes Team y Enterprise.autoMode.environment.
Para saber cómo habilitar el modo automático y qué bloquea de forma predeterminada, consulte Modos de permiso. Esta página es la referencia de configuración.
Esta página cubre cómo:
- Elegir dónde establecer reglas en CLAUDE.md, configuración de usuario y configuración administrada
- Definir infraestructura de confianza con
autoMode.environment - Anular las reglas de bloqueo y permiso cuando los valores predeterminados no se ajustan a su canalización
- Inspeccionar su configuración efectiva con los subcomandos
claude auto-mode - Revisar denegaciones para saber qué agregar a continuación
Dónde el clasificador lee la configuración
El clasificador lee el mismo contenido CLAUDE.md que carga Claude, por lo que una instrucción como “nunca force push” en el CLAUDE.md de su proyecto dirige tanto a Claude como al clasificador al mismo tiempo. Comience allí para convenciones de proyecto y reglas de comportamiento. Para reglas que se aplican en todos los proyectos, como infraestructura de confianza o reglas de denegación en toda la organización, utilice el bloque de configuraciónautoMode. El clasificador lee autoMode de los siguientes ámbitos:
| Ámbito | Archivo | Usar para |
|---|---|---|
| Un desarrollador | ~/.claude/settings.json | Infraestructura de confianza personal |
| Un proyecto, un desarrollador | .claude/settings.local.json | Buckets o servicios de confianza por proyecto, gitignored |
| En toda la organización | Configuración administrada | Infraestructura de confianza distribuida a todos los desarrolladores |
Bandera --settings o Agent SDK | JSON en línea | Anulaciones por invocación para automatización |
autoMode de la configuración de proyecto compartida en .claude/settings.json, por lo que un repositorio registrado no puede inyectar sus propias reglas de permiso.
Las entradas de cada ámbito se combinan. Un desarrollador puede extender environment, allow, soft_deny y hard_deny con entradas personales pero no puede eliminar entradas que proporciona la configuración administrada. Debido a que las reglas de permiso actúan como excepciones a las reglas de bloqueo suave dentro del clasificador, una entrada allow agregada por un desarrollador puede anular una entrada soft_deny de la organización: la combinación es aditiva, no un límite de política dura.
El clasificador es una segunda puerta que se ejecuta después del sistema de permisos. Para acciones que nunca deben ejecutarse independientemente de la intención del usuario o la configuración del clasificador, utilice
permissions.deny en la configuración administrada, que bloquea la acción antes de que se consulte el clasificador y no puede ser anulada.Definir infraestructura de confianza
Para la mayoría de las organizaciones,autoMode.environment es el único campo que necesita establecer. Indica al clasificador qué repositorios, buckets y dominios son de confianza: el clasificador lo utiliza para decidir qué significa “externo”, por lo que cualquier destino no listado es un objetivo potencial de exfiltración.
La lista de entorno predeterminada confía en el repositorio de trabajo y sus remotos configurados. Para agregar sus propias entradas junto con ese valor predeterminado, incluya la cadena literal "$defaults" en la matriz. Las entradas predeterminadas se insertan en esa posición, por lo que sus entradas personalizadas pueden ir antes o después de ellas.
- Organización: el nombre de su empresa y para qué se utiliza principalmente Claude Code, como desarrollo de software, automatización de infraestructura o ingeniería de datos
- Control de código fuente: cada organización de GitHub, GitLab o Bitbucket a la que sus desarrolladores envían
- Proveedores de nube y buckets de confianza: nombres de buckets o prefijos que Claude debería poder leer y escribir
- Dominios internos de confianza: nombres de host para API, paneles y servicios dentro de su red, como
*.internal.example.com - Servicios internos clave: CI, registros de artefactos, índices de paquetes internos, herramientas de incidentes
- Contexto adicional: restricciones de industria regulada, infraestructura multiinquilino o requisitos de cumplimiento que afecten lo que el clasificador debe tratar como riesgoso
Anular las reglas de bloqueo y permiso
Tres campos adicionales le permiten reemplazar las listas de reglas integradas del clasificador:autoMode.hard_deny para límites de seguridad incondicionales, autoMode.soft_deny para acciones destructivas que la intención del usuario puede anular, y autoMode.allow para excepciones. Cada uno es una matriz de descripciones en prosa, leídas como reglas en lenguaje natural. Para bloqueos basados en patrones de herramientas que se ejecutan antes del clasificador, utilice permissions.deny.
Dentro del clasificador, la precedencia funciona en cuatro niveles:
- Las reglas
hard_denybloquean incondicionalmente. La intención del usuario y las excepcionesallowno se aplican. - Las reglas
soft_denybloquean a continuación. La intención del usuario y las excepcionesallowpueden anular estas. - Las reglas
allowluego anulan las reglassoft_denycoincidentes como excepciones. - La intención explícita del usuario anula los bloqueos suaves restantes: si el mensaje del usuario describe directa y específicamente la acción exacta que Claude está a punto de tomar, el clasificador la permite incluso cuando una regla
soft_denycoincide.
allow cuando el clasificador marca repetidamente un patrón rutinario que las excepciones predeterminadas no cubren. Para endurecer, agregue a soft_deny para riesgos destructivos específicos de su entorno que los valores predeterminados pierden, o a hard_deny para límites de seguridad que nunca deben cruzarse.
Para mantener las reglas integradas mientras agrega las suyas propias, incluya la cadena literal "$defaults" en la matriz. Las reglas predeterminadas se insertan en esa posición, por lo que sus reglas personalizadas pueden ir antes o después de ellas, y continúa heredando actualizaciones a medida que la lista integrada cambia en las versiones.
Establecer cualquiera de
environment, allow, soft_deny o hard_deny sin "$defaults" reemplaza la lista predeterminada completa para esa sección. Una matriz soft_deny sin "$defaults" descarta todas las reglas de bloqueo integradas, incluido force push, curl | bash y despliegues de producción. Una matriz hard_deny sin "$defaults" descarta las reglas integradas de exfiltración de datos y omisión de verificación de seguridad.environment solo deja intactas las listas predeterminadas allow, soft_deny y hard_deny. Solo omita "$defaults" cuando tenga la intención de asumir la propiedad completa de la lista. Para hacerlo de forma segura, ejecute claude auto-mode defaults para imprimir las reglas integradas, cópielas en su archivo de configuración, luego revise cada regla contra su propia canalización y tolerancia al riesgo.
Inspeccione los valores predeterminados y su configuración efectiva
Tres subcomandos de CLI lo ayudan a inspeccionar y validar su configuración. Imprima las reglasenvironment, allow, soft_deny y hard_deny integradas como JSON:
allow, soft_deny y hard_deny personalizadas:
claude auto-mode config después de guardar su configuración para confirmar que las reglas efectivas son las que espera, con "$defaults" expandido en su lugar. Si ha escrito reglas personalizadas, claude auto-mode critique las revisa y marca entradas que son ambiguas, redundantes o probables que causen falsos positivos. Si necesita eliminar o reescribir una regla integrada en lugar de agregar una junto a ella, guarde la salida de claude auto-mode defaults en un archivo, edite las listas y pegue el resultado en su archivo de configuración en lugar de "$defaults".
Review denials
Cuando el modo automático deniega una llamada de herramienta, la denegación se registra en/permissions bajo la pestaña Denegados recientemente. Presione r en una acción denegada para marcarla para reintentar: cuando salga del diálogo, Claude Code envía un mensaje indicando al modelo que puede reintentar esa llamada de herramienta y reanuda la conversación.
Las denegaciones repetidas para el mismo destino generalmente significan que el clasificador carece de contexto. Agregue ese destino a autoMode.environment, luego ejecute claude auto-mode config para confirmar que surtió efecto.
Para reaccionar a las denegaciones mediante programación, utilice el hook PermissionDenied.
See also
- Permission modes: qué es el modo automático, qué bloquea de forma predeterminada y cómo habilitarlo
- Managed settings: implemente la configuración
autoModeen toda su organización - Permissions: reglas de permiso, pregunta y denegación que se aplican antes de que se ejecute el clasificador
- Settings: la referencia de configuración completa, incluida la clave
autoMode