Skip to main content
Claude Code ofrece una variedad de configuraciones para personalizar su comportamiento según sus necesidades. Puede configurar Claude Code ejecutando el comando /config, que abre una interfaz de Configuración con pestañas donde puede ver información de estado y modificar opciones de configuración. A partir de v2.1.181, puede cambiar una única opción sin abrir la interfaz pasando key=value a /config, por ejemplo /config verbose=true.

Ámbitos de configuración

Claude Code utiliza un sistema de ámbitos para determinar dónde se aplican las configuraciones y quién las comparte. Comprender los ámbitos le ayuda a decidir cómo configurar Claude Code para uso personal, colaboración en equipo o implementación empresarial.

Ámbitos disponibles

Cuándo usar cada ámbito

El ámbito Managed es para:
  • Políticas de seguridad que deben aplicarse en toda la organización
  • Requisitos de cumplimiento que no se pueden anular
  • Configuraciones estandarizadas implementadas por TI/DevOps
El ámbito User es mejor para:
  • Preferencias personales que desea en todas partes (temas, configuración del editor)
  • Herramientas y plugins que utiliza en todos los proyectos
  • Claves API y autenticación (almacenadas de forma segura)
El ámbito Project es mejor para:
  • Configuraciones compartidas por el equipo (permisos, hooks, MCP servers)
  • Plugins que todo el equipo debe tener
  • Estandarizar herramientas entre colaboradores
El ámbito Local es mejor para:
  • Anulaciones personales para un proyecto específico
  • Probar configuraciones antes de compartirlas con el equipo
  • Configuraciones específicas de la máquina que no funcionarán para otros

Cómo interactúan los ámbitos

Cuando la misma configuración aparece en múltiples ámbitos, Claude Code las aplica en orden de prioridad:
  1. Managed (más alto): no puede ser anulado por nada
  2. Argumentos de línea de comandos: anulaciones de sesión temporal
  3. Local: anula configuraciones de proyecto y usuario
  4. Project: anula configuraciones de usuario
  5. User (más bajo): se aplica cuando nada más especifica la configuración
Por ejemplo, si la configuración de usuario establece spinnerTipsEnabled en true y la configuración de proyecto lo establece en false, se aplica el valor del proyecto. Las reglas de permisos se comportan de manera diferente porque se fusionan en todos los ámbitos en lugar de anular. Consulte Precedencia de configuración.

Qué usa ámbitos

Los ámbitos se aplican a muchas características de Claude Code: En Windows, las rutas mostradas como ~/.claude se resuelven en %USERPROFILE%\.claude.

Archivos de configuración

El archivo settings.json es el mecanismo oficial para configurar Claude Code a través de configuraciones jerárquicas:
  • Configuraciones de usuario se definen en ~/.claude/settings.json y se aplican a todos los proyectos.
  • Configuraciones de proyecto se guardan en su directorio de proyecto:
    • .claude/settings.json para configuraciones que se verifican en el control de código fuente y se comparten con su equipo
    • .claude/settings.local.json para configuraciones que no se verifican, útil para preferencias personales y experimentación. Cuando Claude Code crea .claude/settings.local.json, configura git para ignorar el archivo. Si crea el archivo usted mismo, agréguelo a su gitignore manualmente. Debido a que este archivo es suyo en lugar del repositorio, sus reglas de permiso allow entran en vigor sin el paso de confianza del espacio de trabajo que requieren las reglas de permiso allow de .claude/settings.json. Si el repositorio suministra el archivo, por ejemplo al confirmarlo, la confianza del espacio de trabajo aún se aplica.
  • Configuraciones administradas: Para organizaciones que necesitan control centralizado, Claude Code admite múltiples mecanismos de entrega para configuraciones administradas. Todos utilizan el mismo formato JSON y no pueden ser anulados por configuraciones de usuario o proyecto:
    • Configuraciones administradas por servidor: entregadas remotamente al iniciar sesión, ya sea desde los servidores de Anthropic a través de la consola de administración de claude.ai o desde una puerta de aplicaciones Claude autohospedada. Consulte configuraciones administradas por servidor.
    • Políticas de MDM/nivel de SO: entregadas a través de administración de dispositivos nativa en macOS y Windows:
      • macOS: dominio de preferencias administradas com.anthropic.claudecode. Las claves de nivel superior del plist reflejan managed-settings.json, con configuraciones anidadas como diccionarios y matrices como matrices de plist. Implemente a través de perfiles de configuración en Jamf, Iru (Kandji) u herramientas MDM similares.
      • Windows: clave de registro HKLM\SOFTWARE\Policies\ClaudeCode con un valor Settings (REG_SZ o REG_EXPAND_SZ) que contiene JSON (implementado a través de Política de grupo o Intune)
      • Windows (nivel de usuario): HKCU\SOFTWARE\Policies\ClaudeCode (prioridad de política más baja, solo se usa cuando no existe una fuente a nivel de administrador)
    • Basado en archivos: managed-settings.json y managed-mcp.json implementados en directorios del sistema:
      • macOS: /Library/Application Support/ClaudeCode/
      • Linux y WSL: /etc/claude-code/
      • Windows: C:\Program Files\ClaudeCode\
      La ruta heredada de Windows C:\ProgramData\ClaudeCode\managed-settings.json ya no se admite a partir de v2.1.75. Los administradores que implementaron configuraciones en esa ubicación deben migrar archivos a C:\Program Files\ClaudeCode\managed-settings.json.
      Las configuraciones administradas basadas en archivos también admiten un directorio de entrega en managed-settings.d/ en el mismo directorio del sistema junto a managed-settings.json. Esto permite que equipos separados implementen fragmentos de política independientes sin coordinar ediciones a un único archivo. Siguiendo la convención de systemd, managed-settings.json se fusiona primero como base, luego todos los archivos *.json en el directorio de entrega se ordenan alfabéticamente y se fusionan encima. Los archivos posteriores anulan los anteriores para valores escalares; las matrices se concatenan y se deduplicán; los objetos se fusionan profundamente. Se ignoran los archivos ocultos que comienzan con .. Use prefijos numéricos para controlar el orden de fusión, por ejemplo 10-telemetry.json y 20-security.json.
    Consulte configuraciones administradas y Configuración de MCP administrada para obtener detalles. Este repositorio incluye plantillas de implementación de inicio para Jamf, Iru (Kandji), Intune y Política de grupo. Use estas como puntos de partida y ajústelas para que se adapten a sus necesidades.
    Las implementaciones administradas también pueden restringir adiciones de marketplace de plugins usando strictKnownMarketplaces. Para obtener más información, consulte Restricciones de marketplace administradas.
  • Otra configuración se almacena en ~/.claude.json. Este archivo contiene su sesión OAuth, configuraciones de MCP server para ámbitos de usuario y local, estado por proyecto (herramientas permitidas, configuración de confianza) y varios cachés. Los MCP servers con ámbito de proyecto se almacenan por separado en .mcp.json.
Claude Code crea automáticamente copias de seguridad con marca de tiempo de archivos de configuración y retiene las cinco copias de seguridad más recientes para prevenir pérdida de datos.
Ejemplo settings.json
La línea $schema en el ejemplo anterior apunta al esquema JSON oficial para configuraciones de Claude Code. Agregarlo a su settings.json habilita autocompletado y validación en línea en VS Code, Cursor y cualquier otro editor que admita validación de esquema JSON. El esquema publicado se actualiza periódicamente y puede no incluir configuraciones agregadas en los lanzamientos de CLI más recientes, por lo que una advertencia de validación en un campo documentado recientemente no necesariamente significa que su configuración sea inválida.

Cuándo entran en vigor las ediciones

Claude Code observa sus archivos de configuración y los recarga cuando cambian, por lo que las ediciones en la mayoría de las claves se aplican a la sesión en ejecución sin necesidad de reinicio. Esto incluye permissions, hooks y asistentes de credenciales como apiKeyHelper. La recarga cubre configuraciones de usuario, proyecto, local y administradas, y el hook ConfigChange se activa para cada cambio detectado. Algunas claves se leen una sola vez al inicio de la sesión y se aplican en el siguiente reinicio:
  • model: use /model para cambiar en mitad de sesión
  • outputStyle: parte del indicador del sistema, que se reconstruye en /clear o reinicio

Entradas inválidas en configuraciones administradas

Las configuraciones administradas se analizan con tolerancia. Cuando una configuración administrada contiene una entrada que falla la validación del esquema, Claude Code elimina esa entrada, registra una advertencia y aplica cada política válida restante. Un único error tipográfico no puede deshabilitar el resto de la política de su organización. Ejecute /doctor para enumerar las entradas eliminadas con su archivo de origen y campo. Este comportamiento es consistente en los tres mecanismos de entrega: configuraciones administradas por servidor, políticas de plist y registro implementadas a través de MDM, y archivos managed-settings.json. Requiere Claude Code v2.1.169 o posterior. Los campos de aplicación de seguridad se manejan por campo en lugar de ser eliminados al por mayor cuando están presentes pero son inválidos: requiredMinimumVersion y requiredMaximumVersion fallan abiertos por diseño: un valor inválido se elimina en lugar de aplicarse, por lo que un empuje de política defectuoso no puede evitar que Claude Code se inicie. Los errores de validación aparecen en tres lugares:
  • Las sesiones interactivas muestran un diálogo al inicio que enumera las entradas inválidas.
  • Las ejecuciones sin interfaz con -p imprimen un resumen en stderr.
  • claude doctor enumera cada entrada inválida con su fuente y campo.
Valide cambios de política ejecutando claude doctor en una máquina de prueba antes de implementarlos en toda la flota. Esta tolerancia se aplica solo a configuraciones administradas. Los archivos de configuración de usuario, proyecto y local permanecen estrictos: un archivo que falla la validación se rechaza en su totalidad y se reporta.

Configuraciones disponibles

settings.json admite varias opciones:

Ajustes de config global

Estas configuraciones se almacenan en ~/.claude.json en lugar de settings.json. Agregarlas a settings.json activará un error de validación de esquema.
Las versiones anteriores a v2.1.119 también almacenan varios números de preferencias de /config aquí en lugar de en settings.json, incluyendo theme, verbose, editorMode, autoCompactEnabled y preferredNotifChannel.

Configuración de worktrees

Configure cómo --worktree crea y gestiona git worktrees. Para copiar archivos ignorados por git como .env en nuevos worktrees, use un archivo .worktreeinclude en la raíz de su proyecto en lugar de una configuración.

Configuración de permisos

Sintaxis de regla de permiso

Las reglas de permiso siguen el formato Tool o Tool(specifier). Las reglas se evalúan en orden: primero reglas de denegación, luego preguntar, luego permitir. La primera regla coincidente determina el resultado independientemente de la especificidad de la regla. Consulte orden de evaluación de regla de permiso para obtener detalles. Ejemplos rápidos: Para la referencia completa de sintaxis de regla, incluyendo comportamiento de comodín, patrones específicos de herramientas para Read, Edit, WebFetch, MCP, y reglas de Agent, y limitaciones de seguridad de patrones de Bash, consulte Sintaxis de regla de permiso.

Configuración de sandbox

Configure el comportamiento avanzado de sandboxing. El sandboxing aísla comandos bash de su sistema de archivos y red. Consulte Sandboxing para obtener detalles.

Prefijos de ruta de sandbox

Las rutas en filesystem.allowWrite, filesystem.denyWrite, filesystem.denyRead, filesystem.allowRead y credentials.files admiten estos prefijos: El prefijo anterior //path para rutas absolutas aún funciona. Si anteriormente usó /path esperando resolución relativa al proyecto, cambie a ./path. Esta sintaxis difiere de reglas de permiso Read y Edit, que usan //path para absoluto y /path para relativo al proyecto. Las rutas del sistema de archivos de sandbox usan convenciones estándar: /tmp/build es una ruta absoluta. Ejemplo de configuración:
Las restricciones de sistema de archivos y red se pueden configurar de dos formas que se fusionan:
  • Configuraciones sandbox.filesystem (mostradas arriba): Controlan rutas en el límite del sandbox a nivel de SO. Estas restricciones se aplican a todos los comandos de subproceso (por ejemplo, kubectl, terraform, npm), no solo a las herramientas de archivo de Claude.
  • Reglas de permiso: Use reglas de permiso Edit permitidas/denegadas para controlar el acceso a la herramienta de archivo de Claude, reglas de denegación Read para bloquear lecturas (una regla de denegación Read también bloquea la herramienta Edit en las rutas coincidentes), y reglas de permiso WebFetch permitidas/denegadas para controlar dominios de red. Las rutas de estas reglas también se fusionan en la configuración del sandbox.

Configuración de atribución

Claude Code agrega atribución a commits de git y solicitudes de extracción. Estos se configuran por separado:
  • Los commits usan git trailers (como Co-Authored-By) de forma predeterminada, que se pueden personalizar o deshabilitar
  • Las descripciones de solicitudes de extracción son texto sin formato
Atribución de commit predeterminada:
El nombre del modelo en el trailer refleja el modelo activo para la sesión. Atribución de solicitud de extracción predeterminada:
Ejemplo:
La configuración attribution tiene precedencia sobre la configuración includeCoAuthoredBy obsoleta. Para ocultar toda la atribución, establezca commit y pr en cadenas vacías y sessionUrl en false.

Configuración de sugerencia de archivo

Configure un comando personalizado para autocompletado de ruta de archivo @. La sugerencia de archivo integrada utiliza recorrido rápido del sistema de archivos, pero los monorepos grandes pueden beneficiarse de indexación específica del proyecto como un índice de archivo precompilado o herramientas personalizadas.
El comando se ejecuta con las mismas variables de entorno que hooks, incluyendo CLAUDE_PROJECT_DIR. Recibe JSON a través de stdin con un campo query:
Genere rutas de archivo separadas por saltos de línea a stdout (actualmente limitado a 15):
Ejemplo:
La configuración footerLinksRegexes renderiza insignias clickeables adicionales en el pie de página debajo del cuadro de entrada. Use esto para convertir IDs impresos por CLI de proyecto, como herramientas de revisión e rastreadores de problemas, en enlaces de sesión. Cada entrada pattern de regex se compara contra la salida del turno: resultados de herramientas, incluyendo contenidos de archivo y páginas obtenidas, y respuestas propias de Claude. Los placeholders {name} en url y label se rellenan desde grupos de captura nombrados en el patrón. El siguiente ejemplo renderiza una insignia siempre que aparezca una clave de problema como PROJ-1234 en la salida del turno. El grupo nombrado (?<key>...) captura la clave, y {key} la sustituye en la URL y etiqueta:
~/.claude/settings.json
Con esto configurado, cuando PROJ-1234 aparece en un resultado de herramienta o en la respuesta de Claude, aparece una ficha PROJ-1234 en el pie de página vinculada a https://issues.example.com/browse/PROJ-1234. Las siguientes restricciones se aplican a cada entrada: Cuando un turno se completa, Claude Code compara cada entrada pattern regex contra la salida del turno en el hilo principal, por lo que una regex lenta bloquea la UI hasta que finaliza. Las cuantificadores anidados como (a+)+$ pueden tomar exponencialmente tiempo contra ciertas entradas y congelar la sesión, por lo que mantenga cada pattern lineal y evite anidar + o *. Las insignias de pie de página se renderizan junto a una línea de estado personalizada cuando se configura una; ninguna reemplaza a la otra. Use una línea de estado para una fila impulsada por script que calcula su propio contenido desde datos de sesión, e insignias de pie de página para convertir IDs de la conversación en enlaces sin un script.

Configuración de hooks

Estas configuraciones controlan qué hooks se pueden ejecutar y a qué pueden acceder los hooks HTTP. La configuración allowManagedHooksOnly solo se puede configurar en configuraciones administradas. Las listas blancas de URL y variables de entorno se pueden establecer en cualquier nivel de configuración y se fusionan entre fuentes. Comportamiento cuando allowManagedHooksOnly es true:
  • Se cargan hooks administrados y hooks SDK
  • Se cargan hooks de plugins forzadamente habilitados en la configuración administrada enabledPlugins. Esto permite que los administradores distribuyan hooks verificados a través de un marketplace de organización mientras bloquean todo lo demás. La confianza se otorga por ID completo de plugin@marketplace, por lo que un plugin con el mismo nombre de un marketplace diferente permanece bloqueado
  • Se bloquean hooks de usuario, proyecto y todos los demás plugins
Restringir URLs de hooks HTTP: Limitar qué URLs pueden dirigirse los hooks HTTP. Admite * como comodín para coincidencia. Cuando la matriz se define, los hooks HTTP que se dirigen a URLs que no coinciden se bloquean silenciosamente. La coincidencia de nombre de host no distingue entre mayúsculas y minúsculas e ignora un punto FQDN final, coincidiendo con la semántica de DNS.
Restringir variables de entorno de hooks HTTP: Limitar qué nombres de variables de entorno pueden interpolar los hooks HTTP en valores de encabezado. El allowedEnvVars efectivo de cada hook es la intersección de su propia lista y esta configuración.

Calcular configuraciones administradas con un asistente de política

La configuración policyHelper apunta a un ejecutable que calcula configuraciones administradas al inicio, para que los administradores puedan derivar política de postura de dispositivo, identidad, o un servicio remoto en lugar de un archivo estático. Configúrelo desde MDM o un archivo managed-settings.json del sistema. Claude Code ignora policyHelper cuando aparece en cualquier otro ámbito, incluyendo configuraciones de usuario, configuraciones de proyecto, el hive de registro HKCU, y configuraciones administradas por servidor. La configuración acepta estas claves: El asistente escribe una envoltura JSON a stdout. Ponga las configuraciones bajo una clave managedSettings en lugar de en el nivel superior, ya que un objeto de configuraciones desnudo se analiza con managedSettings indefinido y no aplica nada:
Cuando el asistente emite managedSettings, ese objeto se convierte en la única fuente de configuraciones administradas para la ejecución, tomando precedencia sobre fuentes remotas, MDM y basadas en archivos. Cuando el asistente sale con código no cero al inicio, Claude Code imprime el error y se niega a iniciar, por lo que un asistente que necesita resiliencia de interrupción debe servir desde su propio caché y salir con 0.

Precedencia de configuración

Las configuraciones se aplican en orden de precedencia. De mayor a menor:
  1. Configuraciones administradas (administradas por servidor, políticas de MDM/nivel de SO, o configuraciones administradas)
    • Políticas implementadas por TI a través de entrega de servidor, perfiles de configuración MDM, políticas de registro o archivos de configuración administrados
    • No pueden ser anuladas por ningún otro nivel, incluyendo argumentos de línea de comandos
    • Dentro del nivel administrado, solo se usa una fuente y las otras se ignoran en lugar de fusionarse. Precedencia, de mayor a menor:
      • Salida de policyHelper: cuando se configura, esta es la única fuente administrada utilizada
      • Remota (configuraciones administradas por servidor de claude.ai o políticas entregadas por puerta de aplicaciones Claude)
      • Políticas de MDM/nivel de SO
      • Basada en archivos (managed-settings.d/*.json y managed-settings.json, fusionadas juntas)
      • Registro HKCU (solo Windows)
    • Algunas claves son excepciones, honradas cuando cualquier fuente administrada controlada por administrador las establece en lugar de solo la fuente ganadora. La fuente de registro HKCU escribible por el usuario se excluye. Las claves de excepción son:
      • las claves de bloqueo de sandbox sandbox.network.allowManagedDomainsOnly y sandbox.filesystem.allowManagedReadPathsOnly, con sus listas blancas asociadas
      • allowAllClaudeAiMcps
      • las rutas binarias de sandbox sandbox.bwrapPath y sandbox.socatPath
      • forceRemoteSettingsRefresh
    • Los hosts de incrustación como Claude Desktop pueden suministrar política a través de la opción SDK managedSettings. De forma predeterminada, esto se ignora cuando está presente cualquier fuente administrada implementada por administrador: configuraciones administradas por servidor, una política de MDM o nivel de SO, o un archivo de configuración administrado. El fallback de registro HKCU escribible por el usuario no cuenta como una fuente administrada implementada por administrador. Los administradores pueden optar por establecer parentSettingsBehavior en "merge". Los valores del incrustador se filtran para que puedan restringir la política administrada pero no flexibilizarla.
  2. Argumentos de línea de comandos
    • Anulaciones temporales para una sesión específica. JSON pasado a través de --settings <file-or-json> se fusiona con configuraciones basadas en archivos usando las mismas reglas que las otras capas: una clave establecida aquí anula la misma clave en configuraciones locales, de proyecto o de usuario, y omitir una clave deja el valor de capa inferior en su lugar
  3. Configuraciones de proyecto local (.claude/settings.local.json)
    • Configuraciones personales específicas del proyecto
  4. Configuraciones de proyecto compartidas (.claude/settings.json)
    • Configuraciones de proyecto compartidas por el equipo en control de código fuente
  5. Configuraciones de usuario (~/.claude/settings.json)
    • Configuraciones personales globales
Esta jerarquía asegura que las políticas organizacionales siempre se apliquen mientras aún permite que equipos e individuos personalicen su experiencia. La misma precedencia se aplica si ejecuta Claude Code desde la CLI, la extensión de VS Code, o un IDE de JetBrains. Por ejemplo, si su configuración de usuario establece permissions.defaultMode en acceptEdits y la configuración compartida de un proyecto la establece en default, el valor del proyecto se aplica. El ejemplo a continuación cubre cómo se combinan las configuraciones con valores de matriz como reglas de permiso en su lugar.
Las configuraciones de matriz se fusionan entre ámbitos. Cuando la misma configuración con valor de matriz (como sandbox.filesystem.allowWrite o permissions.allow) aparece en múltiples ámbitos, las matrices se concatenan y se deduplicán, no se reemplazan. Esto significa que los ámbitos de menor prioridad pueden agregar entradas sin anular las establecidas por ámbitos de mayor prioridad, y viceversa. Por ejemplo, si las configuraciones administradas establecen allowWrite en ["/opt/company-tools"] y un usuario agrega ["~/.kube"], ambas rutas se incluyen en la configuración final.Dos configuraciones de matriz no se fusionan de esta manera:

Verificar configuraciones activas

Ejecute /status dentro de Claude Code para ver qué fuentes de configuración están activas. Dentro del menú, la pestaña Status incluye una línea Setting sources que enumera cada capa que Claude Code cargó para la sesión actual, como User settings o Project local settings. Cuando configuraciones administradas están en efecto, la entrada muestra el canal de entrega entre paréntesis, por ejemplo Enterprise managed settings (remote), (plist), (HKLM), (HKCU), o (file). El canal remote cubre tanto configuraciones administradas por servidor de claude.ai como políticas entregadas por puerta de aplicaciones Claude. Una capa aparece en la lista solo cuando esa fuente se carga con al menos una clave, por lo que una lista vacía significa que no se encontraron fuentes de configuración. La línea Setting sources confirma qué fuentes se están leyendo. No muestra qué capa suministró cada clave individual. La pestaña Config en el mismo diálogo es un editor para un conjunto fijo de toggles como tema y salida detallada, no una vista de sus contenidos de settings.json. Si un archivo de configuración contiene errores, como JSON inválido o un valor que falla la validación, /status enumera los archivos afectados. Ejecute /doctor para ver los detalles de cada error.

Puntos clave sobre el sistema de configuración

  • Archivos de memoria (CLAUDE.md): Contienen instrucciones y contexto que Claude carga al inicio
  • Archivos de configuración (JSON): Configurar permisos, variables de entorno y comportamiento de herramientas
  • Skills: Indicaciones personalizadas que se pueden invocar con /skill-name o cargar automáticamente por Claude
  • MCP servers: Extender Claude Code con herramientas e integraciones adicionales
  • Precedencia: Las configuraciones de nivel superior (Managed) anulan las de nivel inferior (User/Project)
  • Herencia: Las configuraciones se fusionan entre ámbitos; los valores escalares de ámbitos de mayor prioridad anulan, y las matrices se concatenan, con dos excepciones descritas en la Nota de fusión de matriz

Indicador del sistema

El indicador del sistema interno de Claude Code no se publica. Para agregar instrucciones personalizadas, use archivos CLAUDE.md o la bandera --append-system-prompt.

Excluyendo archivos sensibles

Para evitar que Claude Code acceda a archivos que contienen información sensible como claves API, secretos y archivos de entorno, use la configuración permissions.deny en su archivo .claude/settings.json:
Esto reemplaza la configuración ignorePatterns obsoleta. Los archivos que coinciden con estos patrones se excluyen del descubrimiento de archivos y resultados de búsqueda, y las operaciones de lectura en estos archivos se deniegan.

Configuración de subagents

Claude Code admite subagents de IA personalizados que se pueden configurar en niveles de usuario y proyecto. Estos subagents se almacenan como archivos Markdown con frontmatter YAML:
  • Subagents de usuario: ~/.claude/agents/, disponibles en todos sus proyectos
  • Subagents de proyecto: .claude/agents/, específicos de su proyecto y compartibles con su equipo
Los archivos de subagent definen asistentes de IA especializados con indicaciones personalizadas y permisos de herramientas. Obtenga más información sobre cómo crear y usar subagents en la documentación de subagents.

Configuración de plugins

Claude Code admite un sistema de plugins que le permite extender la funcionalidad con skills, agentes, hooks y servidores MCP. Los plugins se distribuyen a través de marketplaces y se pueden configurar en niveles de usuario y repositorio.

Ajustes de plugins

Configuraciones relacionadas con plugins en settings.json:

enabledPlugins

Controla qué plugins están habilitados. Formato: "plugin-name@marketplace-name": true/false. Un plugin sin entrada en ningún ámbito vuelve a su valor defaultEnabled. Ámbitos:
  • Configuraciones de usuario (~/.claude/settings.json): Preferencias personales de plugins
  • Configuraciones de proyecto (.claude/settings.json): Plugins específicos del proyecto compartidos con el equipo
  • Configuraciones locales (.claude/settings.local.json): Anulaciones por máquina, ignoradas por git cuando Claude Code las crea
  • Configuraciones administradas (managed-settings.json): Anulaciones de política a nivel de organización que bloquean la instalación en todos los ámbitos y ocultan el plugin del marketplace
Las configuraciones de proyecto tienen precedencia sobre las configuraciones de usuario, por lo que establecer un plugin en false en ~/.claude/settings.json no deshabilita un plugin que la .claude/settings.json del proyecto habilita. Para optar por no participar en un plugin habilitado por el proyecto en su máquina, establézcalo en false en .claude/settings.local.json en su lugar.Los plugins forzados a estar habilitados por configuraciones administradas no pueden deshabilitarse de esta manera, ya que las configuraciones administradas anulan las configuraciones locales.Habilitar un plugin desde una fuente externa como un repositorio de GitHub o paquete npm en la .claude/settings.json de un proyecto no lo instala para otras personas. A partir de Claude Code v2.1.195, cada ruta que carga plugins solicita a cada usuario que instale y confíe en el plugin antes de que se ejecute.
Ejemplo:

pluginConfigs

Almacena los valores de opciones no sensibles que la solicitud userConfig de un plugin recopila, indexados por ID de plugin. Claude Code escribe esta clave en la configuración de usuario cuando completa el diálogo de configuración del plugin, por lo que no necesita editarla manualmente. Las opciones sensibles se almacenan en el Keychain de macOS en su lugar, o en ~/.claude/.credentials.json en plataformas sin un keychain compatible. Este ejemplo almacena una opción para un plugin instalado desde el marketplace acme-tools:
pluginConfigs se lee desde la configuración de usuario, la bandera --settings y la configuración administrada solamente. Las entradas en la .claude/settings.json o .claude/settings.local.json de un proyecto se ignoran, porque estos valores se sustituyen en configuraciones de hook, MCP y LSP de plugins, y un repositorio clonado no debe poder proporcionarlos. Antes de v2.1.207, la configuración de proyecto y local también se leía.

extraKnownMarketplaces

Define marketplaces adicionales que deben estar disponibles para el repositorio. Típicamente se usa en configuraciones a nivel de repositorio para asegurar que los miembros del equipo tengan acceso a fuentes de plugins requeridas. Cuando un repositorio incluye extraKnownMarketplaces:
  1. Los miembros del equipo reciben un aviso para instalar el marketplace cuando confían en la carpeta
  2. Los miembros del equipo reciben un aviso para instalar plugins de ese marketplace
  3. Los usuarios pueden omitir marketplaces o plugins no deseados (almacenados en configuraciones de usuario)
  4. La instalación respeta límites de confianza y requiere consentimiento explícito
Ejemplo:
Tipos de fuente de marketplace:
  • github: Repositorio de GitHub (usa repo)
  • git: Cualquier URL de git (usa url)
  • directory: Ruta del sistema de archivos local (usa path, solo para desarrollo)
  • hostPattern: Patrón regex para coincidir con hosts de marketplace (usa hostPattern)
  • settings: marketplace en línea declarado directamente en settings.json sin un repositorio alojado separado (usa name y plugins)
El tipo de fuente git funciona con cualquier servicio de alojamiento de git, incluyendo GitLab autohospedado y Bitbucket. Claude Code clona el repositorio con la misma autenticación que git clone usaría en esa máquina: helpers de credenciales configurados o claves SSH. Un token de proveedor como GITHUB_TOKEN solo tiene efecto a través de un helper de credenciales que lo lee. Consulte Repositorios privados para detalles de configuración. Para fuentes github y git, establezca "skipLfs": true dentro del objeto source (junto a repo o url) para omitir descargas de Git LFS cuando Claude Code clona o actualiza el repositorio de marketplace. Los archivos de puntero de LFS permanecen como punteros en lugar de descargar su contenido. Use esto cuando el repositorio contiene objetos LFS grandes no relacionados con el contenido del plugin. Requiere Claude Code v2.1.153 o posterior. Cada entrada de marketplace también acepta un Boolean autoUpdate opcional. Establezca "autoUpdate": true junto a source para hacer que Claude Code actualice ese marketplace e instale sus plugins instalados en segundo plano después del inicio. Cuando se omite, los marketplaces oficiales de Anthropic tienen por defecto true y todos los demás marketplaces tienen por defecto false. Consulte Configurar actualizaciones automáticas. Use source: 'settings' para declarar un pequeño conjunto de plugins en línea sin configurar un repositorio de marketplace alojado. Los plugins listados aquí deben hacer referencia a fuentes externas como GitHub o npm. Aún necesita habilitar cada plugin por separado en enabledPlugins.

strictKnownMarketplaces

Solo configuraciones administradas: Controla qué marketplaces de plugins se permite a los usuarios agregar e instalar plugins desde. Esta configuración solo se puede configurar en configuraciones administradas y proporciona a los administradores control estricto sobre fuentes de marketplace. Ubicaciones de archivos de configuraciones administradas:
  • 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
Características clave:
  • Solo disponible en configuraciones administradas (managed-settings.json)
  • No puede ser anulada por configuraciones de usuario o proyecto (precedencia más alta)
  • Se aplica antes de operaciones de red y sistema de archivos, por lo que las fuentes bloqueadas nunca se ejecutan
  • Usa coincidencia exacta para especificaciones de fuente (incluyendo ref, path para fuentes de git), excepto hostPattern y pathPattern, que usan coincidencia regex
Comportamiento de lista blanca:
  • undefined (predeterminado): sin restricciones, por lo que los usuarios pueden agregar cualquier marketplace
  • Matriz vacía []: bloqueo completo, por lo que los usuarios no pueden agregar nuevos marketplaces
  • Lista de fuentes: los usuarios solo pueden agregar marketplaces que coincidan exactamente
Todos los tipos de fuente admitidos: La lista blanca admite múltiples tipos de fuente de marketplace. La mayoría de las fuentes usan coincidencia exacta, mientras que hostPattern y pathPattern usan coincidencia regex contra el host del marketplace y la ruta del sistema de archivos respectivamente.
  1. Repositorios de GitHub:
Campos: repo (requerido), ref (opcional: rama o etiqueta), path (opcional: subdirectorio)
  1. Repositorios de Git:
Campos: url (requerido), ref (opcional: rama o etiqueta), path (opcional: subdirectorio)
  1. Marketplaces basados en URL:
Campos: url (requerido), headers (opcional: encabezados HTTP para acceso autenticado)
Los marketplaces basados en URL solo descargan el archivo marketplace.json. No descargan archivos de plugins del servidor. Los plugins en marketplaces basados en URL deben usar fuentes externas (URLs de GitHub, npm o git) en lugar de rutas relativas. Para plugins con rutas relativas, use un marketplace basado en Git en su lugar. Consulte Troubleshooting para obtener detalles.
  1. Paquetes NPM:
Campos: package (requerido, admite paquetes con alcance)
  1. Rutas de archivo:
Campos: path (requerido: ruta absoluta al archivo marketplace.json)
  1. Rutas de directorio:
Campos: path (requerido: ruta absoluta al directorio que contiene .claude-plugin/marketplace.json)
  1. Coincidencia de patrón de host:
Campos: hostPattern (requerido: patrón regex para coincidir contra el host del marketplace) Use coincidencia de patrón de host cuando desee permitir todos los marketplaces de un host específico sin enumerar cada repositorio individualmente. Esto es útil para organizaciones con GitHub Enterprise interno o servidores GitLab donde los desarrolladores crean sus propios marketplaces. Extracción de host por tipo de fuente:
  • github: siempre coincide contra github.com
  • git: extrae nombre de host de la URL (admite formatos HTTPS y SSH)
  • url: extrae nombre de host de la URL
  • npm, file, directory: no admitido para coincidencia de patrón de host
  1. Coincidencia de patrón de ruta:
Campos: pathPattern (requerido: patrón regex coincidido contra el campo path de fuentes file y directory) Use coincidencia de patrón de ruta para permitir marketplaces basados en sistema de archivos junto con restricciones hostPattern para fuentes de red. Establezca ".*" para permitir todas las rutas locales, o un patrón más estrecho para restringir a directorios específicos. Ejemplos de configuración: Ejemplo: permitir solo marketplaces específicos:
Ejemplo: deshabilitar todas las adiciones de marketplace:
Ejemplo: permitir todos los marketplaces de un servidor git interno:
Requisitos de coincidencia exacta: Las fuentes de marketplace deben coincidir exactamente para que se permita la adición de un usuario. Para fuentes basadas en git (github y git), esto incluye todos los campos opcionales:
  • El repo o url debe coincidir exactamente
  • El campo ref debe coincidir exactamente (o ambos estar sin definir)
  • El campo path debe coincidir exactamente (o ambos estar sin definir)
Ejemplos de fuentes que no coinciden:
Comparación con extraKnownMarketplaces: Diferencia de formato: strictKnownMarketplaces usa objetos de fuente directos:
extraKnownMarketplaces requiere marketplaces nombrados:
Usando ambos juntos: strictKnownMarketplaces es una puerta de política: controla qué pueden agregar los usuarios pero no registra ningún marketplace. Para restringir y pre-registrar un marketplace para todos los usuarios, establezca ambos en managed-settings.json:
Con solo strictKnownMarketplaces establecido, los usuarios aún pueden agregar el marketplace permitido manualmente a través de /plugin marketplace add, pero no está disponible automáticamente. Notas importantes:
  • Las restricciones se verifican antes de cualquier solicitud de red u operación del sistema de archivos
  • Cuando se bloquea, los usuarios ven mensajes de error claros indicando que la fuente está bloqueada por política administrada
  • La restricción se aplica en agregar marketplace y en instalar, actualizar, actualizar y auto-actualizar plugins. Un marketplace agregado antes de que se estableciera la política no puede usarse para instalar o actualizar plugins una vez que su fuente ya no coincida con la lista blanca
  • Las configuraciones administradas tienen la precedencia más alta y no pueden ser anuladas
Consulte Restricciones de marketplace administradas para documentación dirigida al usuario.

strictPluginOnlyCustomization

Solo configuraciones administradas: bloquea skills, agentes, hooks y servidores MCP de fuentes de usuario y proyecto, por lo que solo pueden provenir de plugins o configuraciones administradas. Combínelo con strictKnownMarketplaces para controlar la cadena de suministro de personalización completa: la lista blanca de marketplace controla qué plugins pueden instalar los usuarios, y esta configuración bloquea todo lo que no proviene de un plugin o de configuraciones administradas. El valor es true para bloquear las cuatro superficies, o una matriz que nombra las superficies a bloquear:
Para cada superficie bloqueada, Claude Code omite fuentes a nivel de usuario y proyecto y carga solo fuentes proporcionadas por plugins y administradas: Los nombres de superficie que una versión de Claude Code no reconoce se ignoran en lugar de fallar en el archivo de configuración, por lo que puede agregar nuevos nombres de superficie antes de que todos los clientes se hayan actualizado.

Gestionar plugins

Use el comando /plugin para gestionar plugins interactivamente:
  • Examinar plugins disponibles de marketplaces
  • Instalar/desinstalar plugins
  • Habilitar/deshabilitar plugins
  • Ver detalles de plugins (skills, agentes, hooks proporcionados)
  • Agregar/eliminar marketplaces
Obtenga más información sobre el sistema de plugins en la documentación de plugins.

Variables de entorno

Las variables de entorno le permiten controlar el comportamiento de Claude Code sin editar archivos de configuración. Cualquier variable también se puede configurar en settings.json bajo la clave env para aplicarla a cada sesión o implementarla en su equipo. Consulte la referencia de variables de entorno para la lista completa.

Herramientas disponibles para Claude

Claude Code tiene acceso a un conjunto de herramientas para leer, editar, buscar, ejecutar comandos y orquestar subagents. Los nombres de herramientas son las cadenas exactas que utiliza en reglas de permiso y coincidencias de hooks. Consulte la referencia de herramientas para la lista completa y detalles del comportamiento de la herramienta Bash.

Ver también