CLI
Opciones y comandos del CLI de OpenCode.
Por defecto, el CLI de OpenCode inicia la TUI cuando se ejecuta sin argumentos.
opencodePero también acepta comandos como se documenta en esta página. Esto te permite interactuar con OpenCode programáticamente.
opencode run "Explain how closures work in JavaScript"tui
Inicia 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 a continuar |
--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
Gestiona agentes para OpenCode.
opencode agent [command]attach
Conecta 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 la TUI con un backend remoto de OpenCode. Por ejemplo:
# Start the backend server for web/mobile access
opencode web --port 4096 --hostname 0.0.0.0
# In another terminal, attach the TUI to the running backend
opencode attach http://10.20.30.40:4096Flags
| Flag | Corto | Descripción |
|---|---|---|
--dir | Directorio de trabajo para iniciar la TUI | |
--session | -s | ID de sesión a continuar |
create
Crea 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 prompt de sistema personalizado y configuración de herramientas.
list
Lista todos los agentes disponibles.
opencode agent listauth
Comando para gestionar credenciales e inicio de sesión para proveedores.
opencode auth [command]login
OpenCode está impulsado por 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 desde el archivo de credenciales. También se cargan las claves definidas en tus variables de entorno o en 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
Gestiona el agente de GitHub para automatización de repositorios.
opencode github [command]install
Instala el agente de GitHub en tu repositorio.
opencode github installEsto configura el flujo de trabajo necesario de GitHub Actions y te guía a través del proceso de configuración. Más información.
run
Ejecuta el agente de GitHub. Esto se usa típicamente en GitHub Actions.
opencode github runFlags
| Flag | Descripción |
|---|---|
--event | Evento simulado de GitHub para ejecutar el agente |
--token | Token de acceso personal de GitHub |
mcp
Gestiona servidores de Model Context Protocol.
opencode mcp [command]add
Añade un servidor MCP a tu configuración.
opencode mcp addEste comando te guiará a través de añadir un servidor MCP local o remoto.
list
Lista todos los servidores MCP configurados y su estado de conexión.
opencode mcp listO usa la versión corta.
opencode mcp lsauth
Autentícate 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 disponibles con capacidad OAuth.
También puedes listar los servidores con capacidad OAuth y su estado de autenticación.
opencode mcp auth listO usa la versión corta.
opencode mcp auth lslogout
Elimina las credenciales OAuth para un servidor MCP.
opencode mcp logout [name]debug
Depura problemas de conexión OAuth para un servidor MCP.
opencode mcp debug <name>models
Lista todos los modelos disponibles de los proveedores configurados.
opencode models [provider]Este comando muestra todos los modelos disponibles en tus proveedores configurados en formato provider/model.
Esto es útil para determinar 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 modelo 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 añadido nuevos modelos a un proveedor y quieres verlos en OpenCode.
opencode models --refreshrun
Ejecuta 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 la TUI completa. 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:
# Start a headless server in one terminal
opencode serve
# In another terminal, run commands that attach to it
opencode run --attach http://localhost:4096 "Explain async/await in JavaScript"Flags
| Flag | Corto | Descripción |
|---|---|---|
--command | El comando a ejecutar, usa message para argumentos | |
--continue | -c | Continuar la última sesión |
--session | -s | ID de sesión a continuar |
--share | Compartir la sesión | |
--model | -m | Modelo a usar en formato provider/model |
--agent | Agente a usar | |
--file | -f | Archivo(s) a adjuntar al mensaje |
--format | Formato: default (formateado) o json (eventos JSON sin procesar) | |
--title | Título para la sesión (usa 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
Inicia un servidor OpenCode sin interfaz 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 básica HTTP (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) de navegador adicionales para permitir CORS |
session
Gestiona sesiones de OpenCode.
opencode session [command]list
Lista 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 (por defecto table) |
stats
Muestra 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 (por defecto todo el tiempo) |
--tools | Número de herramientas a mostrar (por defecto todas) |
--models | Mostrar desglose de uso de modelos (oculto por defecto). Pasa un número para mostrar los N principales |
--project | Filtrar por proyecto (por defecto todos los proyectos, cadena vacía: proyecto actual) |
export
Exporta 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
Importa datos de sesión desde un archivo JSON o URL de compartir de OpenCode.
opencode import <file>Puedes importar desde un archivo local o una URL de compartir de OpenCode.
opencode import session.json
opencode import https://opncd.ai/s/abc123web
Inicia un servidor OpenCode sin interfaz con una 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 básica HTTP (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) de navegador adicionales para permitir CORS |
acp
Inicia 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
Desinstala OpenCode y elimina 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 prompts de confirmación |
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 usado: 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 | Deshabilitar verificaciones automáticas de actualización |
OPENCODE_DISABLE_PRUNE | boolean | Deshabilitar limpieza de datos antiguos |
OPENCODE_DISABLE_TERMINAL_TITLE | boolean | Deshabilitar actualizaciones automáticas del título del terminal |
OPENCODE_PERMISSION | string | Configuración de permisos JSON en línea |
OPENCODE_DISABLE_DEFAULT_PLUGINS | boolean | Deshabilitar plugins por defecto |
OPENCODE_DISABLE_LSP_DOWNLOAD | boolean | Deshabilitar descargas automáticas de servidor LSP |
OPENCODE_ENABLE_EXPERIMENTAL_MODELS | boolean | Habilitar modelos experimentales |
OPENCODE_DISABLE_AUTOCOMPACT | boolean | Deshabilitar compactación automática de contexto |
OPENCODE_DISABLE_CLAUDE_CODE | boolean | Deshabilitar lectura de .claude (prompt + skills) |
OPENCODE_DISABLE_CLAUDE_CODE_PROMPT | boolean | Deshabilitar lectura de ~/.claude/CLAUDE.md |
OPENCODE_DISABLE_CLAUDE_CODE_SKILLS | boolean | Deshabilitar carga de .claude/skills |
OPENCODE_DISABLE_MODELS_FETCH | boolean | Deshabilitar obtención de modelos de fuentes remotas |
OPENCODE_FAKE_VCS | string | Proveedor VCS falso para propósitos de prueba |
OPENCODE_DISABLE_FILETIME_CHECK | boolean | Deshabilitar 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 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 características experimentales que pueden cambiar o ser eliminadas.
| Variable | Tipo | Descripción |
|---|---|---|
OPENCODE_EXPERIMENTAL | boolean | Habilitar todas las características experimentales |
OPENCODE_EXPERIMENTAL_ICON_DISCOVERY | boolean | Habilitar descubrimiento de iconos |
OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT | boolean | Deshabilitar 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 | Deshabilitar observador de archivos |
OPENCODE_EXPERIMENTAL_EXA | boolean | Habilitar características experimentales de Exa |
OPENCODE_EXPERIMENTAL_LSP_TY | boolean | Habilitar verificación de tipos LSP experimental |
OPENCODE_EXPERIMENTAL_MARKDOWN | boolean | Habilitar características experimentales de Markdown |
OPENCODE_EXPERIMENTAL_PLAN_MODE | boolean | Habilitar modo de planificación |