Configuración de Claude Code
Aprende cómo configurar Claude Code con ajustes globales y a nivel de proyecto, temas y variables de entorno.
Claude Code ofrece una variedad de ajustes para configurar su comportamiento según tus necesidades. Puedes configurar Claude Code ejecutando claude config
en tu terminal, o el comando /config
cuando uses el REPL interactivo.
Jerarquía de configuración
El nuevo archivo settings.json
es nuestro mecanismo oficial para configurar Claude Code a través de ajustes jerárquicos.
Los ajustes de usuario se definen en ~/.claude/settings.json
y se aplican a todos los proyectos.
Los ajustes del proyecto se guardan en tu directorio de proyecto bajo .claude/settings.json
para ajustes compartidos, y .claude/settings.local.json
para ajustes locales del proyecto. Claude Code configurará git para ignorar .claude/settings.local.json
cuando se cree.
Para implementaciones empresariales de Claude Code, también admitimos ajustes de políticas gestionadas por la empresa. Estos tienen prioridad sobre los ajustes de usuario y proyecto. Los administradores del sistema pueden implementar políticas en /Library/Application Support/ClaudeCode/policies.json
en macOS y /etc/claude-code/policies.json
en Linux y Windows a través de WSL.
Precedencia de ajustes
Los ajustes se aplican en orden de precedencia, con las fuentes posteriores anulando las fuentes anteriores:
- Ajustes de usuario
- Ajustes compartidos del proyecto
- Ajustes locales del proyecto
- Argumentos de línea de comandos
- Políticas empresariales
Opciones de configuración
Claude Code admite configuración global y a nivel de proyecto.
Para gestionar tus configuraciones, usa los siguientes comandos:
- Listar ajustes:
claude config list
- Ver un ajuste:
claude config get <key>
- Cambiar un ajuste:
claude config set <key> <value>
- Agregar a un ajuste (para listas):
claude config add <key> <value>
- Eliminar de un ajuste (para listas):
claude config remove <key> <value>
Por defecto, config
cambia tu configuración de proyecto. Para gestionar tu configuración global, usa la bandera --global
(o -g
).
Configuración global
Para establecer una configuración global, usa claude config set -g <key> <value>
:
Clave | Valor | Descripción |
---|---|---|
autoUpdaterStatus | disabled o enabled | Habilitar o deshabilitar el actualizador automático (predeterminado: enabled ) |
env | JSON (ej. '{"FOO": "bar"}' ) | Variables de entorno que se aplicarán a cada sesión |
preferredNotifChannel | iterm2 , iterm2_with_bell , terminal_bell , o notifications_disabled | Dónde quieres recibir notificaciones (predeterminado: iterm2 ) |
theme | dark , light , light-daltonized , o dark-daltonized | Tema de color |
verbose | true o false | Si mostrar salidas completas de bash y comandos (predeterminado: false ) |
Configuración del proyecto
Gestiona la configuración del proyecto con claude config set <key> <value>
(sin la bandera -g
):
Clave | Valor | Descripción |
---|---|---|
allowedTools | array de herramientas | Qué herramientas pueden ejecutarse sin aprobación manual |
ignorePatterns | array de patrones glob | Qué archivos/directorios se ignoran al usar herramientas |
Por ejemplo:
Permisos
Puedes gestionar los permisos de herramientas de Claude Code con /allowed-tools
. Esta interfaz lista todas las reglas de permisos y el archivo settings.json del que provienen.
- Las reglas Allow permitirán que Claude Code use la herramienta especificada sin aprobación manual adicional.
- Las reglas Deny impedirán que Claude Code use la herramienta especificada. Las reglas Deny tienen prioridad sobre las reglas Allow.
Las reglas de permisos usan el formato: Tool(optional-specifier)
.
Por ejemplo, agregar WebFetch
a la lista de reglas allow permitiría cualquier uso de la herramienta de búsqueda web sin requerir aprobación del usuario. Consulta la lista de herramientas disponibles para Claude (usa el nombre entre paréntesis cuando se proporcione).
Algunas herramientas usan el especificador opcional para controles de permisos más detallados. Por ejemplo, una regla allow con WebFetch(domain:example.com)
permitiría búsquedas en example.com pero no en otras URLs.
Las reglas Bash pueden ser coincidencias exactas como Bash(npm run build)
, o coincidencias de prefijo cuando terminan con :*
como Bash(npm run test:*)
Las reglas Read()
y Edit()
siguen la especificación gitignore. Los patrones se resuelven relativos al directorio que contiene .claude/settings.json
. Para referenciar una ruta absoluta, usa //
. Para una ruta relativa a tu directorio home, usa ~/
. Por ejemplo Read(//tmp/build_cache)
o Edit(~/.zshrc)
. Claude también hará un mejor esfuerzo para aplicar reglas Read y Edit a otras herramientas relacionadas con archivos como Grep, Glob y LS.
Los nombres de herramientas MCP siguen el formato: mcp__server_name__tool_name
donde:
server_name
es el nombre del servidor MCP configurado en Claude Codetool_name
es la herramienta específica proporcionada por ese servidor
Más ejemplos:
Regla | Descripción |
---|---|
Bash(npm run build) | Coincide con el comando Bash exacto npm run build . |
Bash(npm run test:*) | Coincide con comandos Bash que comienzan con npm run test . Ver nota abajo sobre el manejo de separadores de comandos. |
Edit(~/.zshrc) | Coincide con el archivo ~/.zshrc . |
Read(node_modules/**) | Coincide con cualquier directorio node_modules . |
mcp__puppeteer__puppeteer_navigate | Coincide con la herramienta puppeteer_navigate del servidor MCP puppeteer . |
WebFetch(domain:example.com) | Coincide con solicitudes fetch a example.com |
Claude Code es consciente de los separadores de comandos (como &&
) por lo que una regla de coincidencia de prefijo
como Bash(safe-cmd:*)
no le dará permiso para ejecutar el comando safe-cmd && other-cmd
Opciones de permisos del auto-actualizador
Cuando Claude Code detecta que no tiene suficientes permisos para escribir en tu directorio de prefijo npm global (requerido para actualizaciones automáticas), verás una advertencia que apunta a esta página de documentación. Para soluciones detalladas a problemas del auto-actualizador, consulta la guía de solución de problemas.
Recomendado: Crear un nuevo prefijo npm escribible por el usuario
Por qué recomendamos esta opción:
- Evita modificar los permisos del directorio del sistema
- Crea una ubicación limpia y dedicada para tus paquetes npm globales
- Sigue las mejores prácticas de seguridad
Dado que Claude Code está en desarrollo activo, recomendamos configurar las actualizaciones automáticas usando la opción recomendada anterior.
Deshabilitar el auto-actualizador
Si prefieres deshabilitar el auto-actualizador en lugar de arreglar los permisos, puedes usar:
Optimiza tu configuración de terminal
Claude Code funciona mejor cuando tu terminal está correctamente configurada. Sigue estas pautas para optimizar tu experiencia.
Shells soportados:
- Bash
- Zsh
- Fish
Temas y apariencia
Claude no puede controlar el tema de tu terminal. Eso lo maneja tu aplicación de terminal. Puedes hacer coincidir el tema de Claude Code con tu terminal durante la configuración inicial o en cualquier momento a través del comando /config
Saltos de línea
Tienes varias opciones para ingresar saltos de línea en Claude Code:
- Escape rápido: Escribe
\
seguido de Enter para crear una nueva línea - Atajo de teclado: Presiona Option+Enter (Meta+Enter) con la configuración adecuada
Para configurar Option+Enter en tu terminal:
Para Mac Terminal.app:
- Abre Configuración → Perfiles → Teclado
- Marca “Usar Option como tecla Meta”
Para iTerm2 y terminal de VSCode:
- Abre Configuración → Perfiles → Teclas
- En General, establece la tecla Option izquierda/derecha en “Esc+”
Consejo para usuarios de iTerm2 y VSCode: Ejecuta /terminal-setup
dentro de Claude Code para configurar automáticamente Shift+Enter como una alternativa más intuitiva.
Configuración de notificaciones
Nunca te pierdas cuando Claude complete una tarea con la configuración adecuada de notificaciones:
Notificaciones de campana de terminal
Habilita alertas sonoras cuando se completen las tareas:
Para usuarios de macOS: No olvides habilitar los permisos de notificación en Configuración del Sistema → Notificaciones → [Tu App de Terminal].
Notificaciones del sistema iTerm 2
Para alertas de iTerm 2 cuando se completen las tareas:
- Abre Preferencias de iTerm 2
- Navega a Perfiles → Terminal
- Habilita “Silenciar campana” y “Enviar notificación cuando esté inactivo”
- Establece tu retraso de notificación preferido
Ten en cuenta que estas notificaciones son específicas de iTerm 2 y no están disponibles en la Terminal predeterminada de macOS.
Manejo de entradas grandes
Cuando trabajes con código extenso o instrucciones largas:
- Evita el pegado directo: Claude Code puede tener dificultades con contenido pegado muy largo
- Usa flujos de trabajo basados en archivos: Escribe contenido en un archivo y pide a Claude que lo lea
- Ten en cuenta las limitaciones de VS Code: La terminal de VS Code es particularmente propensa a truncar pegados largos
Modo Vim
Claude Code admite un subconjunto de atajos de teclado de Vim que se pueden habilitar con /vim
o configurar a través de /config
.
El subconjunto admitido incluye:
- Cambio de modo:
Esc
(a NORMAL),i
/I
,a
/A
,o
/O
(a INSERT) - Navegación:
h
/j
/k
/l
,w
/e
/b
,0
/$
/^
,gg
/G
- Edición:
x
,dw
/de
/db
/dd
/D
,cw
/ce
/cb
/cc
/C
,.
(repetir)
Variables de entorno
Claude Code admite las siguientes variables de entorno para controlar su comportamiento:
Variable | Propósito |
---|---|
DISABLE_AUTOUPDATER | Establece en 1 para deshabilitar el actualizador automático |
DISABLE_BUG_COMMAND | Establece en 1 para deshabilitar el comando /bug |
DISABLE_COST_WARNINGS | Establece en 1 para deshabilitar los mensajes de advertencia de costo |
DISABLE_ERROR_REPORTING | Establece en 1 para optar por no participar en el reporte de errores de Sentry |
DISABLE_TELEMETRY | Establece en 1 para optar por no participar en la telemetría de Statsig (ten en cuenta que los eventos de Statsig no incluyen datos de usuario como código, rutas de archivo o comandos bash) |
HTTP_PROXY | Especifica el servidor proxy HTTP para conexiones de red |
HTTPS_PROXY | Especifica el servidor proxy HTTPS para conexiones de red |
MCP_TIMEOUT | Tiempo de espera en milisegundos para el inicio del servidor MCP |
MCP_TOOL_TIMEOUT | Tiempo de espera en milisegundos para la ejecución de herramientas MCP |
Was this page helpful?