SpyBara
Go Premium

auto-mode-config.md 2026-11-10 21:57 UTC to 2026-11-11 22:59 UTC

This page contains 18 additions and 16 deletions.

2026
Mon 2 23:57 Wed 11 22:59

Configurar el modo automático

Indique al clasificador del modo automático qué repositorios, buckets y dominios confía su organización. Establezca el contexto del entorno, anule las reglas de bloqueo y permiso predeterminadas e inspeccione su configuración efectiva con los subcomandos de la CLI del modo automático.

El modo automático permite que Claude Code se ejecute sin solicitudes de permiso rutinarias al enrutar las llamadas de herramientas a través de un clasificador que bloquea cualquier cosa irreversible, destructiva o dirigida fuera de su entorno. Las reglas de denegación y solicitud explícita se evalúan antes del clasificador y aún bloquean o solicitan. 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.

[!NOTE]

Esta página es la referencia de configuración. Activar y desactivar el modo automático se cubre en la página Modos de permiso:

El modo automático está disponible para todos los usuarios en cada proveedor, incluida la API de Anthropic, Claude Platform en AWS, Amazon Bedrock, la plataforma de agentes de Google Cloud, Microsoft Foundry y sesiones de puerta de enlace de aplicaciones Claude con sesión iniciada. 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 admitidos y el control a nivel de organización en planes de equipo y empresa.

De forma predeterminada, el clasificador confía solo en el directorio de trabajo y en los remotos configurados del repositorio actual. Las acciones como insertar en la organización de control de código fuente de su empresa o escribir en un bucket de nube de equipo se bloquean hasta que las agregue a autoMode.environment.

Esta página cubre cómo:

Límites comunes

El modo automático permite inserciones en cualquier rama del repositorio en el que está trabajando, incluida la rama predeterminada, y creación de solicitudes de extracción de forma predeterminada. Una rama no predeterminada cuyo nombre la marca como destino de implementación o publicación, como production, release o gh-pages, no está cubierta por ese valor predeterminado: el clasificador juzga una inserción allí en sus propios términos, incluso como una implementación de producción. El contenido de la inserción también se sigue verificando, por lo que una inserción forzada, un secreto que entra en la confirmación o un cambio que enviaría secretos fuera del repositorio cuando CI o una canalización de implementación lo ejecuta permanece bloqueado.

Si desea un punto de control humano antes de cada inserción o solicitud de extracción de Claude, agregue reglas de permisos: las recetas a continuación mantienen el modo automático activado para todo lo demás.

Agregar un punto de control humano

El mecanismo más directo es permissions.ask. Las reglas de solicitud con alcance de contenido como las que se muestran a continuación se evalúan antes del clasificador y siempre fuerzan un aviso de permiso, incluso en modo automático, porque una regla de solicitud explícita es su intención declarada de ser solicitado para esa acción. Agregue las reglas en su configuración:

{
  "permissions": {
    "ask": [
      "Bash(git push *)",
      "Bash(gh pr create *)"
    ]
  }
}

Estas reglas coinciden con comandos que comienzan con git push o gh pr create. Una inserción que Claude escribe de otra manera, como git -C <dir> push o git -c <key>=<value> push, no coincide con la regla, por lo que no se somete a punto de control. Para un punto de control que inspeccione el texto completo del comando, agregue un hook PreToolUse.

Elija el mecanismo que se ajuste a lo firme que deba ser el límite:

Límite Mecanismo Comportamiento en modo automático
Solicitar antes de la acción permissions.ask Siempre solicita para un comando que coincida con una regla con alcance de contenido como la receta anterior. El clasificador no puede aprobar automáticamente una acción coincidente.
Nunca ejecutar la acción permissions.deny Bloquea antes de que se consulte el clasificador. Ni el clasificador ni la intención del usuario pueden anularlo.
Límite único para esta sesión Indíquelo en la conversación, como "no inserte hasta que revise" El clasificador bloquea las acciones coincidentes, pero el límite se puede perder si la compactación de contexto elimina el mensaje que lo indicaba. Utilice una regla de solicitud o denegación para una garantía duradera.

Dónde el clasificador lee la configuración

El clasificador lee el mismo contenido de CLAUDE.md que Claude carga, por lo que una instrucción como "nunca hagas push forzado" en el CLAUDE.md de su proyecto dirige tanto a Claude como al clasificador al mismo tiempo. Comience allí para las convenciones del proyecto y las reglas de comportamiento.

Para las reglas que se aplican en todos los proyectos, como la infraestructura de confianza o las reglas de denegación en toda la organización, utilice el bloque de configuración autoMode. El clasificador lee autoMode de los siguientes ámbitos:

Ámbito Archivo Usar para
Un desarrollador ~/.claude/settings.json Infraestructura de confianza personal
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

El clasificador no lee autoMode de la configuración del proyecto en .claude/settings.json o .claude/settings.local.json. Ambos archivos residen en el directorio del repositorio, por lo que un repositorio registrado o un paso de compilación podría inyectar sus propias reglas de permiso. Mueva cualquier bloque autoMode en .claude/settings.local.json a ~/.claude/settings.json.

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 las 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.

[!NOTE]

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 configurar. Le 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.

claude auto-mode defaults imprime tres tipos de entrada de entorno.

  • Espacios de contexto: describen su organización, stack y postura de seguridad para que el clasificador lea las otras reglas en su contexto. Cada uno tiene como valor predeterminado None configured o la suposición conservadora nombrada junto a él:
    • Organización

    • Uso principal de Claude Code: tiene como valor predeterminado desarrollo de software

    • Proveedor(es) de nube

    • Visibilidad del repositorio: se asume que un repositorio es privado a menos que su host remoto y nombre indiquen lo contrario, o el clasificador lea una verificación de visibilidad anterior en la conversación que muestre que es público.

      En las solicitudes del clasificador enviadas por Claude Code mismo, el clasificador lee sus mensajes y los comandos que ejecuta Claude, no su salida. La evidencia tiene que ser algo que el clasificador pueda leer, como su propio mensaje nombrando el repositorio como público; la salida de un gh repo view por sí sola no llega a él.

    • Intercambio interno / alojamiento de fragmentos: los servicios públicos de paste y gist se tratan como fuera del límite de confianza hasta que nombre uno

    • CLI específicas de la organización

    • Gestión de secretos

    • Objetivos de implementación de CI/CD

    • Postura de red

    • Contención de host: tiene como valor predeterminado una máquina de desarrollador ordinaria o ejecutor de CI con internet abierto. Si Claude Code se ejecuta en un contenedor, VM o pod con una lista de permitidos de salida o vecinos que no debe tocar, nombre los hosts permitidos, si el punto final de metadatos de nube debe ser accesible, y qué proyecto de nube, clúster o registro utiliza la tarea y bajo qué identidad. Hasta que esta entrada nombre esa identidad, el clasificador bloquea solicitudes de las propias credenciales del host. Requiere Claude Code v2.1.257 o posterior

    • Espacios de nombres / entornos de implementación protegidos: recurre a la heurística de objetivos remotos sensibles hasta que los nombre

    • Retención de datos / desclasificación

  • Espacios de confianza: nombre lo que el clasificador trata como dentro de su límite. Los espacios son Repositorio de confianza, Control de fuente, Dominios internos de confianza, Buckets de nube de confianza, Servicios internos clave y Registro de paquetes interno. Las entradas de repositorio y control de fuente tienen como valor predeterminado el repositorio de trabajo y sus remotos configurados. Todos los demás espacios de confianza tienen como valor predeterminado None configured, por lo que nada más es de confianza hasta que lo agregue. La visibilidad de un repositorio solo abarca material confidencial: un repositorio privado es un destino aceptable para material confidencial, pero hacer un repositorio privado nunca borra secretos o datos personales o confiados en él, y el clasificador trata el contenido portado, reapuntado o leído por primera vez desde fuera del repositorio de trabajo como no siendo trabajo propio de ese repositorio.
  • Espacios de sensibilidad: nombre lo que las reglas de protección tratan como de alto riesgo. Los espacios son Ubicaciones de datos sensibles y audiencias, Objetivos remotos sensibles y Alcances de IaC protegidos. Cada uno tiene como valor predeterminado una heurística amplia, como tratar cualquier host o espacio de nombres cuyo nombre lleve prod o production como un objetivo remoto sensible, por lo que las reglas de protección están activas antes de que configure nada. Nombrar objetivos concretos en un espacio de sensibilidad hace que esas reglas se apliquen a los objetivos nombrados en lugar de la heurística.

Para agregar sus propias entradas junto a los valores predeterminados, 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.

El siguiente ejemplo mantiene las entradas predeterminadas y agrega los repositorios, buckets, dominios y servicios de una organización.

{
  "autoMode": {
    "environment": [
      "$defaults",
      "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"
    ]
  }
}

Después de guardar su configuración, ejecute claude auto-mode config para confirmar que las reglas efectivas incluyen sus entradas.

Las entradas son prosa, no regex o patrones de herramientas. El clasificador las lee como reglas en lenguaje natural. Escríbalas de la manera en que describiría 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 fuente: cada organización de GitHub, GitLab o Bitbucket a la que sus desarrolladores hacen push
  • Proveedores de nube y buckets de confianza: nombres de buckets o prefijos a los 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
  • Registro de paquetes interno: el registro privado de npm, PyPI u otro que las instalaciones deben enrutar, por lo que las instalaciones que lo omiten para un registro público se bloquean
  • Ubicaciones de datos sensibles y audiencias: los buckets, bases de datos o rutas que contienen datos personales, datos comerciales confidenciales, credenciales, datos regulados o material similar sensible, y las audiencias con las que se pueden compartir los datos en cada ubicación, para que el clasificador proteja esas ubicaciones en lugar de adivinar por contenido.
  • Objetivos remotos sensibles: los espacios de nombres, hosts o contenedores que cuentan como producción, por lo que los shells remotos y port-forwards en ellos necesitan su aprobación explícita
  • Alcances de IaC protegidos: los recursos de infraestructura cuya aplicación o destrucción siempre debe requerir que nombre el cambio
  • 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 cualquier línea que no se aplique.

{
  "autoMode": {
    "environment": [
      "$defaults",
      "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}"
    ]
  }
}

No necesita completar todo de una vez. Un despliegue razonable: comience con los valores predeterminados y agregue su organización de control de fuente y servicios internos clave, lo que resuelve los falsos positivos más comunes como hacer push a sus propios repositorios. Agregue dominios de confianza y buckets de nube a continuación. Complete el resto a medida que surjan bloqueos.

Genera entradas de entorno con /auto-mode-setup

Ejecuta /auto-mode-setup para que Claude Code redacte entradas de autoMode.environment, y a veces también entradas de reglas, a partir de tu proyecto y de tus sesiones recientes en él. Si aceptas el borrador, Claude Code lo escribe en ~/.claude/settings.json.

[!NOTE]

/auto-mode-setup está disponible en los planes Pro, Max, Ultra, Team y Enterprise y con una clave de API de Claude Console. En un plan Pro, Max, Ultra o Team, necesitas la v2.1.228 o posterior, o la v2.1.233 o posterior en Windows nativo. En un plan Enterprise o con una clave de API de Claude Console, necesitas la v2.1.283 o posterior. Si el comando no aparece en tu sesión, consulta /auto-mode-setup devuelve "Unknown command".

Qué lee /auto-mode-setup

Si ~/.claude/settings.json ya contiene entradas de autoMode, Claude Code empieza preguntando si quieres agregar entradas a tu lista de entorno o reemplazarla, y conserva las reglas que escribiste en cualquier caso. Luego Claude Code te pregunta cómo usas este proyecto y te ofrece dos escaneos opcionales antes de escanear nada. En el escaneo, Claude Code siempre lee estas fuentes:

  • El CLAUDE.md, el README.md, los archivos de configuración y los remotos de Git de este proyecto
  • Tus ajustes autoMode y permissions.allow
  • Los hosts, buckets y nombres de comandos de los comandos que Claude ejecutó en tus sesiones recientes en este proyecto, nunca tus mensajes

Los dos escaneos opcionales agregan una fuente cada uno:

  • La primera palabra de cada comando en tu historial del shell
  • Los hosts remotos y los nombres de los repositorios dentro de tu directorio home

Revisa y guarda el borrador

Claude Code escanea en segundo plano y luego te muestra el borrador. Lo aceptas o lo descartas completo, así que edita ~/.claude/settings.json después para ajustar entradas individuales. Cuando lo aceptas, Claude Code escribe el borrador y lo concilia con la configuración que ya tienes:

  • Si elegiste agregar entradas a la lista environment de ~/.claude/settings.json, conservas cualquier entrada "$defaults" que contenga. Si elegiste reemplazar esa lista, pierdes esa entrada, así que vuelve a agregar "$defaults" si quieres las entradas predeterminadas
  • Claude Code incluye "$defaults" en cada una de las listas allow, soft_deny y hard_deny a las que el borrador agrega entradas, a menos que ya hayas escrito una lista allow sin él, para que las reglas integradas que no reemplazaste sigan vigentes
  • Después de guardar, Claude Code te ofrece eliminar de ~/.claude/settings.json las reglas de permissions.allow que el modo automático ignora, como Bash(*), o que aprueban automáticamente comandos destructivos

Luego ejecuta claude auto-mode config para ver el resultado efectivo.

Desactiva /auto-mode-setup

Una vez que el modo automático ha bloqueado varias acciones y todavía no tienes entradas en autoMode.environment, Claude Code muestra al final de un turno un diálogo titulado "Teach auto mode about your environment?" y te ofrece ejecutar /auto-mode-setup por ti. Para dejar de ver la oferta pero conservar el comando, selecciona Don't show again en ese diálogo.

Para desactivar tanto el comando como la oferta, agrega esta entrada de skillOverrides a ~/.claude/settings.json:

{
  "skillOverrides": {
    "auto-mode-setup": "off"
  }
}

/auto-mode-setup es un comando integrado y no un skill incluido, así que esta entrada de skillOverrides sí se le aplica, pero disableBundledSkills no lo desactiva.

/auto-mode-setup devuelve "Unknown command"

Si al escribir /auto-mode-setup en el prompt de Claude Code aparece Unknown command: /auto-mode-setup, revisa estas causas:

En una sesión en la nube, el comando muestra en cambio /auto-mode-setup isn't available in this environment.. Ejecútalo en una sesión interactiva en tu terminal.

Sobrescribir las reglas de bloqueo y permiso

Tres campos adicionales te permiten reemplazar las listas de reglas integradas del clasificador:

  • autoMode.hard_deny: acciones que se bloquean incluso cuando el usuario las solicita
  • autoMode.soft_deny: acciones destructivas que la intención del usuario puede autorizar
  • autoMode.allow: excepciones a las reglas de bloqueo suave

Cada uno es una matriz de descripciones en prosa, leídas como reglas en lenguaje natural. Para bloqueos estrictos basados en patrones de herramientas que se ejecutan antes del clasificador, usa permissions.deny.

Dentro del clasificador, la precedencia funciona en cuatro niveles:

  • Las reglas hard_deny bloquean incondicionalmente. La intención del usuario y las excepciones allow no se aplican.
  • Las reglas soft_deny bloquean a continuación. La intención del usuario y las excepciones allow pueden sobrescribirlas.
  • Las reglas allow luego sobrescriben las reglas soft_deny coincidentes como excepciones.
  • La intención explícita del usuario sobrescribe 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_deny coincide.

Las solicitudes generales no cuentan como intención explícita. Pedirle a Claude que "limpie el repositorio" no autoriza un force-push, pero pedirle que "haga force-push de esta rama" sí lo autoriza.

Para flexibilizar, agrega a allow cuando el clasificador marque repetidamente un patrón habitual que las excepciones predeterminadas no cubren. Para endurecer, agrega a soft_deny para riesgos destructivos específicos de tu entorno que los valores predeterminados no contemplan, o a hard_deny para acciones que se deben bloquear incluso cuando el usuario las solicita.

Para mantener las reglas integradas mientras agregas las tuyas, incluye la cadena literal "$defaults" en la matriz. Las reglas predeterminadas se insertan en esa posición, por lo que tus reglas personalizadas pueden ir antes o después de ellas, y sigues heredando las actualizaciones a medida que la lista integrada cambia entre versiones.

El siguiente ejemplo mantiene los valores predeterminados en las cuatro listas y agrega reglas específicas de la organización a cada una.

{
  "autoMode": {
    "environment": [
      "$defaults",
      "Source control: github.example.com/acme-corp and all repos under it"
    ],
    "allow": [
      "$defaults",
      "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": [
      "$defaults",
      "Never run database migrations outside the migrations CLI, even against dev databases",
      "Running terraform apply in infra/terraform/prod/ needs an explicit request: production infrastructure changes go through the review workflow"
    ],
    "hard_deny": [
      "$defaults",
      "Never send repository contents to third-party code-review APIs"
    ]
  }
}

[!CAUTION]

Establecer cualquiera de environment, allow, soft_deny o hard_deny sin "$defaults" reemplaza la lista predeterminada completa para esa sección. Si estableces una matriz sin "$defaults", descartas las reglas integradas para esa sección:

  • soft_deny: todas las reglas de bloqueo suave integradas, incluidos force push, curl | bash, despliegues de producción y omisión del modo automático
  • hard_deny: la regla integrada de exfiltración de datos

Cada sección se evalúa de forma independiente, por lo que establecer solo environment deja intactas las listas predeterminadas allow, soft_deny y hard_deny.

Omite "$defaults" solo cuando tengas la intención de asumir la propiedad completa de la lista. Para hacerlo de forma segura, ejecuta claude auto-mode defaults para imprimir las reglas integradas, cópialas en tu archivo de configuración y luego revisa cada regla en función de tu propio pipeline y tu tolerancia al riesgo.

Editar reglas desde /permissions

Para ver y editar reglas de clasificador y entradas de environment sin abrir un archivo de configuración, ejecute /permissions y seleccione la pestaña Auto mode. La pestaña requiere Claude Code v2.1.246 o posterior, y aparece solo cuando el modo automático está disponible para su sesión.

Claude Code muestra entradas de configuración administrada o la bandera --settings como solo lectura, y guarda cada cambio que realiza en la pestaña en ~/.claude/settings.json.

Enrutar todos los comandos de shell a través del clasificador

De forma predeterminada, las reglas estrechas de Bash y PowerShell como Bash(npm test) permanecen en vigor en modo automático. Claude Code las resuelve antes de que se ejecute el clasificador, a menos que el comando lleve dominios permitidos por comando. Claude Code suspende solo las reglas amplias que otorgan ejecución de código arbitrario, como Bash(*) o intérpretes con comodines, junto con cada regla que nombra Monitor, porque los comandos Monitor se ejecutan a través del shell. Esto significa que una regla estrecha aún puede dejar pasar un argumento destructivo sin que el clasificador lo vea, por ejemplo una ruta de script o bandera que el prefijo de la regla no anticipó.

Establezca autoMode.classifyAllShell en true para suspender cada regla de permiso de Bash y PowerShell mientras el modo automático está activo, de modo que el clasificador evalúe cada comando de shell independientemente de su lista de permisos, excepto eliminaciones de rutas críticas.

{
  "autoMode": {
    "classifyAllShell": true
  }
}

Esto intercambia latencia por cobertura: un comando que una regla de permiso habría aprobado instantáneamente ahora espera una decisión del clasificador, y cada comando de shell cuenta como una llamada al clasificador.

La configuración se aplica solo mientras el modo automático está activo, y sus reglas de permiso se comportan normalmente en otros modos de permisos.

Inspeccione los valores predeterminados y su configuración efectiva

Los subcomandos claude auto-mode le ayudan a inspeccionar, validar y restablecer su configuración.

Imprima las reglas integradas environment, allow, soft_deny y hard_deny como JSON:

claude auto-mode defaults

Para leer la redacción completa de una regla sin canalizar a través de jq, pasa --label con el inicio de la etiqueta de la regla, como claude auto-mode defaults --label 'Git Destructive'. La coincidencia es un prefijo que no distingue mayúsculas de minúsculas en la etiqueta de cada regla, y las secciones sin coincidencia se imprimen como listas vacías.

Imprima lo que el clasificador realmente utiliza como JSON, con su configuración aplicada donde esté establecida y valores predeterminados en caso contrario:

claude auto-mode config

Tanto defaults como config imprimen las cuatro listas de reglas como un único objeto JSON, con cada regla como una cadena de prosa. Este es un ejemplo truncado:

{
  "allow": [
    ...
    "Test Artifacts: Hardcoded test API keys, placeholder credentials in examples, or hardcoding test cases. Placeholder means authored as a placeholder — a file or value copied from a real secret or sensitive path is never a test artifact (see Sensitive-Source Provenance).",
    ...
  ],
  "soft_deny": [
    "Git Destructive [named+specifics — **must name:** the destructive operation and its target]: Force pushing (`git push --force`), deleting remote branches, tags, or releases, or rewriting remote history. Also `git commit --amend` when the commit being rewritten is not the agent's own unpushed work: either no prior `git commit` is visible (HEAD pre-dates the session), or a `git push` of the current branch is visible after the most recent commit (it has been pushed). Clears when the user asked to amend/reword/fixup, or when it is a message-only reword (`--amend -m …`, nothing newly staged) of a commit the agent visibly created this session.",
    ...
  ],
  "hard_deny": [...],
  "environment": [
    ...
    "**Trusted repo**: The git repository the agent started in (its working directory) and its configured remote(s). When the repo's public/private visibility is given — by the Repository visibility entry or the user's own message — use it to scope what is OK to commit or push there: confidential material is fine in a private repo; in a public one, only that repo's own work is — and content ported, repointed, or first read from outside this session's repo is not its own work, whoever directed the port. Visibility scopes confidential material only: secrets and sensitive data (personal & entrusted) are never cleared into any repo by its visibility (see Definitions).",
    ...
  ]
}

Obtén comentarios de IA sobre tus entradas personalizadas allow, soft_deny, hard_deny y environment:

claude auto-mode critique

Si ha escrito reglas personalizadas, claude auto-mode critique las revisa y marca las entradas que son ambiguas, redundantes o que probablemente causen falsos positivos.

Para descartar tus personalizaciones y volver a los valores predeterminados integrados, ejecuta el subcomando reset, que elimina la sección autoMode de tu archivo de configuración de usuario:

claude auto-mode reset

El comando resume lo que eliminará y pregunta Reset auto mode configuration to defaults? antes de escribir; pase --yes para omitir la confirmación. Reset cambia solo ~/.claude/settings.json: las reglas autoMode de configuración administrada por el servidor o la bandera --settings aún se aplican.

Revisar denegaciones

Para permitir que Claude reintente una acción bloqueada, usa la pestaña Recently blocked en /permissions:

1. Abre la pestaña

Ejecuta /permissions en tu sesión para abrir el diálogo de permisos y luego selecciona la pestaña Recently blocked.

2. Revisa la acción

Resalta la fila de la acción y lee su comando o entrada debajo de la lista. Guíate por el comando o la entrada, no por la descripción de la fila, que escribió Claude o la herramienta.

3. Aprueba la acción

Presiona r para aprobar la acción y permitir que Claude la reintente.

4. Cierra el diálogo

Presiona Esc para cerrar el diálogo y aplicar tu aprobación. Si Claude estaba trabajando cuando abriste /permissions, envía un mensaje cuando Claude termine para permitir que Claude reintente la acción. De lo contrario, no necesitas enviar nada: Claude continúa de inmediato y puede reintentarla. Si no lo hace, menciona la acción en tu próximo mensaje, como se describe en Aprobaciones que indicas en la conversación.

Aprobar una acción no agrega una regla de permisos. En el modo automático, una acción reintentada vuelve a pasar por la verificación, por lo que puede bloquearse de nuevo. Para permitir un comando de ahora en adelante, agrega una regla allow.

Si no quieres que Claude reintente de inmediato, puedes aprobar una acción para más tarde, retirar una aprobación o cerrar el diálogo y descartar tus aprobaciones:

  • Aprobar para más tarde: presiona Enter en la fila y luego Esc. La fila sale de la pestaña, y Claude puede reintentar la acción después de tu próximo mensaje, una vez que Claude termine. Si también presionaste r en otra fila, la fila donde presionaste Enter permanece en la pestaña y no se le informa a Claude sobre esa acción. Aprueba esa fila en tu próxima visita, o presiona r en ambas
  • Retirar una aprobación: antes de presionar Esc, presiona Enter en la fila, ya sea que la hayas aprobado con Enter o con r
  • Cerrar el diálogo y descartar tus aprobaciones: presiona Ctrl+C dos veces

No puedes aprobar una acción desde la pestaña cuando su fila no puede mostrar todo su comando o entrada, o cuando la acción no tiene fila:

  • La fila dice This row can't be approved here: si querías realizar la acción, díselo a Claude en tu próximo mensaje y Claude puede intentarla de nuevo
  • No hay fila, y aparece Not run o un error del clasificador en la conversación: el clasificador del modo automático no emitió ningún veredicto. Para ver cómo ejecutar la acción, consulta Auto mode cannot determine the safety of an action

Corregir una denegación con una regla de permiso, una entrada de entorno o un reintento

Los avisos se ven así: bash blocked by auto mode · /permissions · Auto mode: [Data Exfiltration]. Para leer el comando o la URL detrás de uno, usa la pestaña Recently blocked, un hook o la conversación:

  • Pestaña Recently blocked: resalta la fila de la acción. En el modo de lector de pantalla, todos los comandos y entradas aparecen antes de la lista.
  • Hook: para capturar la entrada exacta de las denegaciones mediante programación, agrega un hook PermissionDenied, que la recibe como tool_input. Si tu hook lee reason, espera que no haya prefijo Auto mode:, y un texto como Blocked by classifier en lugar de No reason provided.
  • Conversación: encuentra la llamada a herramienta. Si la llamada aparece acortada o plegada en una línea de resumen como Ran 3 shell commands (Ejecutó 3 comandos de shell), presiona Ctrl+O para abrir el visor de transcripción, que la expande.

El texto debajo de la llamada te indica si hay algo que corregir. Una fila atenuada Not run · auto mode's check had no usable answer, o un texto que reporta un problema con el clasificador en sí, como Auto mode could not evaluate this action, significa que Claude Code bloqueó la llamada sin un veredicto del clasificador. Para una fila Not run, presiona Ctrl+O para leer el mensaje completo y luego consulta Auto mode cannot determine the safety of an action (El modo automático no puede determinar la seguridad de una acción) o The server returned no safety verdict (El servidor no devolvió ningún veredicto de seguridad) para saber qué hacer.

De lo contrario, una línea Blocked by auto mode significa que el clasificador juzgó la llamada como insegura. Para permitir la llamada, sigue el paso que corresponda a lo que Claude intentaba alcanzar o hacer:

  • Un destino que Claude necesita durante toda la tarea, como un registro de paquetes, un dominio interno o un host de repositorio: agréguelo a autoMode.environment.
  • Un comando que desea ejecutar sin revisión de ahora en adelante: agregue una regla allow.
  • Una acción única que tenía la intención de hacer: indique esa intención en su próximo mensaje y deje que Claude reintente.

Puede agregar la entrada de entorno o la regla allow desde la pestaña Auto mode del diálogo /permissions.

El texto entre corchetes, como [Data Exfiltration], es el nombre de la regla que el clasificador coincidió. Para leer la redacción completa de esa regla, consulte Inspeccionar los valores predeterminados y su configuración efectiva.

Corregir denegaciones repetidas

Las denegaciones repetidas para el mismo destino generalmente significan que al clasificador le falta contexto. Agregue ese destino a autoMode.environment, o ejecute /auto-mode-setup para que Claude Code redacte las entradas, luego ejecute claude auto-mode config para confirmar que el cambio surtió efecto.

Véase también

  • Modos de permiso: qué es el modo automático, qué bloquea de forma predeterminada y qué sesiones se inician en él
  • Configuración administrada: implemente la configuración de autoMode en toda su organización
  • Permisos: reglas de permitir, preguntar y denegar que se aplican antes de que se ejecute el clasificador
  • Todos los ajustes: todas las claves de configuración, incluida autoMode