CLI
Opciones y comandos del CLI de OpenCode.
El CLI de OpenCode por defecto inicia el TUI cuando se ejecuta sin argumentos.
opencodePero también acepta comandos como se documenta en esta página. Esto te permite interactuar con OpenCode de forma programática.
opencode run "Explain how closures work in JavaScript"tui
Iniciar la interfaz de usuario de terminal de OpenCode.
opencode [project]Flags
| Flag | Corto | Descripción |
|---|---|---|
--continue | -c | Continuar la última sesión |
--session | -s | ID de sesión para continuar |
--fork | Bifurcar la sesión al continuar (usar con --continue o --session) | |
--prompt | Prompt a usar | |
--model | -m | Modelo a usar en formato provider/model |
--agent | Agente a usar | |
--port | Puerto para escuchar | |
--hostname | Hostname para escuchar |
Comandos
El CLI de OpenCode también tiene los siguientes comandos.
agent
Gestionar agentes para OpenCode.
opencode agent [command]attach
Conectar una terminal a un servidor backend de OpenCode ya en ejecución iniciado mediante los comandos serve o web.
opencode attach [url]Esto permite usar el TUI con un backend remoto de OpenCode. Por ejemplo:
# Iniciar el servidor backend para acceso web/móvil
opencode web --port 4096 --hostname 0.0.0.0
# En otra terminal, conectar el TUI al backend en ejecución
opencode attach http://10.20.30.40:4096Flags
| Flag | Corto | Descripción |
|---|---|---|
--dir | Directorio de trabajo para iniciar el TUI | |
--session | -s | ID de sesión para continuar |
create
Crear un nuevo agente con configuración personalizada.
opencode agent createEste comando te guiará a través de la creación de un nuevo agente con un system prompt y configuración de herramientas personalizados.
list
Listar todos los agentes disponibles.
opencode agent listauth
Comando para gestionar credenciales e inicio de sesión para proveedores.
opencode auth [command]login
OpenCode funciona con la lista de proveedores en Models.dev (opens in a new tab), por lo que puedes usar opencode auth login para configurar claves API para cualquier proveedor que desees usar. Esto se almacena en ~/.local/share/opencode/auth.json.
opencode auth loginCuando OpenCode se inicia, carga los proveedores del archivo de credenciales. Y si hay claves definidas en tus variables de entorno o un archivo .env en tu proyecto.
list
Lista todos los proveedores autenticados almacenados en el archivo de credenciales.
opencode auth listO la versión corta.
opencode auth lslogout
Te desconecta de un proveedor eliminándolo del archivo de credenciales.
opencode auth logoutgithub
Gestionar el agente de GitHub para automatización de repositorios.
opencode github [command]install
Instalar el agente de GitHub en tu repositorio.
opencode github installEsto configura el flujo de trabajo de GitHub Actions necesario y te guía a través del proceso de configuración. Más información.
run
Ejecutar el agente de GitHub. Esto se usa típicamente en GitHub Actions.
opencode github runFlags
| Flag | Descripción |
|---|---|
--event | Evento mock de GitHub para ejecutar el agente |
--token | Token de acceso personal de GitHub |
mcp
Gestionar servidores de Model Context Protocol.
opencode mcp [command]add
Agregar un servidor MCP a tu configuración.
opencode mcp addEste comando te guiará a través de agregar un servidor MCP local o remoto.
list
Listar todos los servidores MCP configurados y su estado de conexión.
opencode mcp listO la versión corta.
opencode mcp lsauth
Autenticarse con un servidor MCP habilitado para OAuth.
opencode mcp auth [name]Si no proporcionas un nombre de servidor, se te pedirá que selecciones de los servidores con capacidad OAuth disponibles.
También puedes listar los servidores con capacidad OAuth y su estado de autenticación.
opencode mcp auth listO la versión corta.
opencode mcp auth lslogout
Eliminar credenciales OAuth para un servidor MCP.
opencode mcp logout [name]debug
Depurar problemas de conexión OAuth para un servidor MCP.
opencode mcp debug <name>models
Listar todos los modelos disponibles de los proveedores configurados.
opencode models [provider]Este comando muestra todos los modelos disponibles de tus proveedores configurados en el formato provider/model.
Esto es útil para averiguar el nombre exacto del modelo a usar en tu configuración.
Opcionalmente puedes pasar un ID de proveedor para filtrar modelos por ese proveedor.
opencode models anthropicFlags
| Flag | Descripción |
|---|---|
--refresh | Actualizar la caché de modelos desde models.dev |
--verbose | Usar salida de modelos más detallada (incluye metadatos como costos) |
Usa el flag --refresh para actualizar la lista de modelos en caché. Esto es útil cuando se han agregado nuevos modelos a un proveedor y quieres verlos en OpenCode.
opencode models --refreshrun
Ejecutar OpenCode en modo no interactivo pasando un prompt directamente.
opencode run [message..]Esto es útil para scripting, automatización o cuando quieres una respuesta rápida sin lanzar el TUI completo. Por ejemplo.
opencode run "Explain the use of context in Go"También puedes conectarte a una instancia de opencode serve en ejecución para evitar tiempos de arranque en frío del servidor MCP en cada ejecución:
# Iniciar un servidor headless en una terminal
opencode serve
# En otra terminal, ejecutar comandos que se conectan a él
opencode run --attach http://localhost:4096 "Explain async/await in JavaScript"Flags
| Flag | Corto | Descripción |
|---|---|---|
--command | El comando a ejecutar, usar message para args | |
--continue | -c | Continuar la última sesión |
--session | -s | ID de sesión para continuar |
--fork | Bifurcar la sesión al continuar (usar con --continue o --session) | |
--share | Compartir la sesión | |
--model | -m | Modelo a usar en formato provider/model |
--agent | Agente a usar | |
--file | -f | Archivo(s) para adjuntar al mensaje |
--format | Formato: default (formateado) o json (eventos JSON sin procesar) | |
--title | Título para la sesión (usa el prompt truncado si no se proporciona valor) | |
--attach | Conectar a un servidor opencode en ejecución (ej., http://localhost:4096 (opens in a new tab)) | |
--port | Puerto para el servidor local (por defecto puerto aleatorio) |
serve
Iniciar un servidor headless de OpenCode para acceso API. Consulta la documentación del servidor para la interfaz HTTP completa.
opencode serveEsto inicia un servidor HTTP que proporciona acceso API a la funcionalidad de OpenCode sin la interfaz TUI. Establece OPENCODE_SERVER_PASSWORD para habilitar autenticación HTTP básica (el nombre de usuario por defecto es opencode).
Flags
| Flag | Descripción |
|---|---|
--port | Puerto para escuchar |
--hostname | Hostname para escuchar |
--mdns | Habilitar descubrimiento mDNS |
--cors | Origen(es) adicionales del navegador para permitir CORS |
session
Gestionar sesiones de OpenCode.
opencode session [command]list
Listar todas las sesiones de OpenCode.
opencode session listFlags
| Flag | Corto | Descripción |
|---|---|---|
--max-count | -n | Limitar a las N sesiones más recientes |
--format | Formato de salida: table o json (table) |
stats
Mostrar estadísticas de uso de tokens y costos para tus sesiones de OpenCode.
opencode statsFlags
| Flag | Descripción |
|---|---|
--days | Mostrar estadísticas de los últimos N días (todo el tiempo) |
--tools | Número de herramientas a mostrar (todas) |
--models | Mostrar desglose de uso de modelos (oculto por defecto). Pasa un número para mostrar los N principales |
--project | Filtrar por proyecto (todos los proyectos, cadena vacía: proyecto actual) |
export
Exportar datos de sesión como JSON.
opencode export [sessionID]Si no proporcionas un ID de sesión, se te pedirá que selecciones de las sesiones disponibles.
import
Importar datos de sesión desde un archivo JSON o URL de compartición de OpenCode.
opencode import <file>Puedes importar desde un archivo local o una URL de compartición de OpenCode.
opencode import session.json
opencode import https://opncd.ai/s/abc123web
Iniciar un servidor headless de OpenCode con interfaz web.
opencode webEsto inicia un servidor HTTP y abre un navegador web para acceder a OpenCode a través de una interfaz web. Establece OPENCODE_SERVER_PASSWORD para habilitar autenticación HTTP básica (el nombre de usuario por defecto es opencode).
Flags
| Flag | Descripción |
|---|---|
--port | Puerto para escuchar |
--hostname | Hostname para escuchar |
--mdns | Habilitar descubrimiento mDNS |
--cors | Origen(es) adicionales del navegador para permitir CORS |
acp
Iniciar un servidor ACP (Agent Client Protocol).
opencode acpEste comando inicia un servidor ACP que se comunica vía stdin/stdout usando nd-JSON.
Flags
| Flag | Descripción |
|---|---|
--cwd | Directorio de trabajo |
--port | Puerto para escuchar |
--hostname | Hostname para escuchar |
uninstall
Desinstalar OpenCode y eliminar todos los archivos relacionados.
opencode uninstallFlags
| Flag | Corto | Descripción |
|---|---|---|
--keep-config | -c | Mantener archivos de configuración |
--keep-data | -d | Mantener datos de sesión y snapshots |
--dry-run | Mostrar qué se eliminaría sin eliminar | |
--force | -f | Omitir confirmaciones |
upgrade
Actualiza OpenCode a la última versión o a una versión específica.
opencode upgrade [target]Para actualizar a la última versión.
opencode upgradePara actualizar a una versión específica.
opencode upgrade v0.1.48Flags
| Flag | Corto | Descripción |
|---|---|---|
--method | -m | El método de instalación que se usó; curl, npm, pnpm, bun, brew |
Flags globales
El CLI de OpenCode acepta los siguientes flags globales.
| Flag | Corto | Descripción |
|---|---|---|
--help | -h | Mostrar ayuda |
--version | -v | Imprimir número de versión |
--print-logs | Imprimir logs a stderr | |
--log-level | Nivel de log (DEBUG, INFO, WARN, ERROR) |
Variables de entorno
OpenCode puede configurarse usando variables de entorno.
| Variable | Tipo | Descripción |
|---|---|---|
OPENCODE_AUTO_SHARE | boolean | Compartir sesiones automáticamente |
OPENCODE_GIT_BASH_PATH | string | Ruta al ejecutable de Git Bash en Windows |
OPENCODE_CONFIG | string | Ruta al archivo de configuración |
OPENCODE_CONFIG_DIR | string | Ruta al directorio de configuración |
OPENCODE_CONFIG_CONTENT | string | Contenido de configuración json en línea |
OPENCODE_DISABLE_AUTOUPDATE | boolean | Desactivar verificaciones de actualización automática |
OPENCODE_DISABLE_PRUNE | boolean | Desactivar limpieza de datos antiguos |
OPENCODE_DISABLE_TERMINAL_TITLE | boolean | Desactivar actualizaciones automáticas del título de terminal |
OPENCODE_PERMISSION | string | Configuración de permisos json en línea |
OPENCODE_DISABLE_DEFAULT_PLUGINS | boolean | Desactivar plugins por defecto |
OPENCODE_DISABLE_LSP_DOWNLOAD | boolean | Desactivar descargas automáticas de servidores LSP |
OPENCODE_ENABLE_EXPERIMENTAL_MODELS | boolean | Habilitar modelos experimentales |
OPENCODE_DISABLE_AUTOCOMPACT | boolean | Desactivar compactación automática de contexto |
OPENCODE_DISABLE_CLAUDE_CODE | boolean | Desactivar lectura de .claude (prompt + skills) |
OPENCODE_DISABLE_CLAUDE_CODE_PROMPT | boolean | Desactivar lectura de ~/.claude/CLAUDE.md |
OPENCODE_DISABLE_CLAUDE_CODE_SKILLS | boolean | Desactivar carga de .claude/skills |
OPENCODE_DISABLE_MODELS_FETCH | boolean | Desactivar obtención de modelos de fuentes remotas |
OPENCODE_FAKE_VCS | string | Proveedor VCS falso para pruebas |
OPENCODE_DISABLE_FILETIME_CHECK | boolean | Desactivar verificación de tiempo de archivo para optimización |
OPENCODE_CLIENT | string | Identificador de cliente (por defecto cli) |
OPENCODE_ENABLE_EXA | boolean | Habilitar herramientas de búsqueda web Exa |
OPENCODE_SERVER_PASSWORD | string | Habilitar autenticación básica HTTP para serve/web |
OPENCODE_SERVER_USERNAME | string | Sobrescribir nombre de usuario de autenticación básica (por defecto opencode) |
OPENCODE_MODELS_URL | string | URL personalizada para obtener configuración de modelos |
Experimental
Estas variables de entorno habilitan funciones experimentales que pueden cambiar o ser eliminadas.
| Variable | Tipo | Descripción |
|---|---|---|
OPENCODE_EXPERIMENTAL | boolean | Habilitar todas las funciones experimentales |
OPENCODE_EXPERIMENTAL_ICON_DISCOVERY | boolean | Habilitar descubrimiento de iconos |
OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT | boolean | Desactivar copiar al seleccionar en TUI |
OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS | number | Timeout por defecto para comandos bash en ms |
OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX | number | Máximo de tokens de salida para respuestas LLM |
OPENCODE_EXPERIMENTAL_FILEWATCHER | boolean | Habilitar observador de archivos para todo el directorio |
OPENCODE_EXPERIMENTAL_OXFMT | boolean | Habilitar formateador oxfmt |
OPENCODE_EXPERIMENTAL_LSP_TOOL | boolean | Habilitar herramienta LSP experimental |
OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER | boolean | Desactivar observador de archivos |
OPENCODE_EXPERIMENTAL_EXA | boolean | Habilitar funciones experimentales de Exa |
OPENCODE_EXPERIMENTAL_LSP_TY | boolean | Habilitar verificación de tipos LSP experimental |
OPENCODE_EXPERIMENTAL_MARKDOWN | boolean | Habilitar funciones experimentales de markdown |
OPENCODE_EXPERIMENTAL_PLAN_MODE | boolean | Habilitar modo plan |