Saltar al contenido principal
El modo automático permite que Claude Code se ejecute sin solicitudes de permiso al enrutar cada llamada de herramienta a través de un clasificador que bloquea cualquier cosa irreversible, destructiva o dirigida fuera de su entorno. Utilice el bloque de configuración 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. De forma predeterminada, el clasificador solo confía en el directorio de trabajo y en los remotos configurados del repositorio actual. Las acciones como enviar a la organización de control de código fuente de su empresa o escribir en un bucket de nube del equipo se bloquean hasta que las agregue a 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:

Where the classifier reads configuration

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ón autoMode. El clasificador lee autoMode de los siguientes ámbitos:
ÁmbitoArchivoUsar para
Un desarrollador~/.claude/settings.jsonInfraestructura de confianza personal
Un proyecto, un desarrollador.claude/settings.local.jsonBuckets o servicios de confianza por proyecto, gitignored
En toda la organizaciónConfiguración administradaInfraestructura de confianza distribuida a todos los desarrolladores
Bandera --settings o Agent SDKJSON en líneaAnulaciones por invocación para automatización
El clasificador no lee 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 y soft_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 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.

Define trusted infrastructure

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. Establecer environment reemplaza la lista de entorno predeterminada, que incluye la entrada que confía en el repositorio de trabajo y sus remotos. Ejecute claude auto-mode defaults para imprimir los valores predeterminados, luego inclúyalos junto con sus propias entradas para extender la lista en lugar de reducirla.
{
  "autoMode": {
    "environment": [
      "Source control: github.example.com/acme-corp and all repos under it",
      "Trusted cloud buckets: s3://acme-build-artifacts, gs://acme-ml-datasets",
      "Trusted internal domains: *.corp.example.com, api.internal.example.com",
      "Key internal services: Jenkins at ci.example.com, Artifactory at artifacts.example.com"
    ]
  }
}
Las entradas son prosa, no regex o patrones de herramientas. El clasificador las lee como reglas en lenguaje natural. Escríbalas como lo haría al describir su infraestructura a un nuevo ingeniero. Una sección de entorno exhaustiva cubre:
  • 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
Una plantilla de inicio útil: complete los campos entre corchetes y elimine las líneas que no se apliquen.
{
  "autoMode": {
    "environment": [
      "Organization: {COMPANY_NAME}. Primary use: {PRIMARY_USE_CASE, e.g. software development, infrastructure automation}",
      "Source control: {SOURCE_CONTROL, e.g. GitHub org github.example.com/acme-corp}",
      "Cloud provider(s): {CLOUD_PROVIDERS, e.g. AWS, GCP, Azure}",
      "Trusted cloud buckets: {TRUSTED_BUCKETS, e.g. s3://acme-builds, gs://acme-datasets}",
      "Trusted internal domains: {TRUSTED_DOMAINS, e.g. *.internal.example.com, api.example.com}",
      "Key internal services: {SERVICES, e.g. Jenkins at ci.example.com, Artifactory at artifacts.example.com}",
      "Additional context: {EXTRA, e.g. regulated industry, multi-tenant infrastructure, compliance requirements}"
    ]
  }
}
Cuanto más contexto específico proporcione, mejor podrá el clasificador distinguir operaciones internas rutinarias de intentos de exfiltración. No necesita completar todo de una vez. Un despliegue razonable: comience con los valores predeterminados y agregue su organización de control de código fuente y servicios internos clave, lo que resuelve los falsos positivos más comunes como enviar a sus propios repositorios. Agregue dominios de confianza y buckets de nube a continuación. Complete el resto a medida que surjan bloqueos.

Override the block and allow rules

Dos campos adicionales le permiten reemplazar las listas de reglas integradas del clasificador: autoMode.soft_deny controla qué se bloquea, y autoMode.allow controla qué excepciones se aplican. Cada uno es una matriz de descripciones en prosa, leídas como reglas en lenguaje natural. No hay un campo autoMode.deny; para bloquear una acción de forma permanente independientemente de la intención, utilice permissions.deny, que se ejecuta antes del clasificador. Dentro del clasificador, la precedencia funciona en tres niveles:
  • Las reglas soft_deny bloquean primero
  • Las reglas allow luego anulan los bloqueos coincidentes como excepciones
  • La intención explícita del usuario anula ambas: 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_deny coincide
Las solicitudes generales no cuentan como intención explícita. Pedirle a Claude que “limpie el repositorio” no autoriza force-push, pero pedirle que “force-push esta rama” sí.
Establecer cualquiera de environment, allow o soft_deny reemplaza la lista predeterminada completa para esa sección. Si establece soft_deny con una sola entrada, se descartan todas las reglas de bloqueo integradas: force push, exfiltración de datos, curl | bash, despliegues de producción y todas las demás reglas de bloqueo predeterminadas se permiten. Para personalizar 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. Solo elimine reglas para riesgos que su infraestructura ya mitiga.
Para flexibilizar: elimine reglas de soft_deny cuando los valores predeterminados bloqueen algo que su canalización ya protege con revisión de PR, CI o entornos de ensayo, o agregue a allow cuando el clasificador marca repetidamente un patrón rutinario que las excepciones predeterminadas no cubren. Para endurecer: agregue a soft_deny para riesgos específicos de su entorno que los valores predeterminados pierden, o elimine de allow para mantener una excepción predeterminada a las reglas de bloqueo. En todos los casos, ejecute claude auto-mode defaults para obtener las listas predeterminadas completas, luego copie y edite: nunca comience con una lista vacía.
{
  "autoMode": {
    "environment": [
      "Source control: github.example.com/acme-corp and all repos under it"
    ],
    "allow": [
      "Deploying to the staging namespace is allowed: staging is isolated from production and resets nightly",
      "Writing to s3://acme-scratch/ is allowed: ephemeral bucket with a 7-day lifecycle policy"
    ],
    "soft_deny": [
      "Never run database migrations outside the migrations CLI, even against dev databases",
      "Never modify files under infra/terraform/prod/: production infrastructure changes go through the review workflow",
      "...copy full default soft_deny list here first, then add your rules..."
    ]
  }
}
Cada sección reemplaza solo su propio valor predeterminado, por lo que establecer environment solo deja intactas las listas predeterminadas allow y soft_deny.

Inspect the defaults and your effective config

Debido a que establecer cualquiera de las tres matrices reemplaza sus valores predeterminados, comience cualquier personalización copiando las listas predeterminadas completas. Tres subcomandos de CLI lo ayudan a inspeccionar y validar. Imprima las reglas environment, allow y soft_deny integradas como JSON:
claude auto-mode defaults
Imprima lo que el clasificador realmente utiliza como JSON, con su configuración aplicada donde se establece y valores predeterminados en caso contrario:
claude auto-mode config
Obtenga retroalimentación de IA sobre sus reglas allow y soft_deny personalizadas:
claude auto-mode critique
Guarde la salida de claude auto-mode defaults en un archivo, edite las listas para que coincidan con su política y pegue el resultado en su archivo de configuración. Después de guardar, ejecute claude auto-mode config para confirmar que las reglas efectivas son las que espera. Si ha escrito reglas personalizadas, claude auto-mode critique las revisa y marca entradas que son ambiguas, redundantes o probables que causen falsos positivos.

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 autoMode en 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