Configuración de desarrollo: ajustando el 'entorno de trabajo' de Claude
📚 Navegación de la serie: El artículo anterior 45 Agent SDK te enseñó cómo extraer las capacidades de Claude Code e integrarlas en tus propios programas. Este artículo regresa a tu terminal cotidiana: dónde se ejecuta Claude, qué archivos puede tocar, si utiliza proxy, su apariencia y qué modelo emplea. Estas cinco áreas de tu "entorno de trabajo" son las que ajustaremos en esta sección según tus necesidades. Explicaremos las opciones más comunes de la configuración de desarrollo.
Para empezar, presentemos una situación en la que muchas personas suelen encontrarse.
Muchos usan Claude Code durante meses sin cambiar su configuración predeterminada. Hasta que un día deben trabajar en un repositorio privado de un cliente y surge la duda: como no conocen el código, temen que contenga comandos dañinos que Claude ejecute directamente en su máquina de trabajo (con acceso a llaves SSH, credenciales npm y archivos privados). ¿Cuál suele ser la "medida de seguridad" adoptada? Vigilar cada comando en pantalla con el dedo listo en Ctrl+C. Tras una tarde de supervisión manual, terminan agotados y sin haber avanzado mucho.
La documentación oficial ofrece una solución simple: ejecutar a Claude dentro de un entorno aislado (sandbox). Puedes optar por sandboxes, contenedores o máquinas virtuales para que cualquier acción se ejecute de forma aislada sin comprometer tu máquina principal. Supervisar manualmente cada comando es innecesario si se configura el aislamiento.
Abordamos esto para ayudarte a evitar ese esfuerzo. La configuración del entorno de desarrollo no suele destacar, pero es clave para la seguridad, el control de costos y la comodidad de uso. Analizaremos las cinco áreas más comunes: qué resuelven, cuándo aplicarlas y cómo configurarlas.
Al terminar este artículo, obtendrás:
- Una descripción rápida de las cinco áreas de configuración (sandbox, devcontainer, red, terminal y modelo) para saber cuándo ajustarlas.
- Cómo iniciar el aislamiento (sandbox) con el comando
/sandboxpara que Claude trabaje de forma autónoma dentro de un límite definido. - Qué es un devcontainer, su diferencia con el sandbox y por qué es útil en equipos de trabajo.
- Cómo configurar la conexión de Claude Code si trabajas detrás de un proxy corporativo o cortafuegos.
- Las tres opciones de terminal que conviene ajustar (salto de línea, notificaciones y tema) y cómo seleccionar modelos según la tarea para optimizar el consumo.
- Un ejercicio práctico paso a paso para configurar un sandbox y definir un modelo de trabajo.
01 Las cinco áreas del 'entorno de trabajo' de Claude
Antes de configurar, clasifiquemos las opciones. La "configuración de desarrollo" no es un conjunto de interruptores aislados; gestiona cinco aspectos del entorno donde trabaja Claude.
Analogía: organizar el espacio de trabajo para un nuevo técnico. Cuando llega un técnico (Claude) a trabajar, debes adecuar su espacio: en qué área trabajará (en tu máquina principal o en un taller aislado), qué conexiones tiene esa área (acceso a internet o restricciones del cortafuegos corporativo), si las herramientas y la iluminación son cómodas (ajustes de la terminal: saltos de línea, notificaciones y colores) y qué nivel de especialización requiere la tarea (qué modelo asignarle). Una vez organizado su espacio, trabajará de forma segura y eficiente. La configuración de desarrollo representa esta organización del taller de trabajo.
En Claude Code, estas cinco áreas se definen de la siguiente manera:
- Aislamiento (dónde trabaja): sandbox / devcontainer. Define el alcance de los archivos y comandos a los que Claude tiene acceso en tu máquina.
- Red (a dónde se conecta): configuración de proxy y certificados. Permite conectar a Claude si trabajas detrás de un cortafuegos corporativo.
- Terminal (comodidad de uso): saltos de línea, notificaciones, temas y modo Vim para adaptar la terminal a tus preferencias.
- Modelo (quién realiza la tarea): asignación de Opus, Sonnet o Haiku para balancear la capacidad y el costo.
Compara las áreas en esta tabla de referencia:
| Área de configuración | Qué resuelve | Cuándo ajustarla |
|---|---|---|
| Aislamiento (sandbox) | Permite que Claude trabaje con menos confirmaciones dentro de un entorno seguro | Si deseas reducir las alertas de permisos o trabajas con código no verificado |
| devcontainer | Define un entorno de desarrollo aislado y consistente para todo el equipo | Para colaborar en equipo, automatizar tareas o estandarizar el entorno para nuevos desarrolladores |
| Configuración de red | Resuelve problemas de conexión detrás de proxies o cortafuegos | Si la conexión con api.anthropic.com falla o se requiere inspección TLS corporativa |
| Configuración de terminal | Ajusta el comportamiento visual, los saltos de línea y las alertas de la consola | Si Shift+Enter envía el mensaje en lugar de saltar línea, o quieres alertas sonoras al terminar |
| Configuración de modelo | Selecciona el modelo adecuado según la tarea para optimizar costos | Si el consumo de cuota es elevado o deseas asignar modelos específicos para tareas de diseño |
No necesitas memorizar esta tabla, solo identifica a qué categoría pertenece tu duda actual: los fallos de conexión corresponden a red y no a sandbox; las alertas recurrentes de permisos corresponden a sandbox y no a modelos. Una vez clasificada la duda, dirígete a su sección correspondiente.
De estas cinco áreas, sandbox, red y modelos son las que configurarás con mayor frecuencia; devcontainer es para entornos de equipo y la configuración de terminal es para preferencias personales de visualización. Si dispones de poco tiempo, enfócate en sandbox, red y modelos.
💡 Resumen rápido: La configuración de desarrollo organiza el "entorno de trabajo" de Claude en cinco áreas: aislamiento (sandbox / devcontainer), red, terminal y modelo. Identifica la categoría de tu necesidad para aplicar el ajuste correspondiente.
02 Sandbox: reduciendo confirmaciones en un entorno protegido
Comencemos con la opción más práctica y a menudo omitida: el sandbox de Bash (sandboxed Bash tool). Es una característica nativa de Claude Code y se activa con un solo comando.
Resolviendo la dualidad: control vs. agilidad
Al utilizar Claude Code, te enfrentas a una decisión constante: quieres que sea ágil pero temes que ejecute comandos dañinos. Los modos de permisos (vistos en el artículo 20) ofrecen dos extremos: confirmar cada comando individualmente (lo que ralentiza el flujo) o permitir la ejecución automática sin supervisión (lo que compromete la seguridad). El sandbox ofrece un punto medio.
Analogía: probar un coche en una pista de pruebas cerrada. No permitirías que un coche sin probar ruede a alta velocidad por la ciudad por riesgo de colisión. En una pista de pruebas cerrada, delimitada por muros de contención, el coche puede rodar al máximo sin riesgo de salir del circuito. El sandbox es esa pista de pruebas para Claude: delimita a nivel de sistema operativo qué directorios puede leer o escribir y qué redes puede acceder. Claude ejecuta los comandos en esa área de forma autónoma sin pedir confirmación; si intenta salir del límite (como acceder a una dirección de red no registrada), el flujo se detiene para solicitar tu aprobación.
La documentación oficial lo define de la siguiente manera:
El sandbox de Bash permite a Claude ejecutar la mayoría de los comandos de shell sin interrumpir el flujo para solicitar permisos. En lugar de aprobar cada comando, defines a qué archivos y dominios de red puede acceder, y el sistema operativo aplica este límite al comando Bash y a sus procesos secundarios.
El término clave es "aplicado por el sistema operativo": no es un compromiso blando de Claude de no salir del límite, sino que el sistema operativo restringe su acceso físicamente. A diferencia de las directrices en CLAUDE.md, esta es una barrera dura de seguridad.
Activación: el comando /sandbox
El sandbox viene integrado en Claude Code. Está soportado en macOS, Linux y WSL2; no tiene soporte nativo en Windows (los usuarios de Windows lo ejecutan dentro de WSL2). Para activarlo, escribe en la sesión:
/sandboxSe abrirá una interfaz con tres pestañas:
- Mode (Modo): selecciona "Auto-allow" o "Normal". Auto-allow permite que los comandos dentro del sandbox se ejecuten sin alertas; Normal mantendrá las solicitudes de confirmación tradicionales.
- Overrides: controla si los comandos que no pueden ejecutarse dentro del sandbox deben ejecutarse fuera de él (opción
allowUnsandboxedCommands). - Config: muestra las reglas y límites actuales del sandbox.
Requisitos según el sistema operativo:
- macOS: no requiere instalaciones de software adicionales. Utiliza el framework nativo Seatbelt del sistema.
- Linux / WSL2: requiere los paquetes
bubblewrap(para el aislamiento de archivos) ysocat(para la gestión de red). Si no están instalados, la pestaña Dependencies del comando/sandboxte indicará la ausencia. Instálalos (en Ubuntu/Debian:sudo apt-get install bubblewrap socat) y reinicia Claude Code para activar el sandbox.
Por defecto, los límites son estrictos: los comandos solo pueden escribir en el directorio de trabajo actual, y la conexión a dominios de red externos detendrá el flujo para solicitar confirmación del usuario por cada nuevo dominio. El modo seleccionado se guardará en el archivo .claude/settings.local.json de la raíz del proyecto (solo aplicable a este proyecto y sin subirse a git). Si deseas activar el sandbox por defecto en todos tus proyectos, edita el archivo global ~/.claude/settings.json y establece sandbox.enabled en true (las reglas de prioridad se explicaron en el artículo 31).
Advertencia sobre fallos de inicio: si el sandbox no puede iniciarse por falta de dependencias o incompatibilidad, Claude Code mostrará una advertencia y continuará la ejecución sin aislamiento. Esto previene interrupciones en tu trabajo, pero significa que podrías estar ejecutando comandos sin la protección del sandbox. Si requieres que la ejecución se detenga ante fallos del sandbox, establece la opción sandbox.failIfUnavailable en true.
Límite crítico: el sandbox solo aplica a Bash
Debes tener en cuenta este límite para no asumir una seguridad total: el sandbox integrado solo aísla los comandos ejecutados a través de la herramienta Bash. Las demás acciones de Claude, como la lectura y edición de archivos (Read / Edit), la consulta web (WebFetch), los MCP servers o los Hooks se ejecutan de forma directa en tu máquina principal, fuera de la protección del sandbox.
La documentación oficial lo aclara:
Las herramientas de archivos integradas, los servidores MCP y los hooks se siguen ejecutando directamente en tu máquina local.
Por lo tanto, el sandbox integrado es adecuado para el desarrollo diario en tu máquina si buscas reducir las alertas de permisos. Si necesitas aislar por completo el proceso de Claude Code (incluyendo lectura de archivos, MCP y Hooks), debes recurrir a contenedores (devcontainer) o al entorno sandbox runtime (en fase experimental y sujeto a cambios) que ejecuta todo el flujo de trabajo de forma aislada.
💡 Resumen rápido: El sandbox delimita un entorno seguro para los comandos de Bash usando
/sandbox. El sistema operativo restringe los archivos y dominios accesibles, permitiendo que Claude ejecute comandos sin solicitar confirmaciones recurrentes. Recuerda que solo aplica a Bash; herramientas de archivos, MCP y Hooks operan directamente en tu máquina.
03 devcontainer: un entorno de desarrollo estandarizado e independiente
A diferencia del sandbox, que aísla los comandos de Bash en tu máquina local, el devcontainer (contenedor de desarrollo) traslada todo el entorno de Claude dentro de un contenedor Docker aislado.
Resolviendo la consistencia y la ejecución autónoma
El devcontainer resuelve dos problemas comunes:
Primero, las diferencias de entorno en el equipo. Si un desarrollador usa Node 18 y otro Node 20, los resultados de ejecución de Claude diferirán, causando inconsistencias. Segundo, la ejecución autónoma. Si dejas a Claude resolviendo una tarea larga de forma autónoma en tu máquina local, existe el riesgo de que ejecute acciones no deseadas; en el contenedor, esas acciones quedan aisladas.
Analogía: un cubículo de estudio privado en la biblioteca. Si trabajas en el área común de la biblioteca (tu máquina principal), tus archivos y credenciales están expuestos en tu escritorio, y no puedes dejar tu lugar desatendido. En un cubículo privado, utilizas un espacio estándar provisto por la biblioteca (idéntico para todos), donde el trabajo queda confinado al cuarto y tus credenciales personales no están en el escritorio. El devcontainer es ese cubículo: un entorno configurado por código, consistente para todo el equipo, donde los comandos ejecutados por Claude no tienen acceso a tus llaves SSH o credenciales locales.
La definición de la documentación oficial:
Un contenedor de desarrollo (dev container) te permite definir un entorno de desarrollo consistente y aislado que todos los desarrolladores de tu equipo pueden ejecutar. Al instalar Claude Code en el contenedor, sus comandos se ejecutan dentro de este espacio aislado en lugar de tu máquina local, mientras que las modificaciones de código se reflejan en tu repositorio local a medida que trabaja.
El beneficio clave: los comandos se ejecutan en el espacio aislado, pero las ediciones se guardan directamente en tu repositorio local. Esto permite obtener la seguridad del aislamiento sin perder la inmediatez de los cambios.
Configuración: añadir la característica a devcontainer.json
La configuración de un devcontainer requiere Docker y un editor compatible con la especificación (VS Code, Codespaces, JetBrains o Cursor; editores de consola tradicionales no lo soportan). Para instalar Claude Code en el contenedor, añade la característica en el archivo .devcontainer/devcontainer.json del proyecto:
{
"image": "mcr.microsoft.com/devcontainers/base:ubuntu",
"features": {
"ghcr.io/anthropics/devcontainer-features/claude-code:1.0": {}
}
}El bloque features llama a la característica oficial Claude Code Dev Container Feature, encargada de instalar a Claude Code en el entorno. Ajusta la directiva image a la imagen base de tu proyecto. Tras editarlo, ejecuta la opción Dev Containers: Rebuild Container en VS Code (Cmd+Shift+P en Mac, Ctrl+Shift+P en Win/Linux) para reconstruir el entorno, e inicia claude en la terminal del contenedor para autenticar.
Advertencia sobre la persistencia: Los directorios de los contenedores suelen eliminarse al reconstruirse, lo que requerirá iniciar sesión en Claude en cada reconstrucción. Para evitarlo, monta un volumen persistente (named volume) apuntando al directorio
~/.claude. Para integraciones de largo plazo, configura el montaje del volumen según las directrices de devcontainer de tu editor.
Advertencia de seguridad oficial sobre contenedores:
Utilice contenedores de desarrollo solo en repositorios de confianza y supervise la actividad de Claude. Evite montar llaves del sistema local (como
~/.ssho credenciales de la nube) dentro del contenedor.
En resumen: el contenedor añade aislamiento, pero no es una barrera infalible. Especialmente si desactivas las confirmaciones de permisos para ejecuciones automáticas, comandos maliciosos dentro del código podrían comprometer los recursos accesibles por el contenedor. Evita montar tus llaves SSH locales; utiliza en su lugar credenciales temporales o de alcance limitado para el proyecto.
devcontainer vs. sandbox: tabla comparativa
Ambos términos implican aislamiento, pero a diferentes niveles. Comparamos las opciones de aislamiento disponibles en Claude Code:
| Nivel de aislamiento | Alcance del bloqueo | ¿Requiere Docker? | Uso recomendado |
|---|---|---|---|
Sandbox integrado (/sandbox) | Solo aísla comandos de Bash | No | Uso local cotidiano para reducir solicitudes de confirmación |
| devcontainer | Todo el entorno de desarrollo | Sí | Estandarizar el entorno del equipo y ejecuciones autónomas |
| Contenedor / VM dedicada | Todo el entorno y el sistema operativo | Sí para contenedores | Ejecutar código no verificado con aislamiento a nivel de kernel |
| Claude Code en web (Artículo 11) | Entorno e infraestructura en la nube | No | Prototipos rápidos sin necesidad de configurar entornos locales |
La escala de aislamiento va de menor a mayor complejidad y seguridad. Selecciona el nivel adecuado según tu confianza en el código con el que trabajas:

Este esquema representa la escala de aislamiento: a la izquierda, la ejecución directa en tu máquina sin restricciones; a la derecha, la ejecución segura en la nube administrada por Anthropic. A menor confianza en el código del repositorio, más a la derecha debes ubicarte en esta escala.
Criterio de selección rápida:
- Uso cotidiano en tu máquina con menos alertas → Sandbox integrado (comando
/sandbox). - Entorno consistente en equipo o ejecuciones autónomas → devcontainer (archivo
devcontainer.json). - Código de origen desconocido o no confiable → VM dedicada o Claude Code en web (aislamiento de infraestructura).
Para proyectos personales, el sandbox integrado es suficiente; para repositorios de clientes o código de terceros, prefiere devcontainer o la versión web del agente.
💡 Resumen rápido: devcontainer crea un "taller de trabajo aislado e idéntico para todo el equipo": los comandos se ejecutan en el contenedor Docker (protegiendo tus credenciales locales) y los cambios se guardan directamente en tu repositorio. Se configura agregando la característica en
.devcontainer/devcontainer.json.
04 Configuración de red: trabajando detrás de proxies o cortafuegos corporativos
Esta sección aborda la configuración necesaria si trabajas en entornos de red corporativos que requieren el paso a través de proxies o cortafuegos.
Resolviendo fallos de conexión
Claude Code requiere comunicarse con los servidores de API de Anthropic (o de tu proveedor de modelo). En redes corporativas, el tráfico de salida suele estar restringido: requiere pasar por un proxy corporativo, realizar inspección TLS con certificados locales o habilitar dominios en el cortafuegos. Si estas opciones no están configuradas, Claude Code fallará al iniciar o en su primera solicitud.
Analogía: acceder a un edificio corporativo con control de correspondencia. Si envías correspondencia (solicitudes de API), esta debe pasar obligatoriamente por la oficina de correspondencia (el proxy), no puedes enviarla directamente. Además, la oficina de seguridad revisa los paquetes aplicando su sello de inspección (certificados TLS corporativos). La correspondencia debe reconocer y aceptar ese sello para continuar. La configuración de red define la dirección de la oficina de correspondencia y los sellos de seguridad autorizados en Claude Code.
Estas opciones se pueden configurar mediante variables de entorno o en el archivo settings.json. Usaremos variables de entorno por su inmediatez en la terminal.
Proxies: variables de entorno estándar
Claude Code reconoce las variables de proxy estándar del sistema. Puedes declararlas en tu terminal antes de iniciar:
# Proxy seguro HTTPS (recomendado)
export HTTPS_PROXY=https://proxy.empresa.com:8080
# Proxy HTTP (si HTTPS no está disponible)
export HTTP_PROXY=http://proxy.empresa.com:8080
# Direcciones excluidas del proxy (conexión directa)
export NO_PROXY="localhost,127.0.0.1,.interno.empresa.com"Advertencias de configuración: primero, Claude Code no soporta proxies SOCKS, solo reconoce HTTP y HTTPS. Segundo, si el proxy requiere credenciales de usuario, inclúyelas en la URL (http://usuario:contraseña@proxy...), pero evita escribir contraseñas en scripts de inicialización de texto plano; utiliza variables de entorno del sistema.
Certificados TLS corporativos
Si tu empresa utiliza proxies de inspección TLS (como Zscaler o CrowdStrike), Claude Code confía de forma predeterminada en los certificados integrados de Mozilla y en el almacén de certificados del sistema operativo. Si el certificado raíz de la empresa está correctamente instalado en el sistema, la conexión funcionará de forma automática. Si experimentas fallos de TLS, indica la ruta al certificado raíz manualmente:
export NODE_EXTRA_CA_CERTS=/ruta/al/certificado-raiz-empresa.pemDominios a habilitar en el cortafuegos
Si necesitas solicitar al departamento de IT que habilite el tráfico para Claude Code, estos son los dominios de comunicación necesarios (al usar la API directa de Anthropic):
| Dominio | Función |
|---|---|
api.anthropic.com | Solicitudes de la API de Claude (esencial) |
claude.ai | Autenticación de la cuenta de claude.ai |
platform.claude.com | Autenticación del portal de desarrolladores de Anthropic |
downloads.claude.ai | Descarga de instaladores, plugins y actualizaciones |
storage.googleapis.com | Descargas de actualizaciones para versiones previas a la v2.1.116 |
bridge.claudeusercontent.com | Conexión WebSocket para extensiones de Chrome |
raw.githubusercontent.com | Origen de notas de lanzamiento e instaladores de complementos |
Nota para entornos con restricciones: Si tu red bloquea estos dominios, deberás utilizar proxies locales o configurar pasarelas personalizadas (como vimos en los artículos 04 y 05). Si tu flujo utiliza Amazon Bedrock o Google Vertex AI, las solicitudes irán dirigidas a los dominios de esos proveedores, por lo que no requerirás habilitar los dominios de Anthropic.
En redes con inspección TLS, los fallos de autenticación suelen deberse a la ausencia del certificado raíz corporativo en el entorno de desarrollo. Asegúrate de que el certificado esté instalado en el llavero o almacén del sistema operativo; esto suele solucionar la conexión sin necesidad de configurar variables de entorno manuales.
💡 Resumen rápido: Detrás de cortafuegos corporativos, usa
HTTPS_PROXYpara indicar el proxy (sin soporte para SOCKS) yNODE_EXTRA_CA_CERTSpara certificados TLS personalizados. Asegúrate de habilitarapi.anthropic.comen el cortafuegos o utilizar pasarelas de conexión alternativas si trabajas en entornos restringidos.
05 Configuración de la terminal: saltos de línea, notificaciones y temas
Esta sección detalla los ajustes para adaptar el comportamiento de la terminal de Claude Code a tus hábitos de uso.
1. Shift+Enter envía el mensaje en lugar de saltar línea
Este es un inconveniente común al iniciar. Si deseas escribir múltiples líneas y presionas Shift+Enter para saltar de línea, la terminal interpreta la acción como el envío del mensaje.
Solución universal: en cualquier terminal, la combinación Ctrl+J realiza un salto de línea, al igual que escribir una barra invertida \ seguida de Enter. Estas combinaciones funcionan de forma nativa sin necesidad de configuración adicional.
Para configurar la combinación Shift+Enter según tu aplicación de consola:
| Consola / IDE | Soporte de Shift+Enter para salto de línea |
|---|---|
| iTerm2, Ghostty, Kitty, Apple Terminal, Windows Terminal, WezTerm, Warp | Funciona de forma nativa sin configuración |
| VS Code, Cursor, Devin Desktop, Alacritty, Zed | Requiere ejecutar el asistente /terminal-setup |
| Consola de GNOME, IDEs de JetBrains (PyCharm, etc.) | No soportado por el entorno; utiliza Ctrl+J o \ seguido de Enter |
Para habilitarlo en VS Code o Cursor, ejecuta en la sesión de Claude:
/terminal-setupEl asistente registrará los atajos de teclado en el archivo de configuración de tu consola sin alterar los existentes. Al finalizar, reinicia el editor para aplicar los cambios. Ejecuta este comando en la consola de tu editor principal, no dentro de multiplexores como tmux o screen.
2. Alertas y notificaciones al finalizar tareas largas
Si ejecutas una tarea que toma varios minutos y cambias de ventana, podrías no notar cuándo Claude requiere tu confirmación de permisos o cuándo ha finalizado la tarea.
De forma predeterminada, las notificaciones de escritorio se envían en las consolas Ghostty, Kitty e iTerm2. Para otras consolas, puedes configurar una alerta sonora (bell) editando el archivo global ~/.claude/settings.json y agregando la opción preferredNotifChannel:
{
"preferredNotifChannel": "terminal_bell"
}Esto emitirá un sonido de consola al requerir atención o finalizar el proceso, permitiéndote cambiar de ventana con tranquilidad mientras se ejecutan tareas extensas.
3. Temas de color de la interfaz
La apariencia cromática de Claude Code se adapta al tema de tu consola. Ejecuta en la sesión:
/themeSelecciona la opción de detección automática para que la interfaz se adapte al tema claro o oscuro de tu sistema. Ten en cuenta que Claude Code adapta la paleta de su interfaz de consola, pero no modifica el tema o colores generales de tu aplicación de terminal (el cual debes configurar en las opciones de la aplicación). También puedes activar el modo de edición Vim ejecutando /config y cambiando el modo del editor a vim.
💡 Resumen rápido: Ajusta la terminal para tu comodidad: ejecuta
/terminal-setupsiShift+Enterno salta de línea (o usaCtrl+J), configurapreferredNotifChannelen"terminal_bell"para recibir alertas sonoras, y usa/themepara sincronizar los colores con el sistema.
06 Configuración de modelos: optimizando capacidades y costos
La elección del modelo define la capacidad de análisis y el costo por token (visto en los artículos 04 y 06). Explicaremos cómo seleccionar el modelo adecuado para cada tarea.
Evitando el uso excesivo de recursos
Claude Code ofrece varios modelos. La opción predeterminada puede no ser la más económica para tareas sencillas. Utilizar un modelo avanzado para corregir textos o formatear código incrementa los costos de API de manera innecesaria.
Analogía: asignar personal en una cocina según la complejidad del platillo. El chef principal (Opus) tiene los honorarios más altos; le asignas la creación del menú y los platillos complejos. El cocinero de línea (Sonnet) prepara el menú diario con eficiencia. El ayudante (Haiku) se encarga de la preparación básica y cortes rápidos. Un gestor eficiente no asignará al chef principal a lavar vegetales; organizar el trabajo según la complejidad reduce costos y optimiza los tiempos de entrega.
Anthropic utiliza alias de modelos para simplificar la selección sin tener que recordar los números de versión:
| Alias | Modelo asociado | Tarea recomendada |
|---|---|---|
opus | Claude 3.5 Opus | Razonamiento lógico complejo y diseño de arquitectura |
sonnet | Claude 3.5 Sonnet | Programación cotidiana (el modelo de uso general) |
haiku | Claude 3.5 Haiku | Tareas sencillas, revisiones rápidas o scripts de mantenimiento |
opusplan | Planificación con Opus / Ejecución con Sonnet | Planifica la tarea con Opus y cambia automáticamente a Sonnet para escribir el código |
default | Modelo recomendado por tu nivel | Restablece las configuraciones al modelo predeterminado de tu cuenta |
El alias opusplan balancea costo y razonamiento: utiliza Opus en el Plan Mode para diseñar la solución detallada y, una vez aprobada, cambia automáticamente a Sonnet para la escritura del código. Esto aplica Opus para la parte conceptual y Sonnet para la parte operativa. Es ideal para tareas de refactorización complejas.
El uso de alias garantiza que Claude Code llame a la versión recomendada por el proveedor para ese nivel de modelo. Si tu proyecto requiere usar una versión de modelo fija para reproducir resultados consistentes, especifica el nombre completo del modelo (por ejemplo, claude-opus-4-8) en lugar del alias.
Métodos para cambiar de modelo
Puedes especificar el modelo en cuatro niveles de prioridad (de temporal a permanente):
# 1. En la sesión de forma inmediata (durante la conversación)
/model sonnet
# 2. Al iniciar en la terminal (solo para la sesión actual)
claude --model opus
# 3. Mediante variables de entorno en la terminal
export ANTHROPIC_MODEL=sonnet// 4. De forma permanente en el archivo settings.json
{
"model": "opusplan"
}Si deseas definir un modelo fijo para un proyecto, regístralo en el campo model del archivo settings.json (verificando la capa correspondiente en el artículo 31). Las configuraciones del repositorio o las de la organización tienen prioridad y anularán tus preferencias locales. Si configuras Opus pero la terminal inicia con Sonnet, verifica que no esté restringido en el archivo settings.json del proyecto.
Ajuste de nivel de pensamiento (effort level)
Además de seleccionar el modelo, puedes ajustar su nivel de esfuerzo de pensamiento (effort level), que controla la profundidad del razonamiento del modelo y el consumo de tokens. Puedes configurarlo en cinco niveles: low (rápido y económico), medium (balance básico), high (balance recomendado para Opus y Sonnet), xhigh (razonamiento detallado) y max (máximo nivel de razonamiento sin restricciones de costo).
Uso del nivel de pensamiento:
- Para razonamiento puntual profundo: añade la palabra clave
ultrathinken tu instrucción. El modelo aplicará su máxima capacidad de razonamiento para esa instrucción específica sin alterar tu configuración general de la sesión. - Para cambiar el nivel general de la sesión: usa
/efforten la conversación para ajustar el selector, o edita el campoeffortLevelensettings.json.
Para optimizar costos, mantén el nivel en el estándar y añade ultrathink en instrucciones que requieran resolver fallos de lógica complejos o depurar flujos extensos.
Restricción de modelos para control de costos
En entornos de equipo, puedes utilizar la opción availableModels en settings.json para limitar los modelos que los desarrolladores pueden seleccionar, previniendo consumos excesivos de API por el uso de modelos costosos como Opus:
{
"availableModels": ["sonnet", "haiku"]
}Esta configuración restringirá el uso a los modelos listados, bloqueando intentos de cambio a Opus mediante comandos o variables de entorno, facilitando la administración de costos del proyecto.
💡 Resumen rápido: Selecciona modelos según la tarea:
opuspara diseño lógico,sonnetpara programación general yhaikupara tareas rápidas. Usaopusplanpara planificar con Opus y programar con Sonnet. Cambia de modelo con/modelo editasettings.json, y limita el uso del equipo conavailableModelspara controlar el gasto de API.
07 Ejercicio práctico: configurar un sandbox y definir un modelo de trabajo
Realizaremos un ejercicio básico de configuración: activar el sandbox integrado, validar su funcionamiento y cambiar el modelo de trabajo de forma temporal.
Requisitos: macOS, Linux o WSL2 con bubblewrap y socat instalados (para el sandbox), y una sesión activa de Claude Code.
Paso 1: Iniciar el asistente de sandbox
En tu sesión de terminal de claude, ejecuta:
/sandboxResultado esperado: Se mostrará la interfaz de configuración del sandbox. En la pestaña Mode, selecciona la opción Auto-allow utilizando las flechas y presiona Enter. Si se muestra una alerta de dependencias faltantes en Linux/WSL2, sal de Claude y asegúrate de instalar bubblewrap y socat en tu sistema.
Paso 2: Validar el funcionamiento del sandbox
Pídele a Claude que cree un archivo de prueba para validar que no solicite confirmación de permisos en directorios locales:
Crea un archivo de texto llamado sandbox-test.txt en este directorio que contenga la frase "hola sandbox" y luego elimínalo.Resultado esperado: Claude creará el archivo y lo eliminará de forma autónoma. No se mostrarán alertas de confirmación de permisos en tu pantalla, ya que el sandbox en modo "Auto-allow" autoriza estas acciones locales de forma automática.
Paso 3: Consultar el estado actual del modelo
/statusResultado esperado: Se abrirá la pantalla de estado mostrando la cuenta activa y el modelo actualmente asignado (por ejemplo, Sonnet). Registra este modelo de referencia.
Paso 4: Cambiar el modelo de la sesión y verificar
Cambia el modelo de trabajo al modelo rápido Haiku:
/model haikuResultado esperado: La terminal mostrará un mensaje confirmando el cambio a Haiku. Ejecuta de nuevo /status para verificar que el modelo asignado en la sesión se haya actualizado.
Paso 5: Restablecer la configuración predeterminada
/model defaultResultado esperado: El modelo se restablecerá al valor predeterminado de tu cuenta.
Completar este ejercicio te da la experiencia para activar el sandbox local y cambiar el modelo de la conversación. Utiliza este mismo flujo para realizar y validar cualquier ajuste de tu entorno de desarrollo.
💡 Resumen rápido: El flujo de práctica consta de cinco pasos: abrir
/sandboxy elegir Auto-allow → pedirle que cree y borre un archivo de prueba (validando la ausencia de alertas) → consultar el modelo con/status→ cambiar de modelo con/model haikuy verificar el cambio → restablecer con/model default.
08 Resumen
En este artículo hemos analizado la configuración del entorno de desarrollo de Claude Code para optimizar la seguridad, costos y comodidad.
Repasemos los conceptos clave analizados:
| Área de ajuste | Comando / Variable | Detalle clave |
|---|---|---|
| Sandbox | /sandbox (Auto-allow) | Aísla comandos de Bash restringiendo archivos y redes; no aplica a herramientas de archivos o MCP |
| devcontainer | .devcontainer/devcontainer.json | Estandariza el entorno del equipo con Docker; aísla credenciales locales |
| Red corporativa | HTTPS_PROXY y NODE_EXTRA_CA_CERTS | Permite la conexión detrás de proxies HTTP/HTTPS (no SOCKS) y TLS personalizados |
| Terminal | /terminal-setup, /theme, notificaciones | Configura saltos de línea con Shift+Enter (o Ctrl+J) y alertas sonoras de finalización |
| Modelos | /model, settings.json, availableModels | Asigna Opus, Sonnet o Haiku según complejidad; usa opusplan y availableModels para optimizar costos |
Ahora puedes:
- Activar y configurar el sandbox integrado para reducir alertas de permisos de forma segura.
- Integrar a Claude en contenedores Docker a través de devcontainer para consistencia en el equipo.
- Resolver problemas de conexión de red utilizando variables de proxy y certificados TLS.
- Adaptar las combinaciones de teclas, sonidos y apariencia visual de tu terminal.
- Seleccionar y fijar modelos de API para balancear capacidad de razonamiento y gasto.
Ajustar estas configuraciones te permite interactuar con Claude Code en un entorno de desarrollo seguro, cómodo y con consumo controlado.
El siguiente artículo es 47 "Voice: modo de voz" (funcionalidad experimental sujeta a cambios). Hemos optimizado el entorno de trabajo para la terminal de texto; en el próximo artículo exploraremos un canal alternativo de interacción: la voz. Analizaremos cómo comunicarte verbalmente con Claude para asignarle tareas y revisar código, liberando el uso del teclado y explorando el estado de esta característica experimental.