Skip to main content
La configuración administrada es la configuración que su organización implementa en la máquina de cada desarrollador. Claude Code la aplica por encima de todos los demás niveles, por lo que ningún valor de usuario, proyecto, local o --settings la anula, excepto por algunas excepciones sensibles a la seguridad donde un valor más restrictivo de un nivel inferior aún cuenta. Esta página es para el administrador que implementa la configuración administrada o depura por qué una no se está aplicando. Para decidir qué aplicar, comience con la tabla Decidir qué aplicar. Para la ruta de la consola claude.ai, consulte Configuración administrada por servidor. Para saber en qué archivo van los valores propios de un desarrollador, consulte Configuración.

Implementar un archivo de configuración administrada

Esta es la forma más rápida de poner una política en cada máquina: un archivo managed-settings.json. Si aún no ha elegido cómo entregar la configuración administrada, o sus dispositivos están bajo MDM o los desarrolladores ejecutan sesiones en la nube, lea primero Elegir un mecanismo de entrega.
1

Escribir managed-settings.json

Escriba un managed-settings.json que contenga las claves que ha decidido aplicar, en la misma forma JSON que settings.json. La tabla Decidir qué aplicar enumera las claves detrás de cada control, y cada entrada en la referencia de configuración dice si una fuente administrada puede establecerla. Este archivo bloquea dos lecturas de archivo, desactiva el modo de omisión y hace que Claude Code ignore las reglas de permisos de archivos de usuario, proyecto y local y de --allowedTools:
managed-settings.json
Para un ejemplo más completo que muestre la forma de más claves administradas, incluido el método de inicio de sesión, modelos, servidores MCP y mercados, consulte Configuración administrada de una organización.
2

Colocar el archivo en cada máquina

Guarde el archivo como managed-settings.json en el directorio del sistema para el sistema operativo, utilizando cualquier herramienta que ya coloque archivos en su flota:
  • macOS: /Library/Application Support/ClaudeCode/managed-settings.json
  • Linux y WSL: /etc/claude-code/managed-settings.json
  • Windows: C:\Program Files\ClaudeCode\managed-settings.json
3

Confirmar que la política se aplicó

En una máquina, ejecute /status dentro de Claude Code. La línea Setting sources muestra Enterprise managed settings (file). Implemente en el resto de la flota después de eso; Verificar que una política está en vigor cubre qué mirar cuando falta la línea.

Elegir un mecanismo de entrega

El archivo en los pasos anteriores es una de cuatro formas de obtener la configuración administrada en una máquina. Cada mecanismo lleva las mismas claves de política que un archivo settings.json, por lo que la referencia de configuración se aplica a todos ellos. Algunas claves están vinculadas a fuentes particulares, y la línea Scope de cada entrada dice cuál: Un archivo de configuración administrada, un perfil MDM o la consola claude.ai aplica una política a todos los que alcanza. Para dar a un grupo de desarrolladores una política diferente, implemente un archivo o perfil diferente en ese grupo; la consola claude.ai aún no puede dirigirse a un grupo, mientras que una puerta de enlace de aplicaciones Claude autohospedada entrega la configuración administrada por grupo de IdP. Cuando más de un mecanismo entrega una política a la misma máquina, Claude Code por defecto usa uno e ignora los otros. Cómo Claude Code combina fuentes administradas da el orden y la opción de participación que aplica cada fuente. Las filas MDM y archivo se llaman juntas configuración administrada en el punto final, porque la política se almacena en el dispositivo del desarrollador, a diferencia de la fila administrada por servidor, donde Claude Code la obtiene. Elija un mecanismo según cómo ya administre dispositivos, usando la tabla a continuación. Las plantillas de inicio para Jamf, Iru, Intune y Group Policy están en el repositorio de ejemplos de MDM. Si tu organización tiene aplicada la configuración HIPAA, consulta settings-hipaa.json y README-hipaa.md en el repositorio de ejemplos de configuración para ver un managed-settings.json más completo con sandboxing, una lista de dominios permitidos de red, protecciones de credenciales y retención local de datos. Para servidores MCP administrados, que implementa junto con cualquiera de estos a través de managed-mcp.json o proporciona a través de la clave managedMcpServers, consulte Configuración MCP administrada.

Dónde y cuándo se aplica una política

Una política implementada llega a las sesiones del desarrollador de la siguiente manera:
  • Superficies: en la máquina del desarrollador, la terminal, las extensiones de VS Code y JetBrains, la pestaña Code de la aplicación de escritorio y las sesiones de Agent SDK leen todas estas fuentes. Las sesiones de Agent SDK cargan la configuración administrada incluso cuando settingSources excluye los archivos de usuario, proyecto y local.
  • Sesiones en la nube: una sesión en un entorno alojado por Anthropic no lee un perfil MDM o archivo de dispositivo, por lo que la política para ella debe provenir de la configuración administrada por servidor. Una sesión en un entorno autohospedado también lee el archivo de configuración administrada en su imagen de ejecutor, por defecto solo cuando la configuración administrada por servidor no entrega ninguna clave de política, aparte de las claves que Claude Code lee de cada fuente de administrador. Cómo Claude Code combina fuentes administradas cubre la opción de participación que aplica ambas.
  • Sesiones de Claude Tag: las sesiones de Claude Tag se ejecutan en entornos en la nube pero no reciben configuración administrada por servidor. En un entorno autohospedado, aún leen el archivo de configuración administrada en la imagen del ejecutor. Configure Claude Tag en los ajustes de administrador de Claude Tag.
  • Sesiones de Cowork: Cowork en la aplicación Claude Desktop ejecuta sus sesiones en Claude Code. En una sesión de Cowork, Claude Code nunca obtiene la configuración administrada por servidor de la consola de administración de claude.ai, incluso cuando el usuario inicia sesión con una cuenta de Team o Enterprise, por lo que la política que se aplica depende de dónde se ejecute la sesión:
    • En la máquina del usuario: por defecto, Claude Code en una sesión de Cowork lee la política MDM o a nivel de SO y el archivo de configuración administrada en ese dispositivo, así que implemente la política allí.
    • En un sandbox de VM completa: cuando su configuración administrada de Claude Desktop establece requireCoworkFullVmSandbox, Claude Code se ejecuta dentro de una máquina virtual donde la política MDM del dispositivo y el archivo de configuración administrada no están presentes.
    • Sesiones remotas de Cowork: se ejecutan en máquinas virtuales administradas por Anthropic, donde Claude Code no tiene política de dispositivo para leer.
    Dondequiera que se ejecute la sesión, claude.ai aplica por sí mismo las listas strictKnownMarketplaces y blockedMarketplaces de la consola de administración cuando alguien agrega un marketplace desde un repositorio de git en claude.ai o desde Personalizar en Cowork. Cómo funcionan las restricciones describe esa verificación. La tabla cobertura de superficie compara Cowork con las otras superficies.
  • Sesiones en ejecución: la mayoría de los cambios llegan a una sesión en ejecución en el cronograma de la tabla de mecanismo de entrega, sin un reinicio.
  • Cambios que necesitan aprobación: aparte de las actualizaciones que esperan el próximo lanzamiento, un cambio administrado por servidor en una configuración que necesita aprobación, como un hook o una variable env, espera a que el desarrollador acepte el diálogo en una sesión interactiva, y se aplica para la ejecución actual en una sesión que una extensión IDE o el Agent SDK aloja. Otros cambios administrados por servidor se aplican en el próximo sondeo.
  • Sesiones de larga duración: una sesión dejada abierta durante semanas aún puede retrasarse en un despliegue. requiredMinimumVersion bloquea un binario desactualizado de iniciarse y no termina una sesión que ya se está ejecutando.

Dónde cada mecanismo almacena la política

Las claves son las mismas en todas partes, pero cada mecanismo las almacena en un lugar y forma diferentes:
  • Administrada por servidor: los servidores de Anthropic, o su puerta de enlace, mantienen la política. Claude Code mantiene una caché local que aplica al inicio y reemplaza en cada obtención exitosa.
  • Perfil de configuración de macOS: el dominio de preferencias administradas com.anthropic.claudecode. Use las mismas claves de nivel superior que managed-settings.json, con configuraciones anidadas como diccionarios y listas como matrices plist.
  • Registro HKLM de Windows: el JSON como un valor REG_SZ o REG_EXPAND_SZ llamado Settings bajo HKLM\SOFTWARE\Policies\ClaudeCode.
  • Basado en archivo: managed-settings.json, un directorio opcional managed-settings.d/ y managed-mcp.json en el directorio del sistema: /Library/Application Support/ClaudeCode/ en macOS, /etc/claude-code/ en Linux y WSL, y C:\Program Files\ClaudeCode\ en Windows. Claude Code no lee la ruta heredada de Windows C:\ProgramData\ClaudeCode\managed-settings.json. Puedes implementar cualquiera de estos archivos como un enlace simbólico, y Claude Code lee el archivo al que apunta el enlace. La política se sigue aplicando cuando el enlace apunta fuera del directorio del sistema o Claude Code no puede confirmar que permanece dentro. En ese caso, aparece una advertencia que nombra el archivo en /status y claude doctor. Para eliminar la advertencia, apunta el enlace a un destino dentro del directorio del sistema.
  • Registro HKCU de Windows: el mismo valor Settings bajo HKCU\SOFTWARE\Policies\ClaudeCode.

Dividir una política basada en archivo entre equipos

Si varios equipos poseen partes de una política, coloque cada parte en su propio archivo en managed-settings.d/, junto a managed-settings.json en el mismo directorio del sistema, en lugar de editar un archivo compartido. Claude Code fusiona managed-settings.json primero, luego cada archivo *.json en el directorio en orden alfabético. Nombre los archivos con prefijos numéricos para controlar el orden, como 10-telemetry.json y 20-security.json. Claude Code ignora archivos ocultos y archivos que no terminan en .json. Cuando dos archivos establecen la misma clave, Claude Code los combina por estas reglas:
  • Valores únicos, como "model": "opus" o "cleanupPeriodDays": 7: el valor del archivo posterior reemplaza al anterior
  • Listas, como permissions.deny o sandbox.network.allowedDomains: las dos listas se combinan, con duplicados eliminados
  • Bloques anidados, como env o sandbox: los dos bloques se fusionan clave por clave, y cada clave dentro sigue estas mismas reglas
  • fallbackModel: la cadena posterior reemplaza la anterior completamente
  • extraKnownMarketplaces y managedMcpServers: una entrada posterior con el mismo nombre reemplaza la anterior completamente
  • modelPicker: la alineación posterior reemplaza la anterior completamente

Cómo Claude Code combina fuentes administradas

Cuando tu organización entrega más de una fuente administrada a la misma máquina, la clave managedSourcesBehavior decide qué hace Claude Code con las demás:
  • "first-wins", el valor predeterminado: Claude Code utiliza la fuente con mayor rango que entrega al menos una clave de política e ignora el resto en lugar de combinarlas, aparte de las claves en Claves leídas de cada fuente de administrador. Claude Code no muestra ninguna advertencia para las fuentes que omite; /status nombra la fuente que utilizó y las que omitió.
  • "merge": Claude Code aplica cada fuente de administrador que entrega una clave de política y las combina por tipo de clave: en la mayoría de las claves se aplica el valor de la fuente con mayor rango, las listas se unen y los bloqueos toman el valor más restrictivo. Componer cada fuente administrada dice dónde establecer la clave y cómo se combina cada tipo de clave. Requiere Claude Code v2.1.242 o posterior.
Ambos ajustes clasifican las fuentes de la misma manera. Estos términos se repiten en esta sección:
  • Clave de política: cualquier clave de configuración que no sea una de las dos claves de control, wslInheritsWindowsSettings y managedSourcesBehavior. Un archivo de configuración administrada o una política MDM que contenga solo esas no cuenta, y Claude Code pasa a la siguiente fuente.
  • Fuente de administrador: una de las tres primeras fuentes a continuación. El registro HKCU es escribible por el usuario y no es una.
Claude Code comprueba las fuentes en este orden, con la máxima prioridad primero:
  1. Configuración remota, entregada desde claude.ai como configuración administrada por servidor o por un gateway de aplicaciones Claude. Claude Code obtiene esta fuente solo cuando la sesión se autentica en la API de Anthropic directamente con una credencial elegible, inicia sesión en un gateway con /login, o se ejecuta en la pestaña Code de Claude Desktop detrás de un gateway que sirve configuración a esa sesión. En otros proveedores, o cuando ANTHROPIC_BASE_URL apunta a algún lugar que no sea la API de Anthropic, comienza en la siguiente fuente
  2. Políticas de MDM o de nivel del SO: el plist de macOS o la clave de registro HKLM
  3. Archivos de configuración administrada, managed-settings.d/*.json y managed-settings.json combinados
  4. El registro HKCU, en Windows, y en WSL una vez que el registro HKLM o el archivo de configuración administrada de Windows activa wslInheritsWindowsSettings y el valor HKCU también lo establece. Claude Code lo lee solo cuando no hay ningún documento de administrador presente por encima de él y ninguna configuración principal suministrada por el host suministra una clave restrictiva
Este diagrama muestra la clasificación, con ejemplos de las claves entre fuentes que Claude Code lee de las tres primeras fuentes con cualquiera de los dos ajustes: Diagrama que muestra las cuatro fuentes de configuración administrada clasificadas desde la configuración remota en la parte superior a través de MDM, archivos de configuración administrada y el registro HKCU en la parte inferior. De forma predeterminada, la primera fuente con una clave de política suministra la política y el resto se omiten; con managedSourcesBehavior establecido en merge, cada fuente de administrador con una clave de política contribuye, combinada por tipo de clave, y el registro HKCU se mantiene fuera. Un panel lateral muestra que las claves entre fuentes como los bloqueos de sandbox, forceRemoteSettingsRefresh y la combinación de env por variable se leen de cada fuente de administrador, lo que excluye el registro HKCU. Diagrama que muestra las cuatro fuentes de configuración administrada clasificadas desde la configuración remota en la parte superior a través de MDM, archivos de configuración administrada y el registro HKCU en la parte inferior. De forma predeterminada, la primera fuente con una clave de política suministra la política y el resto se omiten; con managedSourcesBehavior establecido en merge, cada fuente de administrador con una clave de política contribuye, combinada por tipo de clave, y el registro HKCU se mantiene fuera. Un panel lateral muestra que las claves entre fuentes como los bloqueos de sandbox, forceRemoteSettingsRefresh y la combinación de env por variable se leen de cada fuente de administrador, lo que excluye el registro HKCU.

Cuándo un documento de administrador cuenta como presente

En la clasificación de fuentes administradas, Claude Code nunca aplica el registro HKCU escribible por el usuario debajo de un documento de administrador que está presente. Un documento está presente cuando:
  • Establece cualquier clave de política en un valor que no sea null, incluso un valor que Claude Code no puede leer
  • Es un valor HKLM, un archivo de configuración administrada o un directorio managed-settings.d que existe pero no se puede leer
En WSL, /etc/claude-code también es escribible por el usuario, y la entrada wslInheritsWindowsSettings dice cuándo los documentos de Windows están por encima de él.

Claves leídas de cada fuente de administrador

Con el ajuste predeterminado "first-wins", Claude Code lee la mayoría de las claves solo de la fuente que seleccionó, e ignora un valor en una fuente de menor rango incluso cuando la fuente seleccionada deja esa clave sin establecer. Algunas claves funcionan de manera diferente. Claude Code las lee de cada fuente de administrador, por lo que una política MDM de menor rango o un archivo de configuración administrada aún pueden establecerlas cuando la fuente seleccionada no lo hace. Claude Code deja fuera de ese escaneo el registro HKCU escribible por el usuario; cuando HKCU es la única fuente y ningún host suministra configuración principal, HKCU se aplica como cualquier fuente seleccionada. Las claves entre fuentes incluyen:
  • sandbox.network.allowManagedDomainsOnly y sandbox.filesystem.allowManagedReadPathsOnly: un true en cualquier fuente de administrador activa el bloqueo. Mientras un bloqueo está activo, Claude Code une la lista de permitidos que bloquea, sandbox.network.allowedDomains junto con reglas allow WebFetch(domain:...), o sandbox.filesystem.allowRead, en todas las fuentes de administrador. Sin el bloqueo, Claude Code trata la lista de permitidos como cualquier otra clave, por lo que con "first-wins" la lista de permitidos de una fuente de administrador no seleccionada se ignora
  • allowAllClaudeAiMcps
  • allowManagedMcpServersOnly: un true en cualquier fuente de administrador activa el bloqueo de la lista de servidores MCP permitidos. Mientras el bloqueo está activo, la lista allowedMcpServers administrada proviene de la fuente de administrador con mayor rango que establece una. Una lista administrada por servidor reemplaza la lista de una fuente inferior en lugar de combinarse con ella. Si ninguna fuente de administrador establece una lista, se carga cada servidor que pase la lista de denegados, a menos que la configuración principal suministre una lista. Sin el bloqueo, Claude Code lee allowedMcpServers de la fuente administrada que aplica, por lo que con "first-wins" la lista de una fuente de administrador no seleccionada se ignora. Requiere Claude Code v2.1.273 o posterior
  • deniedMcpServers y disableClaudeAiConnectors: se aplica una entrada o un true en cualquier fuente de administrador. Requiere Claude Code v2.1.273 o posterior
  • Las rutas binarias de sandbox sandbox.bwrapPath y sandbox.socatPath
  • El binario ripgrep de sandbox, sandbox.ripgrep
  • sandbox.filesystem.disabled y sandbox.network.strictAllowlist
  • useAutoModeDuringPlan, syncClaudeAiSkills y syncClaudeAiPlugins, donde un false de cualquier fuente de administrador desactiva el comportamiento. Un false en la configuración de usuario o local del desarrollador también lo desactiva; cada clave solo puede denegar
  • enableArtifact, donde un false de cualquier fuente de administrador desactiva la herramienta Artifact. Un false en la configuración de usuario, de proyecto o local del desarrollador también la desactiva, y ninguna fuente la vuelve a activar; consulta qué valores de nivel inferior aún cuentan. Requiere Claude Code v2.1.242 o posterior
  • maxEffortLevel, donde se aplica el límite más bajo de cualquier fuente de administrador. Si un desarrollador establece un límite más bajo en su propia configuración o con --settings, Claude Code aplica ese; ninguna fuente puede aumentar el límite. Requiere Claude Code v2.1.267 o posterior
  • Una exclusión del trailer de commit en attribution, o en el obsoleto includeCoAuthoredBy, desde cualquier nivel
  • forceRemoteSettingsRefresh
  • env, combinado por variable en las fuentes de administrador: cada variable proviene de la fuente de mayor prioridad que la define, por lo que las fuentes inferiores completan las variables que las superiores dejan sin establecer. Algunas variables siguen sus propias reglas; Excepciones por clave en fuentes administradas nombra cada una. Requiere Claude Code v2.1.223 o posterior. Antes de v2.1.223, Claude Code aplicaba solo el bloque env completo de la fuente seleccionada
Las claves de inicio de sesión del gateway siguen una regla separada. Claude Code nunca las lee de la configuración administrada por servidor, por lo que mientras la configuración administrada por servidor es la fuente seleccionada, la fuente de administrador con mayor rango en la máquina que lleva una clave de política aún las suministra. Un valor en una fuente de administrador clasificada por debajo de esa, o en el registro HKCU, se ignora. allowedProviders tiene su propia regla: la nota Scope de su entrada dice cómo una lista establecida en la máquina se combina con una administrada por servidor. Requiere Claude Code v2.1.285 o posterior. Cuando una fuente de administrador establece allowManagedMcpServersOnly o una lista allowedMcpServers y ese valor no es el que está en vigor, /status y claude doctor nombran esa fuente y clave.

Componer cada fuente administrada

Para que Claude Code aplique cada fuente de administrador que tu organización entrega, establece managedSourcesBehavior en "merge" en la fuente con mayor rango que implementes. Claude Code lee la clave solo de la fuente con mayor rango que lleva la clave o una clave de política, por lo que una fuente inferior no puede optar por combinarse con la fuente que está por encima de ella, y una máquina que nunca recibe configuración administrada por servidor también necesita la clave en su perfil MDM. El registro HKCU escribible por el usuario nunca se combina con otra fuente. Requiere Claude Code v2.1.242 o posterior. Con "merge", Claude Code agrega a la política las entradas de lista de una fuente inferior, como reglas permissions.allow y hooks, así que actívalo solo cuando cada fuente clasificada por debajo de la más alta esté bajo el control de un administrador. Esta tabla muestra cómo Claude Code combina cada tipo de clave con "merge". La entrada de managedSourcesBehavior nombra cada clave en tres de las filas: listas de permitidos de restricción, valores tomados completos y claves leídas solo de la fuente con mayor rango. Para confirmar qué fuentes se combinaron en una máquina, lee la línea Setting sources en /status; esa sección dice qué significa cada etiqueta.

Calcular la política con un programa auxiliar

Un policyHelper es un ejecutable que tu política MDM o archivo de configuración administrada nombra, y Claude Code lo ejecuta para calcular la configuración administrada al inicio. Cuando la fuente seleccionada configura uno y el auxiliar emite un objeto managedSettings, esa salida cambia lo que Claude Code lee: Para saber qué ejecuciones del auxiliar fallan y qué hace Claude Code cuando una falla, consulta Fallos del auxiliar.

Permitir que un host de incrustación agregue política

Cuando otra aplicación inicia Claude Code, como Claude Desktop, una extensión de IDE o una aplicación de Agent SDK, ese host puede pasar su propia configuración administrada a través de la opción managedSettings del SDK. Claude Code la llama configuración principal. De forma predeterminada, Claude Code ignora la configuración principal siempre que una fuente de administrador esté presente: configuración administrada por servidor, una política de MDM o de nivel del SO, o un archivo de configuración administrada. Para que Claude Code combine la configuración principal junto con una fuente de administrador, establece parentSettingsBehavior en "merge" en la fuente administrada de mayor prioridad; Claude Code lee la clave solo de esa fuente. Claude Code luego mantiene solo los valores del host que restringen lo que Claude puede hacer, con una brecha que debes conocer: a menos que también establezcas los bloqueos allowManaged*Only, las reglas allow de permisos del host y las listas de permitidos del sandbox aún se aplican. Consulta Restringir la configuración principal para ver los bloqueos. Un policyHelper puede desactivar la combinación de la configuración principal independientemente de esta clave; su entrada dice cuándo. Claude Code también aplica estas comprobaciones por separado a los valores suministrados por el host principal:
  • Cuando cualquier fuente de administrador establece allowManagedPermissionRulesOnly, Claude Code descarta las reglas allow de permisos suministradas por el host principal y additionalDirectories a medida que las lee, incluso cuando una fuente de mayor prioridad deja la clave sin establecer. El efecto de la clave en tus propias reglas de permisos proviene de la configuración administrada que Claude Code aplica, o de la configuración principal que hayas elegido combinar
  • Claude Code aplica el valor forceLoginOrgUUID o allowedMcpServers de la configuración administrada que aplica y bloquea uno suministrado por el host principal. Fuera del bloqueo de la lista de servidores MCP permitidos, un valor en una fuente de administrador inferior que Claude Code no aplica ni se aplica ni bloquea el del host principal. En Claude Code v2.1.273 o posterior, mientras allowManagedMcpServersOnly está activo, la lista allowedMcpServers de la fuente de administrador con mayor rango que establece una se aplica y bloquea la del host principal, como clave entre fuentes. La lista del host principal se aplica solo cuando ninguna fuente de administrador establece una. La entrada managedSourcesBehavior dice qué fuente suministra cada clave con "merge". Antes de v2.1.223, un valor en cualquier fuente de administrador bloqueaba el del host principal
  • Para availableModels, Claude Code aplica el valor de la configuración administrada que aplica y bloquea una lista suministrada por el host principal
  • Para strictKnownMarketplaces, Claude Code asimismo aplica la lista de la configuración administrada que aplica y bloquea una suministrada por el host principal. La lista del host principal se aplica solo cuando ninguna fuente administrada aplicada establece una. Requiere Claude Code v2.1.282 o posterior
  • Para allowedProviders, una lista en la fuente administrada seleccionada bloquea una suministrada por el host principal, y con la opción "merge" de managedSourcesBehavior lo hace una lista en cualquier fuente de administrador. Requiere Claude Code v2.1.285 o posterior
  • Un blockedMarketplaces suministrado por el host principal se aplica además de cualquier lista de denegados que establezca una fuente administrada. Requiere Claude Code v2.1.282 o posterior

Mantener el acceso a las carpetas de Cowork cuando solo se aplican reglas administradas

Cowork en la aplicación Claude Desktop ejecuta sus sesiones en Claude Code y otorga a cada sesión acceso a sus carpetas de trabajo, como la carpeta que conecta el usuario, a través de reglas allow que suministra cuando inicia la sesión. Cuando tu política administrada establece allowManagedPermissionRulesOnly, Claude Code mantiene solo las reglas allow de la política administrada: descarta las reglas allow que un host suministra como configuración principal, como --allowedTools o en un archivo de configuración, por lo que las escrituras en esas carpetas pierden su aprobación previa. En una sesión de Cowork que pregunta antes de las ediciones, Cowork no puede mostrar la solicitud de permiso, y Claude informa cada escritura como bloqueada porque la ruta se resuelve en una ubicación protegida o en una ruta fuera de la carpeta conectada. Para restaurar las escrituras, agrega reglas allow para esas carpetas a la fuente administrada que Claude Code selecciona en esas máquinas: en una flota administrada por MDM, esa es la política MDM en lugar de un archivo de configuración administrada separado. Este ejemplo usa la forma de archivo, y una política MDM acepta las mismas claves. Mantiene allowManagedPermissionRulesOnly establecido y permite ediciones bajo una carpeta CoworkProjects en el directorio home de cada usuario; reemplaza la ruta por las carpetas que conectan tus usuarios:
managed-settings.json
Después de implementar la política, Claude puede guardar archivos bajo esa carpeta en una nueva sesión de Cowork. Reglas de Read y Edit cubre la sintaxis de rutas, incluida la forma // para rutas absolutas.

Lo que un desarrollador puede cambiar

Los archivos de configuración propios de un desarrollador, los valores de --settings y los archivos de proyecto nunca sobrescriben un valor administrado; las excepciones solo permiten que cuente un valor de nivel inferior más restrictivo. Estos casos quedan fuera de esa regla:
  • El modelo para una sesión: un model administrado es un valor predeterminado, no un bloqueo. --model y ANTHROPIC_MODEL aún seleccionan el modelo para esa sesión, así que implementa availableModels para restringir la elección.
  • La ventana de compactación automática para una sesión: un autoCompactWindow administrado también es un valor predeterminado. El flag --autocompact y la variable CLAUDE_CODE_AUTO_COMPACT_WINDOW aún establecen la ventana de compactación automática para esa sesión.
  • Derechos de administrador local: un desarrollador que es administrador en la máquina puede editar la propia fuente administrada; por eso las herramientas MDM pueden volver a implementar el perfil o el archivo de forma programada, y por eso existen el registro HKLM y el dominio de preferencias administradas de macOS.
  • La caché de configuración administrada por servidor: la configuración administrada por servidor proviene de los servidores de Anthropic, y una edición en la caché local dura solo hasta la siguiente obtención exitosa.
  • Otras herramientas: la configuración administrada solo se aplica a Claude Code. Un desarrollador que llama a la API desde otra herramienta no está sujeto a ella.

Verificar que una política está en vigor

Un desarrollador reporta que una política no se está aplicando, o quieres confirmar que un despliegue llegó antes de enviarlo a la flota. Dos comandos en esa máquina lo responden: /status muestra qué fuente administrada seleccionó Claude Code, y claude doctor enumera lo que descartó.

Leer la fuente en /status

En la máquina del desarrollador, ejecuta /status dentro de Claude Code y lee la línea Setting sources. Cuando una fuente administrada está en vigor, la línea enumera Enterprise managed settings con la fuente que Claude Code seleccionó entre paréntesis:
  • (remote): configuración administrada por servidor desde claude.ai o un gateway
  • (plist) o (HKLM): una política MDM o del sistema operativo
  • (file), (drop-ins) o (file + drop-ins): managed-settings.json, el directorio drop-in o ambos
  • (remote + file, merged) u otra lista que termina en , merged: tu organización compone cada fuente administrada, y Claude Code combinó las fuentes enumeradas en la política. Una fuente inferior aún puede proporcionar variables env sin aparecer en la lista. Requiere Claude Code v2.1.242 o posterior
  • (HKCU): el registro de respaldo que el usuario puede escribir
  • (parent process): un host de incrustación proporcionó configuración restrictiva
  • (helper): un policyHelper configurado por la fuente MDM o de archivo seleccionada
Cuando Claude Code encontró una fuente administrada en la máquina y no la seleccionó, una segunda línea, Skipped sources, nombra cada fuente de este tipo. Léela para distinguir una política que nunca llegó a la máquina de una que llegó y que una fuente de mayor prioridad anuló. Requiere Claude Code v2.1.242 o posterior. Cuando la política no se está aplicando, la línea Setting sources te dice cuál de dos problemas tienes:
  • La línea falta: Claude Code no encontró ninguna fuente administrada que entregue una clave de política. Si implementaste un archivo de configuración administrada, verifica que se encuentre en la ruta del sistema operativo y que contenga una clave de política en lugar de solo las claves de control. Un archivo que no es JSON válido no produce este estado; en su lugar, Claude Code se niega a iniciar. Si en cambio implementaste a través de configuración administrada por servidor, ejecuta claude doctor, que reporta el resultado de obtención.
  • La línea nombra una fuente que no es la que implementaste: una fuente de mayor prioridad está presente y Claude Code ignoró la tuya, y Skipped sources la enumera. Cómo Claude Code combina fuentes administradas da el orden.

Encontrar entradas que Claude Code descartó

Si tu archivo de configuración administrada, perfil MDM, valor de registro o payload administrado por servidor falla la validación del esquema, Claude Code primero omite cada entrada individual que puede reparar, como una regla de permisos inválida, y advierte sobre cada una. Luego, Claude Code descarta cualquier valor que aún falle, a menos que el valor pertenezca a una de las claves que, en cambio, fallan cerradas. Claude Code es más estricto con el managedSettings que emite un policyHelper: realiza las mismas reparaciones de entradas, pero cualquier violación de esquema que sobreviva hace fallar toda la ejecución del helper, y al inicio Claude Code se niega a iniciar, igual que con un helper que sale con código distinto de cero. Cuando un archivo de configuración administrada, archivo drop-in, plist MDM o valor de registro HKLM está presente pero no se puede analizar como un objeto JSON, Claude Code se niega a iniciar e imprime un error que nombra la fuente, incluso cuando otra fuente de administrador entrega una política válida. Cada fuente falla de esta manera cuando:
  • Archivo de configuración administrada o archivo drop-in: el archivo no es JSON válido, o su nivel superior no es un objeto
  • Plist MDM: plutil de macOS reporta la plist malformada, o su contenido convertido no es un objeto JSON
  • Valor de registro HKLM: el valor Settings no es una cadena, está vacío o no contiene un objeto JSON
Tres estados de fuente no causan este rechazo:
  • Un archivo, perfil o valor de registro ausente no es un fallo; Claude Code se ejecuta sin esa fuente.
  • Un archivo de configuración administrada vacío cuenta como {}.
  • Un valor malformado en la clave de registro HKCU, que el usuario puede escribir, nunca bloquea el lanzamiento. En su lugar, Claude Code lo reporta como un aviso en /status y claude doctor.
Cuando un archivo de configuración administrada, archivo drop-in, directorio managed-settings.d/, perfil MDM o valor de registro HKLM existe pero no se puede leer, y ninguna fuente de administrador proporciona una política, lo que sucede depende de por qué falló la lectura:
  • Si el sistema operativo denegó la lectura, por ejemplo en un archivo de solo root, cada sesión se inicia sin las políticas de esa fuente. /status y claude doctor registran el fallo, y una ejecución con -p también lo imprime en stderr.
  • Para cualquier otro fallo de lectura, como un error de E/S, cada sesión sale al inicio con un mensaje para contactar a un administrador.
Para encontrar una entrada descartada, busca en uno de tres lugares:
  • Las sesiones interactivas muestran un diálogo al inicio que enumera las entradas inválidas.
  • Las ejecuciones no interactivas con -p imprimen un resumen en stderr.
  • claude doctor enumera cada entrada inválida con su fuente y campo.

Claves que fallan cerradas

Cuando una fuente administrada establece una clave de nivel superior que tiene un único valor restrictivo, como allowManagedPermissionRulesOnly, disableAutoMode o skipDangerousModePermissionPrompt, en algo que Claude Code no puede leer, la clave se lee como ese valor hasta que lo corrijas. El informe dice que la clave was present but invalid y nombra el valor como el que Claude Code la trata. Para una clave dentro de sandbox, consulta Valores inválidos dentro de sandbox. Estos casos no fallan cerrados:
  • Un null elimina la clave.
  • Un disableAllHooks inválido, incluso un booleano entrecomillado, se descarta con una advertencia, porque aplicar true también descargaría los hooks que tu propia configuración administrada implementa.
  • Para cualquier otra clave booleana que cubre la regla, la cadena "true" o "false" se lee como ese booleano, con un aviso en /status que te pide eliminar las comillas.
Claude Code repara los bloques permissions, autoMode, worktree y attribution por campo en lugar de descartarlos completamente:
  • Un bloqueo dentro de uno, como permissions.disableBypassPermissionsMode, se lee como su valor restrictivo.
  • Un permissions.defaultMode inválido se lee como default.
  • Mientras una lista deny o ask en permissions no se pueda leer en absoluto, Claude Code retiene allow y additionalDirectories, por lo que las concesiones nunca se aplican sin las restricciones escritas a su lado. El informe nombra cada concesión retenida y la lista que no se pudo leer.
  • En autoMode, una lista soft_deny o hard_deny que no se puede leer, o que perdió una entrada inválida, retiene allow y environment de la misma manera.
La regla de fallo cerrado para claves con un único valor restrictivo y las reparaciones por campo requieren Claude Code v2.1.282 o posterior. Estas claves tienen su propio comportamiento de respaldo: allowedHttpHookUrls y httpHookAllowedEnvVars se combinan entre archivos de configuración, por lo que las entradas en tu configuración de usuario, proyecto o local aún se aplican mientras la lista administrada está vacía. Los comportamientos de respaldo para esas dos claves y para allowedChannelPlugins requieren Claude Code v2.1.267 o posterior; las versiones anteriores descartan la clave completa cuando su valor o cualquier entrada es inválida. Los comportamientos de respaldo para strictKnownMarketplaces y blockedMarketplaces requieren Claude Code v2.1.277 o posterior; las versiones anteriores descartan la clave completa cuando su valor o cualquier entrada es inválida. Los comportamientos de respaldo para strictPluginOnlyCustomization y enabledPlugins requieren Claude Code v2.1.282 o posterior. requiredMinimumVersion y requiredMaximumVersion fallan abiertos por diseño: un valor inválido se descarta en lugar de aplicarse. Esta tolerancia se aplica solo a la configuración administrada. Los archivos de configuración de usuario, proyecto y local siguen siendo estrictos: un archivo cuyo JSON o forma de nivel superior falla la validación se rechaza completamente y se reporta, y una entrada individual que falla, como una regla de permisos malformada, se omite con una advertencia mientras se aplica el resto del archivo.

Valores inválidos dentro de sandbox

Cuando un valor en tu bloque sandbox administrado es inválido, Claude Code no descarta el bloque completo, porque valida cada campo por separado. Este manejo por campo requiere Claude Code v2.1.283 o posterior. En versiones anteriores a v2.1.283, Claude Code descarta todos los campos de sandbox excepto credentials cuando un valor fuera de credentials es inválido. La advertencia que recibes para un campo inválido nombra el campo y te dice qué sucede con él. Lo que sucede depende de lo que controle el campo:
  • Si estableces una clave booleana en un "true" o "false" entrecomillado, el valor cuenta como ese booleano. En lugar de una advertencia, /status muestra un aviso que te pide eliminar las comillas.
  • Si failIfUnavailable es inválido, Claude Code descarta el valor en lugar de tratarlo como true, por lo que un valor ilegible nunca impide que se inicien sesiones en toda tu flota.
  • Claude Code trata cualquier otro booleano inválido como el valor que mantiene el sandbox más estricto hasta que lo corrijas. Una clave que activa el sandbox o una de sus restricciones, como enabled o network.allowManagedDomainsOnly, cuenta como true. Una clave que lo flexibiliza, como allowUnsandboxedCommands, cuenta como false.
  • En una lista fuera de credentials, como excludedCommands o network.allowedDomains, Claude Code descarta una entrada inválida y mantiene el resto de la lista. Una lista que no es una matriz, o que no tiene ninguna entrada válida, no se aplica en absoluto.
  • Mientras network.deniedDomains o cualquier entrada en ella sea inválida, Claude Code también retiene network.allowedDomains, por lo que la lista de dominios permitidos administrada no otorga nada hasta que corrijas la lista de denegación.
  • Mientras filesystem.denyRead, filesystem.denyWrite o cualquier entrada en alguna de ellas sea inválida, Claude Code también retiene tanto filesystem.allowRead como filesystem.allowWrite hasta que corrijas la lista de denegación.

Claves que solo una fuente administrada puede establecer

Claude Code lee las siguientes claves solo de una fuente administrada; colocarlas en archivos de configuración de usuario o proyecto no tiene efecto. La mayoría de ellas son bloqueos: el valor que un bloqueo rige, como reglas de permisos o sandbox.network.allowedDomains, es una clave ordinaria que cualquier nivel puede establecer, y el bloqueo le dice a Claude Code que honre solo el valor administrado. La tabla cubre los controles de permisos, plugins y entrega. Para cualquier clave no enumerada aquí, la columna Scope de la referencia de configuración dice si es solo administrada.
En los planes Team y Enterprise, un Owner habilita o deshabilita Remote Control y las sesiones en la nube en toda la organización desde la configuración de administración de Claude Code. Cuando un Owner desactiva Remote Control, las sesiones ya conectadas que ejecutan Claude Code v2.1.286 o posterior también se desconectan. Cada una se desconecta la próxima vez que actualiza la política de tu organización, aproximadamente una vez por hora. Para saber qué sucede en esas sesiones, consulta Remote Control was turned off by your organization's policy.Además, Remote Control se puede deshabilitar por dispositivo con el ajuste disableRemoteControl. Las sesiones en la nube no tienen una clave de configuración administrada por dispositivo.Para verificar si estas configuraciones de organización llegaron a una máquina determinada, ejecute claude doctor allí y lea la línea Organization policy, que dice dónde Claude Code cargó la política o por qué no la cargó. Requiere Claude Code v2.1.261 o posterior. En una sesión en ejecución, /status muestra la misma línea cuando la política no se cargó.

Desactivar la telemetría para su organización

Claude Code envía telemetría operativa de Anthropic por defecto en sesiones que usan la API de Anthropic, ya sea directamente, a través de una puerta de enlace LLM o a través de un ANTHROPIC_BASE_URL personalizado; Comportamientos predeterminados por proveedor de API dice qué proveedores la envían. Para desactivarla para cada desarrollador sin depender de la shell de cada persona, entregue DISABLE_TELEMETRY a través del bloque env de su configuración administrada. Este ejemplo establece DISABLE_TELEMETRY para todos los que la política alcanza:
Claude Code aplica un valor de 1 sin mostrar al usuario el diálogo de aprobación. Si desactiva la telemetría, Claude Code deja de enviar los datos de uso que alimentan el panel de análisis de su organización para los desarrolladores que la política alcanza. La variable también desactiva la obtención de indicadores de características para esos desarrolladores. Para Remote Control, consulte los requisitos de Remote Control. Dónde y cuándo se aplica una política dice qué mecanismo de entrega alcanza cada superficie, y Disponibilidad de plataforma dice qué sesiones omiten la obtención de configuración administrada por servidor. Si su organización usa claves de cifrado administradas por el cliente y enruta Claude Code a través de una puerta de enlace, Configurar proxies y puertas de enlace dice por qué esas sesiones necesitan esta variable.

Ver también