CLI
Opciones y comandos de la CLI de OpenCode.
La CLI de OpenCode, por defecto, inicia la TUI cuando se ejecuta sin ningún argumento.
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
Inicia la interfaz de usuario de terminal de OpenCode.
opencode [project]Opciones
| Opción | Abreviatura | Descripción |
|---|---|---|
--continue | -c | Continúa la última sesión |
--session | -s | ID de sesión a continuar |
--fork | Bifurca la sesión al continuar (úsalo con --continue o --session) | |
--prompt | Prompt a usar | |
--model | -m | Modelo a usar, en la forma provider/model |
--agent | Agente a usar | |
--port | Puerto en el que escuchar | |
--hostname | Nombre de host en el que escuchar | |
--mdns | Habilita el descubrimiento mDNS | |
--mdns-domain | Nombre de dominio mDNS personalizado | |
--cors | Origen(es) de navegador adicionales para permitir CORS |
Comandos
La CLI de OpenCode también tiene los siguientes comandos.
agent
Gestiona los agentes de OpenCode.
opencode agent [command]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 system prompt y una configuración de permisos personalizados. Cualquier cosa que no permitas se deniega en el frontmatter del agente generado.
Opciones
| Opción | Abreviatura | Descripción |
|---|---|---|
--path | Directorio donde escribir el archivo del agente (por defecto, global o .opencode/agent según el prompt) | |
--description | Qué debe hacer el agente | |
--mode | Modo del agente: all, primary o subagent | |
--permissions | Lista separada por comas de permisos a permitir (por defecto: todos). Disponibles: bash, read, edit, glob, grep, webfetch, task, todowrite, websearch, lsp, skill. Cualquier cosa omitida se deniega. Alias: --tools | |
--model | -m | Modelo a usar, en formato provider/model |
Pasar todas las opciones --path, --description, --mode y --permissions ejecuta el comando de forma no interactiva.
list
Lista todos los agentes disponibles.
opencode agent listattach
Adjunta una terminal a un servidor backend de OpenCode ya en ejecución, iniciado mediante los comandos serve o web.
opencode attach [url]Esto te permite usar la TUI con un backend de OpenCode remoto. 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:4096Opciones
| Opción | Abreviatura | Descripción |
|---|---|---|
--dir | Directorio de trabajo en el que iniciar la TUI | |
--continue | -c | Continúa la última sesión |
--session | -s | ID de sesión a continuar |
--fork | Bifurca la sesión al continuar (úsalo con --continue o --session) | |
--password | -p | Contraseña de autenticación básica (por defecto, OPENCODE_SERVER_PASSWORD) |
--username | -u | Nombre de usuario de autenticación básica (por defecto, OPENCODE_SERVER_USERNAME o opencode) |
auth
Comando para gestionar las credenciales e iniciar sesión en los proveedores.
opencode auth [command]login
OpenCode funciona con la lista de proveedores de Models.dev (opens in a new tab), por lo que puedes usar opencode auth login para configurar las claves de API de cualquier proveedor que quieras usar. Esto se almacena en ~/.local/share/opencode/auth.json.
opencode auth loginCuando OpenCode se inicia, carga los proveedores desde el archivo de credenciales. Y también si hay alguna clave definida en tu entorno o en un archivo .env en tu proyecto.
Opciones
| Opción | Abreviatura | Descripción |
|---|---|---|
--provider | -p | ID o nombre del proveedor en el que iniciar sesión |
--method | -m | Etiqueta del método de inicio de sesión a usar, omitiendo la selección de método |
list
Lista todos los proveedores autenticados tal como están almacenados en el archivo de credenciales.
opencode auth listO la versión corta.
opencode auth lslogout
Te cierra la sesión de un proveedor eliminándolo del archivo de credenciales.
opencode auth logoutgithub
Gestiona el agente de GitHub para la automatización de repositorios.
opencode github [command]install
Instala el agente de GitHub en tu repositorio.
opencode github installEsto configura el workflow de GitHub Actions necesario 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 normalmente en GitHub Actions.
opencode github runOpciones
| Opción | Descripción |
|---|---|
--event | Evento simulado de GitHub para el que ejecutar el agente |
--token | Token de acceso personal de GitHub |
mcp
Gestiona los servidores Model Context Protocol.
opencode mcp [command]add
Agrega un servidor MCP a tu configuración.
opencode mcp addEste comando te guiará para agregar 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 uno 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 de un servidor MCP.
opencode mcp logout [name]debug
Depura problemas de conexión OAuth de 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 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 los modelos por ese proveedor.
opencode models anthropicOpciones
| Opción | Descripción |
|---|---|
--refresh | Actualiza la caché de modelos desde models.dev |
--verbose | Usa una salida de modelos más detallada (incluye metadatos como los costos) |
Usa la opción --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
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 GoTambién puedes adjuntarte a una instancia de opencode serve en ejecución para evitar los 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"Opciones
| Opción | Abreviatura | Descripción |
|---|---|---|
--command | El comando a ejecutar, usa message para los argumentos | |
--continue | -c | Continúa la última sesión |
--session | -s | ID de sesión a continuar |
--fork | Bifurca la sesión al continuar (úsalo con --continue o --session) | |
--share | Comparte la sesión | |
--model | -m | Modelo a usar, en la forma 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 de la sesión (usa el prompt truncado si no se proporciona valor) | |
--attach | Adjuntar a un servidor opencode en ejecución (por ejemplo, http://localhost:4096 (opens in a new tab)) | |
--password | -p | Contraseña de autenticación básica (por defecto, OPENCODE_SERVER_PASSWORD) |
--username | -u | Nombre de usuario de autenticación básica (por defecto, OPENCODE_SERVER_USERNAME o opencode) |
--dir | Directorio en el que ejecutar, o ruta en el servidor remoto al adjuntar | |
--port | Puerto para el servidor local (por defecto, un puerto aleatorio) | |
--variant | Variante del modelo (esfuerzo de razonamiento específico del proveedor) | |
--thinking | Muestra los bloques de pensamiento | |
--dangerously-skip-permissions | Aprueba automáticamente los permisos que no estén explícitamente denegados (¡peligroso!) |
serve
Inicia un servidor OpenCode headless para acceso por API. Consulta la documentación del servidor para ver la interfaz HTTP completa.
opencode serveEsto inicia un servidor HTTP que proporciona acceso por API a la funcionalidad de opencode sin la interfaz de la TUI. Establece OPENCODE_SERVER_PASSWORD para habilitar la autenticación básica HTTP (el nombre de usuario por defecto es opencode).
Opciones
| Opción | Descripción |
|---|---|
--port | Puerto en el que escuchar |
--hostname | Nombre de host en el que escuchar |
--mdns | Habilita el descubrimiento mDNS |
--mdns-domain | Nombre de dominio mDNS personalizado |
--cors | Origen(es) de navegador adicionales para permitir CORS |
session
Gestiona las sesiones de OpenCode.
opencode session [command]list
Lista todas las sesiones de OpenCode.
opencode session listOpciones
| Opción | Abreviatura | Descripción |
|---|---|---|
--max-count | -n | Limita a las N sesiones más recientes |
--format | Formato de salida: table o json (table) |
delete
Elimina una sesión de OpenCode.
opencode session delete <sessionID>stats
Muestra estadísticas de uso de tokens y costos de tus sesiones de OpenCode.
opencode statsOpciones
| Opción | Descripción |
|---|---|
--days | Muestra estadísticas de los últimos N días (todo el tiempo) |
--tools | Número de herramientas a mostrar (todas) |
--models | Muestra el desglose de uso por modelo (oculto por defecto). Pasa un número para mostrar los N principales |
--project | Filtra por proyecto (todos los proyectos; cadena vacía: proyecto actual) |
export
Exporta los datos de sesión como JSON.
opencode export [sessionID]Si no proporcionas un ID de sesión, se te pedirá que selecciones una de las sesiones disponibles.
Opciones
| Opción | Descripción |
|---|---|
--sanitize | Oculta los datos sensibles de la transcripción/archivos |
import
Importa datos de sesión desde un archivo JSON o una URL compartida de OpenCode.
opencode import <file>Puedes importar desde un archivo local o una URL compartida de OpenCode.
opencode import session.json
opencode import https://opncd.ai/s/abc123web
Inicia un servidor OpenCode headless 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 la autenticación básica HTTP (el nombre de usuario por defecto es opencode).
Opciones
| Opción | Descripción |
|---|---|
--port | Puerto en el que escuchar |
--hostname | Nombre de host en el que escuchar |
--mdns | Habilita el descubrimiento mDNS |
--mdns-domain | Nombre de dominio mDNS personalizado |
--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 a través de stdin/stdout usando nd-JSON.
Opciones
| Opción | Descripción |
|---|---|
--cwd | Directorio de trabajo |
--port | Puerto en el que escuchar |
--hostname | Nombre de host en el que escuchar |
--mdns | Habilita el descubrimiento mDNS |
--mdns-domain | Nombre de dominio mDNS personalizado |
--cors | Origen(es) de navegador adicionales para permitir CORS |
plugin
Instala un plugin y actualiza tu configuración.
opencode plugin <module>O usa el alias.
opencode plug <module>Opciones
| Opción | Abreviatura | Descripción |
|---|---|---|
--global | -g | Instala en la configuración global |
--force | -f | Reemplaza la versión existente del plugin |
pr
Obtiene y hace checkout de la rama de un PR de GitHub, luego ejecuta OpenCode.
opencode pr <number>db
Herramientas de base de datos.
opencode db [query]Opciones
| Opción | Descripción |
|---|---|
--format | Formato de salida: json o tsv |
path
Imprime la ruta de la base de datos.
opencode db pathdebug
Herramientas de depuración y solución de problemas.
opencode debug [command]uninstall
Desinstala OpenCode y elimina todos los archivos relacionados.
opencode uninstallOpciones
| Opción | Abreviatura | Descripción |
|---|---|---|
--keep-config | -c | Conserva los archivos de configuración |
--keep-data | -d | Conserva los datos de sesión y los snapshots |
--dry-run | Muestra qué se eliminaría sin eliminarlo | |
--force | -f | Omite las solicitudes 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.48Opciones
| Opción | Abreviatura | Descripción |
|---|---|---|
--method | -m | El método de instalación que se usó; curl, npm, pnpm, bun, brew |
Opciones globales
La CLI de opencode acepta las siguientes opciones globales.
| Opción | Abreviatura | Descripción |
|---|---|---|
--help | -h | Muestra la ayuda |
--version | -v | Imprime el número de versión |
--print-logs | Imprime los logs en stderr | |
--log-level | Nivel de log (DEBUG, INFO, WARN, ERROR) | |
--pure | Ejecuta sin plugins externos |
Variables de entorno
OpenCode puede configurarse mediante variables de entorno.
| Variable | Tipo | Descripción |
|---|---|---|
OPENCODE_AUTO_SHARE | boolean | Comparte las 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_TUI_CONFIG | string | Ruta al archivo de configuración de la TUI |
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 | Deshabilita las comprobaciones automáticas de actualización |
OPENCODE_DISABLE_PRUNE | boolean | Deshabilita la limpieza de datos antiguos |
OPENCODE_DISABLE_TERMINAL_TITLE | boolean | Deshabilita las actualizaciones automáticas del título de la terminal |
OPENCODE_PERMISSION | string | Configuración de permisos json en línea |
OPENCODE_DISABLE_DEFAULT_PLUGINS | boolean | Deshabilita los plugins por defecto |
OPENCODE_DISABLE_LSP_DOWNLOAD | boolean | Deshabilita las descargas automáticas de servidores LSP |
OPENCODE_ENABLE_EXPERIMENTAL_MODELS | boolean | Habilita los modelos experimentales |
OPENCODE_DISABLE_AUTOCOMPACT | boolean | Deshabilita la compactación automática del contexto |
OPENCODE_DISABLE_CLAUDE_CODE | boolean | Deshabilita la lectura de .claude (prompt + skills) |
OPENCODE_DISABLE_CLAUDE_CODE_PROMPT | boolean | Deshabilita la lectura de ~/.claude/CLAUDE.md |
OPENCODE_DISABLE_CLAUDE_CODE_SKILLS | boolean | Deshabilita la carga de .claude/skills |
OPENCODE_DISABLE_MODELS_FETCH | boolean | Deshabilita la obtención de modelos desde fuentes remotas |
OPENCODE_DISABLE_MOUSE | boolean | Deshabilita la captura del ratón en la TUI |
OPENCODE_FAKE_VCS | string | Proveedor de VCS falso para fines de prueba |
OPENCODE_CLIENT | string | Identificador de cliente (por defecto, cli) |
OPENCODE_ENABLE_EXA | boolean | Habilita las herramientas de búsqueda web de Exa |
OPENCODE_SERVER_PASSWORD | string | Habilita la autenticación básica para serve/web |
OPENCODE_SERVER_USERNAME | string | Anula el nombre de usuario de la autenticación básica (por defecto opencode) |
OPENCODE_MODELS_URL | string | URL personalizada para obtener la configuración de modelos |
Experimental
Estas variables de entorno habilitan funciones experimentales que pueden cambiar o eliminarse.
| Variable | Tipo | Descripción |
|---|---|---|
OPENCODE_EXPERIMENTAL | boolean | Habilita todas las funciones experimentales |
OPENCODE_EXPERIMENTAL_ICON_DISCOVERY | boolean | Habilita el descubrimiento de iconos |
OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT | boolean | Deshabilita la copia al seleccionar en la TUI |
OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS | number | Tiempo de espera por defecto para los comandos bash en ms |
OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX | number | Máximo de tokens de salida para las respuestas del LLM |
OPENCODE_EXPERIMENTAL_FILEWATCHER | boolean | Habilita el observador de archivos para todo el directorio |
OPENCODE_EXPERIMENTAL_OXFMT | boolean | Habilita el formateador oxfmt |
OPENCODE_EXPERIMENTAL_LSP_TOOL | boolean | Habilita la herramienta LSP experimental |
OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER | boolean | Deshabilita el observador de archivos |
OPENCODE_EXPERIMENTAL_EXA | boolean | Habilita las funciones experimentales de Exa |
OPENCODE_EXPERIMENTAL_LSP_TY | boolean | Habilita el LSP TY para archivos python |
OPENCODE_EXPERIMENTAL_PLAN_MODE | boolean | Habilita el modo plan |