---
title: CLI
description: OpenCode CLI opciones y comandos.
---

import { Tabs, TabItem } from "@astrojs/starlight/components"

El OpenCode CLI de forma predeterminada inicia el [TUI](/docs/tui) cuando se ejecuta sin ningún argumento.

```bash
opencode
```

Pero también acepta comandos como se documenta en esta página. Esto le permite interactuar con OpenCode mediante programación.

```bash
opencode run "Explain how closures work in JavaScript"
```

---

### tui

Inicie la interfaz de usuario del terminal OpenCode.

```bash
opencode [project]
```

#### Banderas

| Bandera | Corto | Descripción |
| ------------ | ----- | ------------------------------------------ |
| `--continue` | `-c` | Continuar la última sesión |
| `--session` | `-s` | ID de sesión para continuar |
| `--prompt` |       | Aviso de uso |
| `--model` | `-m` | Modelo a utilizar en forma de proveedor/modelo |
| `--agent` |       | Agente a utilizar |
| `--port` |       | Puerto para escuchar |
| `--hostname` |       | Nombre de host para escuchar |

---

## Comandos

El OpenCode CLI también tiene los siguientes comandos.

---

### agente

Administrar agentes para OpenCode.

```bash
opencode agent [command]
```

---

### adjuntar

Conecte una terminal a un servidor backend OpenCode que ya se esté ejecutando y iniciado mediante los comandos `serve` o `web`.

```bash
opencode attach [url]
```

Esto permite usar TUI con un backend remoto OpenCode. Por ejemplo:

```bash
# 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:4096
```

#### Banderas

| Bandera | Corto | Descripción |
| ----------- | ----- | --------------------------------- |
| `--dir` |       | Directorio de trabajo para iniciar TUI en |
| `--session` | `-s` | ID de sesión para continuar |

---

#### crear

Cree un nuevo agente con configuración personalizada.

```bash
opencode agent create
```

Este comando lo guiará en la creación de un nuevo agente con un mensaje del sistema personalizado y una configuración de herramientas.

---

#### lista

Enumere todos los agentes disponibles.

```bash
opencode agent list
```

---

### autenticación

Comando para administrar credenciales e iniciar sesión para proveedores.

```bash
opencode auth [command]
```

---

#### acceso

OpenCode funciona con la lista de proveedores en [Models.dev](https://models.dev), por lo que puede usar `opencode auth login` para configurar las claves API para cualquier proveedor que desee utilizar. Esto se almacena en `~/.local/share/opencode/auth.json`.

```bash
opencode auth login
```

Cuando se inicia OpenCode, carga los proveedores desde el archivo de credenciales. Y si hay claves definidas en sus entornos o un archivo `.env` en su proyecto.

---

#### lista

Enumera todos los proveedores autenticados tal como están almacenados en el archivo de credenciales.

```bash
opencode auth list
```

O la versión corta.

```bash
opencode auth ls
```

---

#### cerrar sesión

Cierra tu sesión de un proveedor eliminándolo del archivo de credenciales.

```bash
opencode auth logout
```

---

### github

Administre el agente GitHub para la automatización del repositorio.

```bash
opencode github [command]
```

---

#### instalar

Instale el agente GitHub en su repositorio.

```bash
opencode github install
```

Esto configura el flujo de trabajo de acciones GitHub necesario y lo guía a través del proceso de configuración. [Más información](/docs/github).

---

#### correr

Ejecute el agente GitHub. Esto se usa normalmente en acciones GitHub.

```bash
opencode github run
```

##### Banderas

| Bandera | Descripción |
| --------- | -------------------------------------- |
| `--event` | GitHub evento simulado para ejecutar el agente |
| `--token` | GitHub token de acceso personal |

---

### mcp

Administrar servidores de protocolo de contexto modelo.

```bash
opencode mcp [command]
```

---

#### agregar

Agregue un servidor MCP a su configuración.

```bash
opencode mcp add
```

Este comando lo guiará para agregar un servidor MCP local o remoto.

---

#### lista

Enumere todos los servidores MCP configurados y su estado de conexión.

```bash
opencode mcp list
```

O utilice la versión corta.

```bash
opencode mcp ls
```

---

#### autenticación

Autentíquese con un servidor MCP habilitado para OAuth.

```bash
opencode mcp auth [name]
```

Si no proporciona un nombre de servidor, se le pedirá que seleccione entre los servidores compatibles con OAuth disponibles.

También puede enumerar los servidores compatibles con OAuth y su estado de autenticación.

```bash
opencode mcp auth list
```

O utilice la versión corta.

```bash
opencode mcp auth ls
```

---

#### cerrar sesión

Elimine las credenciales OAuth para un servidor MCP.

```bash
opencode mcp logout [name]
```

---

#### depurar

Depurar problemas de conexión OAuth para un servidor MCP.

```bash
opencode mcp debug <name>
```

---

### modelos

Enumere todos los modelos disponibles de los proveedores configurados.

```bash
opencode models [provider]
```

Este comando muestra todos los modelos disponibles en sus proveedores configurados en el formato `provider/model`.

Esto es útil para determinar el nombre exacto del modelo que se usará en [su configuración](/docs/config/).

Opcionalmente, puede pasar un ID de proveedor para filtrar modelos por ese proveedor.

```bash
opencode models anthropic
```

#### Banderas

| Bandera | Descripción |
| ----------- | ------------------------------------------------------------ |
| `--refresh` | Actualizar la caché de modelos desde models.dev |
| `--verbose` | Utilice una salida del modelo más detallada (incluye metadatos como costos) |

Utilice el indicador `--refresh` para actualizar la lista de modelos almacenados en caché. Esto es útil cuando se han agregado nuevos modelos a un proveedor y desea verlos en OpenCode.

```bash
opencode models --refresh
```

---

### correr

Ejecute opencode en modo no interactivo pasando un mensaje directamente.

```bash
opencode run [message..]
```

Esto es útil para secuencias de comandos, automatización o cuando desea una respuesta rápida sin iniciar el TUI completo. Por ejemplo.

```bash "opencode run"
opencode run Explain the use of context in Go
```

También puede conectarse a una instancia `opencode serve` en ejecución para evitar tiempos de arranque en frío del servidor MCP en cada ejecución:

```bash
# 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"
```

#### Banderas

| Bandera | Corto | Descripción |
| ------------ | ----- | ------------------------------------------------------------------ |
| `--command` |       | El comando a ejecutar, use mensaje para args |
| `--continue` | `-c` | Continuar la última sesión |
| `--session` | `-s` | ID de sesión para continuar |
| `--share` |       | Comparte la sesión |
| `--model` | `-m` | Modelo a utilizar en forma de proveedor/modelo |
| `--agent` |       | Agente a utilizar |
| `--file` | `-f` | Archivo(s) para adjuntar al mensaje |
| `--format` |       | Formato: predeterminado (formateado) o json (eventos JSON sin formato) |
| `--title` |       | Título de la sesión (utiliza un mensaje truncado si no se proporciona ningún valor) |
| `--attach` |       | Adjuntar a un servidor opencode en ejecución (por ejemplo, http://localhost:4096) |
| `--port` |       | Puerto para el servidor local (el puerto predeterminado es aleatorio) |

---

### atender

Inicie un servidor OpenCode sin cabeza para acceso API. Consulte los [documentos del servidor](/docs/server) para conocer la interfaz HTTP completa.

```bash
opencode serve
```

Esto inicia un servidor HTTP que proporciona acceso API a la funcionalidad opencode sin la interfaz TUI. Configure `OPENCODE_SERVER_PASSWORD` para habilitar la autenticación básica HTTP (el nombre de usuario predeterminado es `opencode`).

#### Banderas

| Bandera | Descripción |
| ------------ | ------------------------------------------ |
| `--port` | Puerto para escuchar |
| `--hostname` | Nombre de host para escuchar |
| `--mdns` | Habilitar el descubrimiento de mDNS |
| `--cors` | Orígenes de navegador adicionales para permitir CORS |

---

### sesión

Administrar OpenCode sesiones.

```bash
opencode session [command]
```

---

#### lista

Enumere todas las sesiones OpenCode.

```bash
opencode session list
```

##### Banderas

| Bandera | Corto | Descripción |
| ------------- | ----- | ------------------------------------ |
| `--max-count` | `-n` | Limitar a N sesiones más recientes |
| `--format` |       | Formato de salida: tabla o json (tabla) |

---

### estadísticas

Muestre el uso de tokens y las estadísticas de costos para sus sesiones OpenCode.

```bash
opencode stats
```

#### Banderas

| Bandera | Descripción |
| ----------- | --------------------------------------------------------------------------- |
| `--days` | Mostrar estadísticas de los últimos N días (todo el tiempo) |
| `--tools` | Número de herramientas para mostrar (todas) |
| `--models` | Mostrar el desglose del uso del modelo (oculto de forma predeterminada). Pase un número para mostrar la parte superior N |
| `--project` | Filtrar por proyecto (todos los proyectos, cadena vacía: proyecto actual) |

---

### exportar

Exportar datos de la sesión como JSON.

```bash
opencode export [sessionID]
```

Si no proporciona una ID de sesión, se le pedirá que seleccione entre las sesiones disponibles.

---

### importar

Importe datos de sesión desde un archivo JSON o una URL compartida OpenCode.

```bash
opencode import <file>
```

Puede importar desde un archivo local o una URL compartida OpenCode.

```bash
opencode import session.json
opencode import https://opncd.ai/s/abc123
```

---

### web

Inicie un servidor OpenCode sin cabeza con una interfaz web.

```bash
opencode web
```

Esto inicia un servidor HTTP y abre un navegador web para acceder a OpenCode a través de una interfaz web. Configure `OPENCODE_SERVER_PASSWORD` para habilitar la autenticación básica HTTP (el nombre de usuario predeterminado es `opencode`).

#### Banderas

| Bandera | Descripción |
| ------------ | ------------------------------------------ |
| `--port` | Puerto para escuchar |
| `--hostname` | Nombre de host para escuchar |
| `--mdns` | Habilitar el descubrimiento de mDNS |
| `--cors` | Orígenes de navegador adicionales para permitir CORS |

---

### acp

Inicie un servidor ACP (Protocolo de cliente de agente).

```bash
opencode acp
```

Este comando inicia un servidor ACP que se comunica a través de stdin/stdout usando nd-JSON.

#### Banderas

| Bandera | Descripción |
| ------------ | --------------------- |
| `--cwd` | Directorio de trabajo |
| `--port` | Puerto para escuchar |
| `--hostname` | Nombre de host para escuchar |

---

### desinstalar

Desinstale OpenCode y elimine todos los archivos relacionados.

```bash
opencode uninstall
```

#### Banderas

| Bandera | Corto | Descripción |
| --------------- | ----- | ------------------------------------------- |
| `--keep-config` | `-c` | Mantener archivos de configuración |
| `--keep-data` | `-d` | Conservar datos de sesión e instantáneas |
| `--dry-run` |       | Mostrar lo que se eliminaría sin eliminar |
| `--force` | `-f` | Saltar mensajes de confirmación |

---

### mejora

Actualiza opencode a la última versión o a una versión específica.

```bash
opencode upgrade [target]
```

Para actualizar a la última versión.

```bash
opencode upgrade
```

Para actualizar a una versión específica.

```bash
opencode upgrade v0.1.48
```

#### Banderas

| Bandera | Corto | Descripción |
| ---------- | ----- | ----------------------------------------------------------------- |
| `--method` | `-m` | El método de instalación que se utilizó; rizo, npm, pnpm, bollo, preparación |

---

## Banderas globales

El opencode CLI toma las siguientes banderas globales.

| Bandera | Corto | Descripción |
| -------------- | ----- | ------------------------------------ |
| `--help` | `-h` | Mostrar ayuda |
| `--version` | `-v` | Número de versión de impresión |
| `--print-logs` |       | Imprimir registros en stderr |
| `--log-level` |       | Nivel de registro (DEPURACIÓN, INFORMACIÓN, ADVERTENCIA, ERROR) |

---

## Variables de entorno

OpenCode se puede configurar mediante variables de entorno.

| Variables | Tipo | Descripción |
| ------------------------------------- | ------- | ------------------------------------------------- |
| `OPENCODE_AUTO_SHARE` | booleano | Compartir sesiones automáticamente |
| `OPENCODE_GIT_BASH_PATH` | cadena | Ruta al ejecutable de Git Bash en Windows |
| `OPENCODE_CONFIG` | cadena | Ruta al archivo de configuración |
| `OPENCODE_CONFIG_DIR` | cadena | Ruta al directorio de configuración |
| `OPENCODE_CONFIG_CONTENT` | cadena | Contenido de configuración json en línea |
| `OPENCODE_DISABLE_AUTOUPDATE` | booleano | Deshabilitar las comprobaciones automáticas de actualizaciones |
| `OPENCODE_DISABLE_PRUNE` | booleano | Deshabilitar la poda de datos antiguos |
| `OPENCODE_DISABLE_TERMINAL_TITLE` | booleano | Deshabilitar las actualizaciones automáticas de títulos de terminal |
| `OPENCODE_PERMISSION` | cadena | Configuración de permisos json incorporados |
| `OPENCODE_DISABLE_DEFAULT_PLUGINS` | booleano | Deshabilitar complementos predeterminados |
| `OPENCODE_DISABLE_LSP_DOWNLOAD` | booleano | Deshabilitar las descargas automáticas del servidor LSP |
| `OPENCODE_ENABLE_EXPERIMENTAL_MODELS` | booleano | Habilitar modelos experimentales |
| `OPENCODE_DISABLE_AUTOCOMPACT` | booleano | Deshabilitar la compactación automática de contexto |
| `OPENCODE_DISABLE_CLAUDE_CODE` | booleano | Deshabilitar la lectura desde `.claude` (mensaje + habilidades) |
| `OPENCODE_DISABLE_CLAUDE_CODE_PROMPT` | booleano | Desactivar lectura `~/.claude/CLAUDE.md` |
| `OPENCODE_DISABLE_CLAUDE_CODE_SKILLS` | booleano | Deshabilitar la carga `.claude/skills` |
| `OPENCODE_DISABLE_MODELS_FETCH` | booleano | Deshabilitar la recuperación de modelos desde fuentes remotas |
| `OPENCODE_FAKE_VCS` | cadena | Proveedor de VCS falso para fines de prueba |
| `OPENCODE_DISABLE_FILETIME_CHECK` | booleano | Deshabilite la verificación del tiempo del archivo para optimizarlo |
| `OPENCODE_CLIENT` | cadena | Identificador de cliente (por defecto `cli`) |
| `OPENCODE_ENABLE_EXA` | booleano | Habilitar las herramientas de búsqueda web de Exa |
| `OPENCODE_SERVER_PASSWORD` | cadena | Habilite la autenticación básica para `serve`/`web` |
| `OPENCODE_SERVER_USERNAME` | cadena | Anular el nombre de usuario de autenticación básica (predeterminado `opencode`) |
| `OPENCODE_MODELS_URL` | cadena | URL personalizada para buscar la configuración de modelos |

---

### Experimental

Estas variables de entorno habilitan funciones experimentales que pueden cambiar o eliminarse.

| Variables | Tipo | Descripción |
| ----------------------------------------------- | ------- | --------------------------------------- |
| `OPENCODE_EXPERIMENTAL` | booleano | Habilitar todas las funciones experimentales |
| `OPENCODE_EXPERIMENTAL_ICON_DISCOVERY` | booleano | Habilitar descubrimiento de íconos |
| `OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT` | booleano | Deshabilitar copia al seleccionar en TUI |
| `OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS` | número | Tiempo de espera predeterminado para comandos bash en ms |
| `OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX` | número | Tokens de salida máximos para respuestas LLM |
| `OPENCODE_EXPERIMENTAL_FILEWATCHER` | booleano | Habilite el observador de archivos para todo el directorio |
| `OPENCODE_EXPERIMENTAL_OXFMT` | booleano | Habilitar el formateador oxfmt |
| `OPENCODE_EXPERIMENTAL_LSP_TOOL` | booleano | Habilitar herramienta experimental LSP |
| `OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER` | booleano | Deshabilitar el observador de archivos |
| `OPENCODE_EXPERIMENTAL_EXA` | booleano | Habilitar funciones experimentales de Exa |
| `OPENCODE_EXPERIMENTAL_LSP_TY` | booleano | Habilitar la verificación de tipo experimental LSP |
| `OPENCODE_EXPERIMENTAL_MARKDOWN` | booleano | Habilitar funciones de rebajas experimentales |
| `OPENCODE_EXPERIMENTAL_PLAN_MODE` | booleano | Habilitar modo de plan |
