Documentation Index
Fetch the complete documentation index at: https://docs.devinenterprise.com/llms.txt
Use this file to discover all available pages before exploring further.
Devin CLI usa archivos JSON (con compatibilidad con comentarios) para la configuración. Esta página documenta todas las opciones disponibles.
| Archivo | Propósito |
|---|
~/.config/devin/config.json | Configuración global del usuario |
.devin/config.json | Configuración del proyecto (versionada) |
.devin/config.local.json | Anulaciones locales del proyecto (ignoradas por Git) |
En Windows, la ruta de configuración del usuario es %APPDATA%\devin\config.json (p. ej., C:\Users\<you>\AppData\Roaming\devin\config.json), no ~\.config\devin\config.json.
Referencia completa de la configuración
// ~/.config/devin/config.json
{
// Comportamiento del agente
"agent": {
"model": "swe-1-6-fast", // Modelo predeterminado
"show_history_on_continue": true // Mostrar mensajes al reanudar
},
// Tema
"theme_mode": null, // "light", "dark", "terminal-dark", "terminal-light", "nocolor" o null (automático)
// Permisos
"permissions": {
"allow": [],
"deny": [],
"ask": []
},
// Servidores MCP
"mcpServers": {},
// Visualización
"show_path": false, // Mostrar el CWD en el borde del campo de entrada
"unicode_mode": "auto", // "auto", "unicode" o "ascii"
"show_hints": true, // Mostrar sugerencias entre turnos
// Autocompletado de archivos
"include_gitignored_files": false, // Incluir archivos ignorados por git en los autocompletados con @
// Acceso a archivos
"respect_gitignore": false, // Bloquear el acceso de las herramientas a rutas ignoradas por git
// Actualizaciones
"auto_update": true, // Instalar nuevas versiones en segundo plano
// Notificaciones
"notify": "smart", // "never" | "smart" | "always" — notificaciones de la terminal
// Configuración del proxy para el tráfico HTTP de la CLI
"proxy": {
"mode": "system", // "system" | "manual" | "off"
"url": null, // URL del proxy (obligatoria para el modo manual)
"no_proxy": null // Lista de exclusión separada por comas
},
// Filtrado de red del sandbox
"sandbox": {
"allowed_domains": [], // Lista de dominios permitidos (vacío = sin filtrado)
"denied_domains": [], // Lista de dominios bloqueados (tiene prioridad)
"network_mode": "full" // "full" o "limited" (solo GET/HEAD/OPTIONS)
},
// Importar configuración de otras herramientas
"read_config_from": {
"cursor": true,
"windsurf": true,
"claude": true
}
}
// .devin/config.json
{
// Permisos
"permissions": {
"allow": [],
"deny": [],
"ask": []
},
// Servidores MCP
"mcpServers": {},
// Importar configuración de otras herramientas
"read_config_from": {
"cursor": true,
"windsurf": true,
"claude": true
}
}
Las opciones marcadas con solo para el usuario solo pueden configurarse en el archivo de configuración del usuario (~/.config/devin/config.json; %APPDATA%\devin\config.json en Windows). Solo permissions, mcpServers, read_config_from y hooks están disponibles en las configuraciones de proyecto.
agent (solo para el usuario)
| Opción | Tipo | Predeterminado | Descripción |
|---|
model | string | "swe-1-6-fast" | Modelo de IA predeterminado |
show_history_on_continue | boolean | true | Muestra los mensajes anteriores al reanudar una sesión |
theme_mode (solo para el usuario)
| Valor | Comportamiento |
|---|
null | Detección automática (pregunta en la primera ejecución) |
"light" | Tema claro |
"dark" | Tema oscuro |
"terminal-dark" | Tema oscuro cuantizado a 16 colores ANSI (respeta el esquema de colores del terminal) |
"terminal-light" | Tema claro cuantizado a 16 colores ANSI (respeta el esquema de colores del terminal) |
"nocolor" | Salida sin color (monocroma, útil para terminales VT100) |
Consulta Permisos para obtener la documentación completa.
{
"permissions": {
"allow": ["Read(**)", "Exec(git)"],
"deny": ["Exec(sudo)"],
"ask": ["Write(**/.env*)"]
}
}
Mapa que relaciona el nombre del servidor con su configuración. Admite tanto comandos locales (stdio) como servidores HTTP remotos. Consulta MCP Configuration.
{
"mcpServers": {
"server-name": {
"command": "executable",
"args": ["arg1", "arg2"],
"env": { "KEY": "value" }
},
"remote-server": {
"url": "https://mcp.example.com/mcp",
"transport": "http"
}
}
}
show_path (solo para el usuario)
Muestra la ruta del directorio de trabajo actual en el borde del campo de entrada. Cuando está habilitado, el borde superior del cuadro de entrada muestra tu CWD en un formato legible (p. ej., ~/projects/my-app).
| Valor | Comportamiento |
|---|
false | Oculto (predeterminado) |
true | Muestra la ruta del CWD en el borde del campo de entrada |
unicode_mode (solo para el usuario)
Controla si la UI del terminal utiliza símbolos Unicode o alternativas compatibles con ASCII. Establécelo en "ascii" si tu terminal o la fuente no muestran correctamente los glifos Unicode (p. ej., si el símbolo ⏺ aparece como un recuadro).
| Valor | Comportamiento |
|---|
"auto" | Detecta la compatibilidad con Unicode según el Environment (predeterminado) |
"unicode" | Usa siempre símbolos Unicode |
"ascii" | Usa siempre caracteres compatibles con ASCII |
show_hints (solo para el usuario)
Muestra consejos ocasionales entre turnos (p. ej., “¿Sabías que…? Usa /model para cambiar entre los modelos disponibles”). Es útil para descubrir funciones de la CLI; establécelo en false para ocultarlos cuando ya te hayas familiarizado.
| Valor | Comportamiento |
|---|
true | Muestra consejos ocasionalmente (predeterminado) |
false | No muestra nunca consejos |
include_gitignored_files (solo para el usuario)
Incluye archivos ignorados por Git en los resultados de autocompletado de la pestaña @. Cuando está habilitado, los archivos que coincidan con los patrones de .gitignore aparecerán en las sugerencias de mención con @. Esto resulta útil si almacenas documentación u otros archivos en directorios ignorados por Git que quieres consultar.
| Valor | Comportamiento |
|---|
false | Excluye los archivos ignorados por Git de las sugerencias de autocompletado (predeterminado) |
true | Incluye los archivos ignorados por Git en las sugerencias de @ |
respect_gitignore (solo para el usuario)
Controla si el agente respeta .gitignore al leer o escribir archivos mediante herramientas. Cuando está habilitado, se bloquean las llamadas a herramientas que acceden a rutas ignoradas por Git. Esto es independiente de include_gitignored_files, que solo afecta al autocompletado de la pestaña @.
| Valor | Comportamiento |
|---|
false | El agente puede acceder a todos los archivos independientemente de .gitignore (predeterminado) |
true | Bloquea el acceso de las herramientas a rutas ignoradas por Git |
auto_update (solo para el usuario)
Controla la actualización automática en segundo plano en macOS y Linux. Cuando está habilitada, las nuevas versiones se descargan y activan mientras Devin CLI está en ejecución, de modo que la siguiente vez que se invoque devin se use automáticamente la versión más reciente. La sesión actualmente en ejecución no se ve afectada: cambiar el enlace simbólico current solo surte efecto en el siguiente inicio.
La actualización está diseñada para ser segura ante interrupciones: cada paso en el sistema de archivos se prepara en una ruta temporal y se aplica mediante un cambio de nombre atómico, y las actualizaciones concurrentes se serializan con un bloqueo de archivo. Si sales a mitad de la actualización, la instalación no quedará en un estado dañado; simplemente volverá a iniciarse con la versión anterior.
Solo se aplica a instalaciones autogestionadas (curl | bash en macOS/Linux). Las instalaciones incluidas con otro producto (p. ej., Windsurf) ignoran esta configuración y se actualizan a través de la aplicación principal.
| Valor | Comportamiento |
|---|
true | Descarga e instala nuevas versiones en segundo plano (predeterminado) |
false | Solo comprueba si hay nuevas versiones; instálalas manualmente con /update |
Controla las notificaciones del terminal cuando el agente termina o necesita intervención del usuario. La CLI escribe un carácter BEL (activa la campana del terminal o una alerta visual), una secuencia de escape OSC 9 (activa una notificación del sistema en iTerm2 y terminales compatibles) y una secuencia OSC 777 (notificación de escritorio en rxvt-unicode y otros terminales). Los terminales que no reconocen estas secuencias simplemente las ignoran.
| Valor | Comportamiento |
|---|
"never" | Sin notificaciones |
"smart" | Notifica solo cuando la ventana del terminal no está enfocada (usa informes de foco de OSC) (predeterminado) |
"always" | Notifica en cada evento aplicable, independientemente del foco |
Controla la importación de configuraciones de otras herramientas de IA:
| Opción | Tipo | Predeterminado | Descripción |
|---|
cursor | boolean/null | true | Importar desde .cursorrules, .cursor/rules/ |
windsurf | boolean/null | true | Importar desde .windsurf/rules/ |
claude | boolean/null | true | Importar desde .claude/ |
Establece el valor en false para deshabilitar una importación específica. null se interpreta como true.
proxy (solo para el usuario)
Configura cómo la CLI enruta su propio tráfico saliente HTTP/HTTPS (llamadas a la API, actualizaciones, servidores MCP, etc.). Esto no afecta a la conectividad de red de los procesos hijo del sandbox (consulta sandbox más abajo).
El campo mode selecciona la estrategia de proxy:
| Modo | Comportamiento |
|---|
"system" (predeterminado) | Tiene en cuenta las variables de entorno (HTTP_PROXY, HTTPS_PROXY, ALL_PROXY) y la PAC (configuración automática de proxy) nativa de la plataforma en macOS y Windows |
"manual" | Enruta todo el tráfico de la CLI a través de la url especificada |
"off" | Se conecta directamente — sin proxy |
| Opción | Tipo | Predeterminado | Descripción |
|---|
mode | string | "system" | Estrategia de proxy: "system", "manual" o "off" |
url | string/null | null | URL del proxy. Obligatoria cuando mode es "manual". Admite los esquemas http://, https:// y socks5:// |
no_proxy | string/null | null | Lista de hosts/dominios separados por comas que evitan el proxy. Usa la misma sintaxis que la variable de entorno NO_PROXY (p. ej., "localhost,127.0.0.1,.corp.example.com"). Se aplica en cualquier modo |
Ejemplo — proxy corporativo:
{
"proxy": {
"mode": "manual",
"url": "http://proxy.corp.example.com:8080",
"no_proxy": "localhost,127.0.0.1,.internal.corp"
}
}
Ejemplo — desactivar el proxy:
{
"proxy": {
"mode": "off"
}
}
sandbox (solo para el usuario)
El filtrado de red del sandbox es actualmente inestable. Si necesitas esta función, ponte en contacto con el representante de tu cuenta para conocer los plazos de estabilidad.
Configura el filtrado de red a nivel de dominio para el sandbox. Cuando --sandbox está activo y el filtrado de dominios está configurado, se inicia un proxy de red gestionado en loopback, y el sandbox obliga a que todo el tráfico de los procesos hijos se enrute a través de él.
La marca --sandbox aplica a nivel del sistema operativo los ámbitos de permiso activos de lectura y escritura. Los directorios raíz con escritura se derivan de los ámbitos Write(...) concedidos más los directorios del espacio de trabajo; los directorios raíz legibles provienen de los ámbitos Read(...) (y los valores predeterminados de la plataforma siempre son legibles). Los ámbitos concedidos durante la sesión expanden dinámicamente el sandbox para los comandos posteriores.
Si se pasa --sandbox pero falla la resolución del sandbox (p. ej., las herramientas de aislamiento no están disponibles en la plataforma actual), la CLI se negará a iniciarse en lugar de ejecutarse sin sandbox. Este comportamiento de cierre ante fallos garantiza que la intención de seguridad de --sandbox nunca se omita silenciosamente.
| Opción | Tipo | Predeterminado | Descripción |
|---|
allowed_domains | string[] | [] | Patrones de dominio permitidos a través del proxy. Cuando no está vacío, solo se permiten los dominios coincidentes (modo de permitidos) |
denied_domains | string[] | [] | Patrones de dominio siempre bloqueados. Las reglas de denegación tienen prioridad sobre las reglas de permiso |
network_mode | string | "full" | "full" permite todos los métodos HTTP; "limited" permite solo GET/HEAD/OPTIONS |
Sintaxis de patrones de dominio:
| Patrón | Coincide con |
|---|
example.com | Solo coincidencia exacta |
*.example.com | Cualquier subdominio (no el dominio raíz) |
**.example.com | El dominio raíz y cualquier subdominio |
Ejemplo:
{
"sandbox": {
"allowed_domains": [
"github.com",
"**.npmjs.org",
"**.crates.io",
"**.pypi.org"
],
"denied_domains": ["evil.example.com"],
"network_mode": "full"
}
}
El filtrado de dominios se aplica cuando el sandbox está activo (--sandbox). Sin --sandbox, se ignora la sección de sandbox.
En los equipos Enterprise, los Admin pueden anular las listas de dominios mediante Team Settings. Las listas de permitidos de Enterprise prevalecen (reemplazan tu allowed_domains local), mientras que las listas de denegados de Enterprise son aditivas (se combinan con tu denied_domains local).
Los archivos de configuración admiten comentarios al estilo de JavaScript:
{
// Comentarios de línea
"agent": {
"model": "sonnet" // Comentarios en línea
},
/* Comentarios
en bloque */
"permissions": {}
}