Skip to content

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 /sandbox para 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ónQué resuelveCuándo ajustarla
Aislamiento (sandbox)Permite que Claude trabaje con menos confirmaciones dentro de un entorno seguroSi deseas reducir las alertas de permisos o trabajas con código no verificado
devcontainerDefine un entorno de desarrollo aislado y consistente para todo el equipoPara colaborar en equipo, automatizar tareas o estandarizar el entorno para nuevos desarrolladores
Configuración de redResuelve problemas de conexión detrás de proxies o cortafuegosSi la conexión con api.anthropic.com falla o se requiere inspección TLS corporativa
Configuración de terminalAjusta el comportamiento visual, los saltos de línea y las alertas de la consolaSi Shift+Enter envía el mensaje en lugar de saltar línea, o quieres alertas sonoras al terminar
Configuración de modeloSelecciona el modelo adecuado según la tarea para optimizar costosSi 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:

text
/sandbox

Se 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) y socat (para la gestión de red). Si no están instalados, la pestaña Dependencies del comando /sandbox te 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:

json
{
  "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 ~/.ssh o 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 aislamientoAlcance del bloqueo¿Requiere Docker?Uso recomendado
Sandbox integrado (/sandbox)Solo aísla comandos de BashNoUso local cotidiano para reducir solicitudes de confirmación
devcontainerTodo el entorno de desarrolloEstandarizar el entorno del equipo y ejecuciones autónomas
Contenedor / VM dedicadaTodo el entorno y el sistema operativoSí para contenedoresEjecutar código no verificado con aislamiento a nivel de kernel
Claude Code en web (Artículo 11)Entorno e infraestructura en la nubeNoPrototipos 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:

Niveles de aislamiento en Claude Code: desde sin aislamiento en tu máquina, pasando por sandbox integrado y devcontainer, hasta contenedores dedicados o la ejecución web hospedada

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:

bash
# 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:

bash
export NODE_EXTRA_CA_CERTS=/ruta/al/certificado-raiz-empresa.pem

Dominios 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):

DominioFunción
api.anthropic.comSolicitudes de la API de Claude (esencial)
claude.aiAutenticación de la cuenta de claude.ai
platform.claude.comAutenticación del portal de desarrolladores de Anthropic
downloads.claude.aiDescarga de instaladores, plugins y actualizaciones
storage.googleapis.comDescargas de actualizaciones para versiones previas a la v2.1.116
bridge.claudeusercontent.comConexión WebSocket para extensiones de Chrome
raw.githubusercontent.comOrigen 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_PROXY para indicar el proxy (sin soporte para SOCKS) y NODE_EXTRA_CA_CERTS para certificados TLS personalizados. Asegúrate de habilitar api.anthropic.com en 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 / IDESoporte de Shift+Enter para salto de línea
iTerm2, Ghostty, Kitty, Apple Terminal, Windows Terminal, WezTerm, WarpFunciona de forma nativa sin configuración
VS Code, Cursor, Devin Desktop, Alacritty, ZedRequiere 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:

text
/terminal-setup

El 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:

json
{
  "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:

text
/theme

Selecciona 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-setup si Shift+Enter no salta de línea (o usa Ctrl+J), configura preferredNotifChannel en "terminal_bell" para recibir alertas sonoras, y usa /theme para 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:

AliasModelo asociadoTarea recomendada
opusClaude 3.5 OpusRazonamiento lógico complejo y diseño de arquitectura
sonnetClaude 3.5 SonnetProgramación cotidiana (el modelo de uso general)
haikuClaude 3.5 HaikuTareas sencillas, revisiones rápidas o scripts de mantenimiento
opusplanPlanificación con Opus / Ejecución con SonnetPlanifica la tarea con Opus y cambia automáticamente a Sonnet para escribir el código
defaultModelo recomendado por tu nivelRestablece 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):

bash
# 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
json
// 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 ultrathink en 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 /effort en la conversación para ajustar el selector, o edita el campo effortLevel en settings.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:

json
{
  "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: opus para diseño lógico, sonnet para programación general y haiku para tareas rápidas. Usa opusplan para planificar con Opus y programar con Sonnet. Cambia de modelo con /model o edita settings.json, y limita el uso del equipo con availableModels para 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:

text
/sandbox

Resultado 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:

text
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

text
/status

Resultado 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:

text
/model haiku

Resultado 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

text
/model default

Resultado 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 /sandbox y 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 haiku y 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 ajusteComando / VariableDetalle 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.jsonEstandariza el entorno del equipo con Docker; aísla credenciales locales
Red corporativaHTTPS_PROXY y NODE_EXTRA_CA_CERTSPermite la conexión detrás de proxies HTTP/HTTPS (no SOCKS) y TLS personalizados
Terminal/terminal-setup, /theme, notificacionesConfigura saltos de línea con Shift+Enter (o Ctrl+J) y alertas sonoras de finalización
Modelos/model, settings.json, availableModelsAsigna 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.


Lecturas recomendadas