Objetivo del tema
Comprender cómo se configura Qwen Code de forma persistente, qué papel cumple settings.json, cómo intervienen las variables de entorno, qué archivos existen en los distintos niveles de configuración y cómo evitar conflictos o configuraciones difíciles de mantener.
Este tema se apoya en la documentación oficial disponible al 11 de abril de 2026, especialmente en Qwen Code Configuration, en la guía de settings del sitio y en la documentación de autenticación y trusted folders.
En los temas anteriores vimos cómo instalar Qwen Code, cómo autenticarse y cómo trabajar dentro de una sesión. Pero usar bien la herramienta a largo plazo exige algo más: una configuración clara, consistente y controlada.
La configuración define aspectos fundamentales del comportamiento del CLI, por ejemplo:
Por eso settings.json no es un archivo accesorio. Es una pieza estructural del ecosistema de Qwen Code.
Una mala configuración puede hacer que el agente funcione, pero de manera impredecible. Una buena configuración vuelve el comportamiento del CLI más legible, repetible y seguro.
La documentación oficial explica que Qwen Code combina varias capas de configuración y que no todas tienen la misma prioridad. Esto es crucial para entender por qué a veces un valor “no toma” o parece ser ignorado.
El orden de precedencia documentado es este, desde lo más débil hasta lo más fuerte:
La lógica es muy importante: una capa superior puede sobrescribir a una inferior. Por eso, si algo no coincide con lo esperado, siempre hay que preguntarse desde qué capa está llegando el valor real.
| Capa | Alcance | Fuerza relativa |
|---|---|---|
| Defaults internos | Comportamiento base del programa. | Baja |
| User settings | Aplica al usuario en todos sus proyectos. | Media |
| Project settings | Aplica al proyecto actual. | Media-alta |
| Environment variables | Aplica a la sesión o entorno actual. | Alta |
| CLI arguments | Aplica al arranque concreto del comando. | Muy alta |
La documentación oficial describe cuatro ubicaciones posibles para archivos de configuración persistente.
| Archivo | Ubicación | Uso principal |
|---|---|---|
| System defaults | /etc/qwen-code/system-defaults.json en Linux, C:\ProgramData\qwen-code\system-defaults.json en Windows o la ruta equivalente en macOS. |
Base global con valores iniciales para todos los usuarios. |
| User settings | ~/.qwen/settings.json |
Configuración general del usuario. |
| Project settings | .qwen/settings.json en la raíz del proyecto. |
Configuración específica del proyecto. |
| System settings | /etc/qwen-code/settings.json, C:\ProgramData\qwen-code\settings.json o equivalente. |
Políticas globales que pueden imponerse a todos los usuarios. |
En la práctica diaria del curso, los dos archivos más relevantes serán estos:
~/.qwen/settings.json para preferencias personales..qwen/settings.json para ajustes específicos del proyecto.Esta distinción es clave. No todo debe ir al mismo archivo.
Conviene pensar así:
Ejemplos típicos:
Separar estos dos niveles evita mezclar preferencias personales con decisiones del equipo o del proyecto.
La documentación oficial indica que el formato actual de settings.json está organizado por categorías de primer nivel. Es decir, no se espera un archivo plano con claves sueltas, sino una estructura más ordenada.
Ejemplo simplificado:
{
"general": {
"vimMode": false
},
"model": {
"name": "qwen3-coder-plus"
},
"privacy": {
"usageStatisticsEnabled": false
}
}
Este formato ordenado hace dos cosas:
La documentación de configuración enumera varias categorías en settings.json. Entre las más relevantes para un curso inicial aparecen:
generaloutputuiideprivacymodelcontexttoolsmcpsecurityadvancedtelemetrymcpServersNo es necesario dominarlas todas desde el primer día, pero sí conviene reconocer que la configuración oficial está pensada como un sistema modular, no como un puñado de flags aislados.
De toda la configuración posible, hay un grupo de ajustes que conviene reconocer cuanto antes porque aparecen con frecuencia en el uso real.
| Categoría | Setting | Para qué sirve |
|---|---|---|
general |
preferredEditor |
Define el editor preferido para abrir archivos. |
general |
vimMode |
Activa keybindings estilo Vim. |
model |
name |
Selecciona el modelo predeterminado. |
privacy |
usageStatisticsEnabled |
Permite desactivar estadísticas de uso. |
context |
fileName |
Define el nombre del archivo de contexto jerárquico, por defecto QWEN.md. |
La documentación oficial aclara un punto muy importante: los strings dentro de settings.json pueden referenciar variables de entorno usando sintaxis $VAR_NAME o ${VAR_NAME}.
Ejemplo:
{
"env": {
"DASHSCOPE_API_KEY": "$DASHSCOPE_API_KEY"
}
}
Esto permite no hardcodear secretos directamente en el archivo. En otras palabras, settings.json puede apoyarse en variables externas para mantenerse más limpio y más seguro.
Qwen Code puede cargar variables desde el entorno del sistema y también desde archivos .env. La documentación recomienda especialmente .qwen/.env para mantener aisladas las variables propias del CLI.
El orden de búsqueda documentado para archivos .env es este:
.qwen/.env desde el directorio actual hacia arriba.env desde el directorio actual hacia arriba~/.qwen/.env~/.envLa búsqueda se detiene en el primer archivo encontrado. No se fusionan múltiples archivos automáticamente.
Esta regla evita ambigüedad, pero también exige disciplina: si hay varios `.env` posibles, hay que saber cuál está tomando realmente Qwen Code.
Una forma razonable de configurar el entorno es dejar la estructura en settings.json y los secretos en .env.
Ejemplo de .qwen/settings.json:
{
"model": {
"name": "qwen3-coder-plus"
},
"privacy": {
"usageStatisticsEnabled": false
},
"env": {
"DASHSCOPE_API_KEY": "$DASHSCOPE_API_KEY"
}
}
Ejemplo de .qwen/.env:
DASHSCOPE_API_KEY=sk-xxxxxxxxxxxxx
Este patrón es más limpio que incrustar la API key literal dentro del JSON.
La documentación oficial explica que la carpeta .qwen no solo puede contener settings.json. También puede alojar otros archivos relacionados con el funcionamiento del CLI, como perfiles de sandbox personalizados o archivos de entorno propios del proyecto.
Desde una perspectiva práctica, conviene pensar la carpeta .qwen como el espacio local de configuración y operación de Qwen Code dentro de un repositorio.
.qwen/settings.json para ajustes específicos del proyecto.qwen/.env para variables del entorno del CLILa documentación sobre trusted folders aclara un comportamiento importante: si una carpeta no es considerada confiable, Qwen Code puede ignorar la configuración del workspace, incluyendo .qwen/settings.json.
Este detalle importa mucho porque a veces el usuario cree que la configuración del proyecto está rota, cuando en realidad el problema es que el directorio no fue aceptado como trusted folder.
En otras palabras:
La configuración no termina en settings.json. La documentación oficial menciona también variables de entorno y flags del CLI que afectan el comportamiento de Qwen Code en tiempo de ejecución.
Ejemplos documentados:
NO_COLOR para desactivar coloresCLI_TITLE para personalizar el título del CLIDEBUG o DEBUG_MODE para logging más verbosoGEMINI_SANDBOX como alternativa al setting de sandbox--extensions, --list-extensions, --proxy, --version, --include-directories y otros flags del arranqueLa lección importante es que una configuración no vive solo en el JSON. El entorno y los argumentos de arranque también forman parte del resultado final.
La documentación de configuración menciona que los archivos de contexto, por defecto llamados QWEN.md, son una parte crucial de la configuración instruccional o “memoria” del agente. Aunque no son estrictamente settings.json, sí forman parte del sistema de personalización de comportamiento.
Esto quiere decir que la configuración del agente no se limita a parámetros técnicos. También incluye instrucciones persistentes sobre cómo debe trabajar dentro del proyecto.
Más adelante el curso profundizará esta parte, pero ya desde ahora conviene reconocer que:
settings.json configura comportamiento técnico y operativoQWEN.md o el archivo de contexto equivalente configura comportamiento instruccionalCon toda esta flexibilidad, es fácil desordenar el entorno si no se sigue un criterio claro. Estas prácticas suelen dar buenos resultados:
~/.qwen/settings.json..qwen/settings.json..qwen/.env para variables específicas del CLI.Algunos problemas típicos no son fallas del producto, sino malentendidos sobre precedencia, ubicación o mezcla de capas.
| Problema | Causa probable | Primer paso razonable |
|---|---|---|
El cambio en .qwen/settings.json no surte efecto |
La carpeta no es trusted o una capa superior sobrescribe el valor. | Revisar trusted folders, variables de entorno y argumentos del CLI. |
| Una credencial no se detecta | El archivo .env cargado no es el que se creía o la variable está mal nombrada. |
Verificar el orden de búsqueda y el nombre exacto de la variable. |
| La configuración del proyecto afecta otros repositorios | El ajuste se escribió en el archivo del usuario, no en el del proyecto. | Mover el setting al nivel correcto. |
| El comportamiento cambia según cómo se lanza Qwen Code | Los argumentos de línea de comandos están sobrescribiendo el JSON. | Revisar flags y comandos de arranque. |
La configuración de Qwen Code combina archivos JSON, variables de entorno, argumentos de arranque y contexto jerárquico. Entender esa arquitectura es clave para usar el CLI de manera consistente y profesional.
En este tema vimos las ideas centrales:
settings.json se organiza por categorías y puede existir en distintos niveles.~/.qwen/settings.json y .qwen/settings.json cumplen funciones distintas..env son parte esencial del sistema de configuración.Con esta base ya estamos listos para avanzar al siguiente tema, donde veremos approval modes, permisos y seguridad operativa en Qwen Code.