CLI
Opções e comandos do CLI do OpenCode.
O CLI do OpenCode por padrão inicia a TUI quando executado sem argumentos.
opencodeMas também aceita comandos conforme documentado nesta página. Isso permite que você interaja com o OpenCode programaticamente.
opencode run "Explain how closures work in JavaScript"tui
Inicia a interface de usuário de terminal do OpenCode.
opencode [project]Flags
| Flag | Curto | Descrição |
|---|---|---|
--continue | -c | Continuar a última sessão |
--session | -s | ID da sessão para continuar |
--prompt | Prompt a usar | |
--model | -m | Modelo a usar no formato provider/model |
--agent | Agente a usar | |
--port | Porta para escutar | |
--hostname | Hostname para escutar |
Comandos
O CLI do OpenCode também possui os seguintes comandos.
agent
Gerencia agentes para o OpenCode.
opencode agent [command]attach
Anexa um terminal a um servidor backend do OpenCode já em execução iniciado via comandos serve ou web.
opencode attach [url]Isso permite usar a TUI com um backend remoto do OpenCode. Por exemplo:
# Inicia o servidor backend para acesso web/mobile
opencode web --port 4096 --hostname 0.0.0.0
# Em outro terminal, anexa a TUI ao backend em execução
opencode attach http://10.20.30.40:4096Flags
| Flag | Curto | Descrição |
|---|---|---|
--dir | Diretório de trabalho para iniciar a TUI | |
--session | -s | ID da sessão para continuar |
create
Cria um novo agente com configuração personalizada.
opencode agent createEste comando guiará você na criação de um novo agente com prompt de sistema e configuração de ferramentas personalizados.
list
Lista todos os agentes disponíveis.
opencode agent listauth
Comando para gerenciar credenciais e login para provedores.
opencode auth [command]login
O OpenCode é alimentado pela lista de provedores em Models.dev (opens in a new tab), então você pode usar opencode auth login para configurar chaves de API para qualquer provedor que deseja usar. Isso é armazenado em ~/.local/share/opencode/auth.json.
opencode auth loginQuando o OpenCode inicia, ele carrega os provedores do arquivo de credenciais. E se houver chaves definidas em suas variáveis de ambiente ou em um arquivo .env no seu projeto.
list
Lista todos os provedores autenticados conforme armazenado no arquivo de credenciais.
opencode auth listOu a versão curta.
opencode auth lslogout
Desconecta você de um provedor removendo-o do arquivo de credenciais.
opencode auth logoutgithub
Gerencia o agente GitHub para automação de repositórios.
opencode github [command]install
Instala o agente GitHub no seu repositório.
opencode github installIsso configura o workflow necessário do GitHub Actions e guia você pelo processo de configuração. Saiba mais.
run
Executa o agente GitHub. Isso é tipicamente usado no GitHub Actions.
opencode github runFlags
| Flag | Descrição |
|---|---|
--event | Evento mock do GitHub para executar o agente |
--token | Token de acesso pessoal do GitHub |
mcp
Gerencia servidores do Model Context Protocol.
opencode mcp [command]add
Adiciona um servidor MCP à sua configuração.
opencode mcp addEste comando guiará você na adição de um servidor MCP local ou remoto.
list
Lista todos os servidores MCP configurados e seu status de conexão.
opencode mcp listOu use a versão curta.
opencode mcp lsauth
Autentica com um servidor MCP habilitado para OAuth.
opencode mcp auth [name]Se você não fornecer um nome de servidor, será solicitado a selecionar entre os servidores disponíveis com capacidade OAuth.
Você também pode listar servidores com capacidade OAuth e seu status de autenticação.
opencode mcp auth listOu use a versão curta.
opencode mcp auth lslogout
Remove credenciais OAuth para um servidor MCP.
opencode mcp logout [name]debug
Depura problemas de conexão OAuth para um servidor MCP.
opencode mcp debug <name>models
Lista todos os modelos disponíveis dos provedores configurados.
opencode models [provider]Este comando exibe todos os modelos disponíveis em seus provedores configurados no formato provider/model.
Isso é útil para descobrir o nome exato do modelo a usar na sua configuração.
Você pode opcionalmente passar um ID de provedor para filtrar modelos por esse provedor.
opencode models anthropicFlags
| Flag | Descrição |
|---|---|
--refresh | Atualiza o cache de modelos do models.dev |
--verbose | Usa saída de modelo mais detalhada (inclui metadados como custos) |
Use a flag --refresh para atualizar a lista de modelos em cache. Isso é útil quando novos modelos foram adicionados a um provedor e você quer vê-los no OpenCode.
opencode models --refreshrun
Executa o opencode em modo não interativo passando um prompt diretamente.
opencode run [message..]Isso é útil para scripts, automação ou quando você quer uma resposta rápida sem iniciar a TUI completa. Por exemplo.
opencode run "Explain the use of context in Go"Você também pode anexar a uma instância opencode serve em execução para evitar tempos de inicialização fria do servidor MCP em cada execução:
# Inicia um servidor headless em um terminal
opencode serve
# Em outro terminal, executa comandos que se anexam a ele
opencode run --attach http://localhost:4096 "Explain async/await in JavaScript"Flags
| Flag | Curto | Descrição |
|---|---|---|
--command | O comando a executar, use message para args | |
--continue | -c | Continuar a última sessão |
--session | -s | ID da sessão para continuar |
--share | Compartilhar a sessão | |
--model | -m | Modelo a usar no formato provider/model |
--agent | Agente a usar | |
--file | -f | Arquivo(s) para anexar à mensagem |
--format | Formato: default (formatado) ou json (eventos JSON brutos) | |
--title | Título para a sessão (usa prompt truncado se nenhum valor fornecido) | |
--attach | Anexar a um servidor opencode em execução (ex: http://localhost:4096 (opens in a new tab)) | |
--port | Porta para o servidor local (padrão é porta aleatória) |
serve
Inicia um servidor OpenCode headless para acesso via API. Confira a documentação do servidor para a interface HTTP completa.
opencode serveIsso inicia um servidor HTTP que fornece acesso via API à funcionalidade do opencode sem a interface TUI. Defina OPENCODE_SERVER_PASSWORD para habilitar autenticação básica HTTP (nome de usuário padrão é opencode).
Flags
| Flag | Descrição |
|---|---|
--port | Porta para escutar |
--hostname | Hostname para escutar |
--mdns | Habilitar descoberta mDNS |
--cors | Origem(ns) adicional(is) do navegador para permitir CORS |
session
Gerencia sessões do OpenCode.
opencode session [command]list
Lista todas as sessões do OpenCode.
opencode session listFlags
| Flag | Curto | Descrição |
|---|---|---|
--max-count | -n | Limitar às N sessões mais recentes |
--format | Formato de saída: table ou json (table) |
stats
Mostra estatísticas de uso de tokens e custos para suas sessões do OpenCode.
opencode statsFlags
| Flag | Descrição |
|---|---|
--days | Mostrar estatísticas dos últimos N dias (todo o tempo) |
--tools | Número de ferramentas a mostrar (todas) |
--models | Mostrar detalhamento de uso de modelos (oculto por padrão). Passe um número para mostrar os N principais |
--project | Filtrar por projeto (todos os projetos, string vazia: projeto atual) |
export
Exporta dados da sessão como JSON.
opencode export [sessionID]Se você não fornecer um ID de sessão, será solicitado a selecionar entre as sessões disponíveis.
import
Importa dados de sessão de um arquivo JSON ou URL de compartilhamento do OpenCode.
opencode import <file>Você pode importar de um arquivo local ou de uma URL de compartilhamento do OpenCode.
opencode import session.json
opencode import https://opncd.ai/s/abc123web
Inicia um servidor OpenCode headless com interface web.
opencode webIsso inicia um servidor HTTP e abre um navegador web para acessar o OpenCode através de uma interface web. Defina OPENCODE_SERVER_PASSWORD para habilitar autenticação básica HTTP (nome de usuário padrão é opencode).
Flags
| Flag | Descrição |
|---|---|
--port | Porta para escutar |
--hostname | Hostname para escutar |
--mdns | Habilitar descoberta mDNS |
--cors | Origem(ns) adicional(is) do navegador para permitir CORS |
acp
Inicia um servidor ACP (Agent Client Protocol).
opencode acpEste comando inicia um servidor ACP que se comunica via stdin/stdout usando nd-JSON.
Flags
| Flag | Descrição |
|---|---|
--cwd | Diretório de trabalho |
--port | Porta para escutar |
--hostname | Hostname para escutar |
uninstall
Desinstala o OpenCode e remove todos os arquivos relacionados.
opencode uninstallFlags
| Flag | Curto | Descrição |
|---|---|---|
--keep-config | -c | Manter arquivos de configuração |
--keep-data | -d | Manter dados de sessão e snapshots |
--dry-run | Mostrar o que seria removido sem remover | |
--force | -f | Pular prompts de confirmação |
upgrade
Atualiza o opencode para a versão mais recente ou uma versão específica.
opencode upgrade [target]Para atualizar para a versão mais recente.
opencode upgradePara atualizar para uma versão específica.
opencode upgrade v0.1.48Flags
| Flag | Curto | Descrição |
|---|---|---|
--method | -m | O método de instalação que foi usado; curl, npm, pnpm, bun, brew |
Flags Globais
O CLI do opencode aceita as seguintes flags globais.
| Flag | Curto | Descrição |
|---|---|---|
--help | -h | Exibir ajuda |
--version | -v | Imprimir número da versão |
--print-logs | Imprimir logs para stderr | |
--log-level | Nível de log (DEBUG, INFO, WARN, ERROR) |
Variáveis de Ambiente
O OpenCode pode ser configurado usando variáveis de ambiente.
| Variável | Tipo | Descrição |
|---|---|---|
OPENCODE_AUTO_SHARE | boolean | Compartilhar sessões automaticamente |
OPENCODE_GIT_BASH_PATH | string | Caminho para o executável Git Bash no Windows |
OPENCODE_CONFIG | string | Caminho para o arquivo de configuração |
OPENCODE_CONFIG_DIR | string | Caminho para o diretório de configuração |
OPENCODE_CONFIG_CONTENT | string | Conteúdo de configuração json inline |
OPENCODE_DISABLE_AUTOUPDATE | boolean | Desabilitar verificações automáticas de atualização |
OPENCODE_DISABLE_PRUNE | boolean | Desabilitar limpeza de dados antigos |
OPENCODE_DISABLE_TERMINAL_TITLE | boolean | Desabilitar atualizações automáticas do título do terminal |
OPENCODE_PERMISSION | string | Configuração de permissões json inline |
OPENCODE_DISABLE_DEFAULT_PLUGINS | boolean | Desabilitar plugins padrão |
OPENCODE_DISABLE_LSP_DOWNLOAD | boolean | Desabilitar downloads automáticos de servidor LSP |
OPENCODE_ENABLE_EXPERIMENTAL_MODELS | boolean | Habilitar modelos experimentais |
OPENCODE_DISABLE_AUTOCOMPACT | boolean | Desabilitar compactação automática de contexto |
OPENCODE_DISABLE_CLAUDE_CODE | boolean | Desabilitar leitura de .claude (prompt + skills) |
OPENCODE_DISABLE_CLAUDE_CODE_PROMPT | boolean | Desabilitar leitura de ~/.claude/CLAUDE.md |
OPENCODE_DISABLE_CLAUDE_CODE_SKILLS | boolean | Desabilitar carregamento de .claude/skills |
OPENCODE_DISABLE_MODELS_FETCH | boolean | Desabilitar busca de modelos de fontes remotas |
OPENCODE_FAKE_VCS | string | Provedor VCS falso para fins de teste |
OPENCODE_DISABLE_FILETIME_CHECK | boolean | Desabilitar verificação de tempo de arquivo para otimização |
OPENCODE_CLIENT | string | Identificador do cliente (padrão cli) |
OPENCODE_ENABLE_EXA | boolean | Habilitar ferramentas de busca web Exa |
OPENCODE_SERVER_PASSWORD | string | Habilitar autenticação básica para serve/web |
OPENCODE_SERVER_USERNAME | string | Sobrescrever nome de usuário de autenticação básica (padrão opencode) |
OPENCODE_MODELS_URL | string | URL personalizada para buscar configuração de modelos |
Experimental
Estas variáveis de ambiente habilitam recursos experimentais que podem mudar ou ser removidos.
| Variável | Tipo | Descrição |
|---|---|---|
OPENCODE_EXPERIMENTAL | boolean | Habilitar todos os recursos experimentais |
OPENCODE_EXPERIMENTAL_ICON_DISCOVERY | boolean | Habilitar descoberta de ícones |
OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT | boolean | Desabilitar copiar ao selecionar na TUI |
OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS | number | Timeout padrão para comandos bash em ms |
OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX | number | Máximo de tokens de saída para respostas LLM |
OPENCODE_EXPERIMENTAL_FILEWATCHER | boolean | Habilitar observador de arquivos para diretório inteiro |
OPENCODE_EXPERIMENTAL_OXFMT | boolean | Habilitar formatador oxfmt |
OPENCODE_EXPERIMENTAL_LSP_TOOL | boolean | Habilitar ferramenta LSP experimental |
OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER | boolean | Desabilitar observador de arquivos |
OPENCODE_EXPERIMENTAL_EXA | boolean | Habilitar recursos Exa experimentais |
OPENCODE_EXPERIMENTAL_LSP_TY | boolean | Habilitar verificação de tipos LSP experimental |
OPENCODE_EXPERIMENTAL_MARKDOWN | boolean | Habilitar recursos markdown experimentais |
OPENCODE_EXPERIMENTAL_PLAN_MODE | boolean | Habilitar modo de planejamento |