Português
Documentação
CLI

CLI

Opções e comandos da CLI do OpenCode.

A CLI do OpenCode, por padrão, inicia a TUI quando executada sem nenhum argumento.

opencode

Mas ela 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

FlagCurtaDescrição
--continue-cContinuar a última sessão
--session-sID da sessão a continuar
--forkBifurcar a sessão ao continuar (use com --continue ou --session)
--promptPrompt a usar
--model-mModelo a usar no formato provider/model
--agentAgente a usar
--portPorta na qual escutar
--hostnameHostname no qual escutar
--mdnsAtivar descoberta por mDNS
--mdns-domainNome de domínio mDNS personalizado
--corsOrigem(ns) de navegador adicional(is) a permitir no CORS

Comandos

A CLI do OpenCode também tem os seguintes comandos.


agent

Gerencia os agentes do OpenCode.

opencode agent [command]

create

Cria um novo agente com configuração personalizada.

opencode agent create

Este comando vai te guiar pela criação de um novo agente com um system prompt e uma configuração de permissões personalizados. Qualquer coisa que você não permitir é negada no frontmatter do agente gerado.

Flags

FlagCurtaDescrição
--pathDiretório no qual gravar o arquivo do agente (padrão é global ou .opencode/agent com base no prompt)
--descriptionO que o agente deve fazer
--modeModo do agente: all, primary ou subagent
--permissionsLista de permissões a permitir separadas por vírgula (padrão: todas). Disponíveis: bash, read, edit, glob, grep, webfetch, task, todowrite, websearch, lsp, skill. Qualquer coisa omitida é negada. Alias: --tools
--model-mModelo a usar, no formato provider/model

Passar todos os parâmetros --path, --description, --mode e --permissions roda o comando de forma não interativa.


list

Lista todos os agentes disponíveis.

opencode agent list

attach

Anexa um terminal a um servidor de backend do OpenCode já em execução, iniciado pelos comandos serve ou web.

opencode attach [url]

Isso permite usar a TUI com um backend remoto do OpenCode. Por exemplo:

# 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

Flags

FlagCurtaDescrição
--dirDiretório de trabalho no qual iniciar a TUI
--continue-cContinuar a última sessão
--session-sID da sessão a continuar
--forkBifurcar a sessão ao continuar (use com --continue ou --session)
--password-pSenha de autenticação básica (padrão é OPENCODE_SERVER_PASSWORD)
--username-uNome de usuário de autenticação básica (padrão é OPENCODE_SERVER_USERNAME ou opencode)

auth

Comando para gerenciar credenciais e login dos provedores.

opencode auth [command]

login

O OpenCode é alimentado pela lista de provedores do Models.dev (opens in a new tab), então você pode usar opencode auth login para configurar chaves de API de qualquer provedor que quiser usar. Isso é armazenado em ~/.local/share/opencode/auth.json.

opencode auth login

Quando o OpenCode é iniciado, ele carrega os provedores a partir do arquivo de credenciais. E também caso haja chaves definidas no seu ambiente ou em um arquivo .env no seu projeto.

Flags
FlagCurtaDescrição
--provider-pID ou nome do provedor no qual fazer login
--method-mRótulo do método de login a usar, pulando a seleção de método

list

Lista todos os provedores autenticados conforme armazenados no arquivo de credenciais.

opencode auth list

Ou a versão curta.

opencode auth ls

logout

Faz logout de um provedor removendo-o do arquivo de credenciais.

opencode auth logout

github

Gerencia o agente do GitHub para automação de repositórios.

opencode github [command]

install

Instala o agente do GitHub no seu repositório.

opencode github install

Isso configura o workflow necessário do GitHub Actions e te guia pelo processo de configuração. Saiba mais.


run

Roda o agente do GitHub. Isso normalmente é usado no GitHub Actions.

opencode github run
Flags
FlagDescrição
--eventEvento simulado do GitHub para o qual rodar o agente
--tokenToken de acesso pessoal do GitHub

mcp

Gerencia os servidores do Model Context Protocol.

opencode mcp [command]

add

Adiciona um servidor MCP à sua config.

opencode mcp add

Este comando vai te guiar pela adição de um servidor MCP local ou remoto.


list

Lista todos os servidores MCP configurados e o status de conexão deles.

opencode mcp list

Ou use a versão curta.

opencode mcp ls

auth

Autentica-se com um servidor MCP habilitado para OAuth.

opencode mcp auth [name]

Se você não fornecer um nome de servidor, será solicitado que você selecione entre os servidores disponíveis com suporte a OAuth.

Você também pode listar os servidores com suporte a OAuth e o status de autenticação deles.

opencode mcp auth list

Ou use a versão curta.

opencode mcp auth ls

logout

Remove as credenciais OAuth de um servidor MCP.

opencode mcp logout [name]

debug

Depura problemas de conexão OAuth de 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 config.

Você pode opcionalmente passar um ID de provedor para filtrar os modelos por esse provedor.

opencode models anthropic

Flags

FlagDescrição
--refreshAtualizar o cache de modelos a partir do models.dev
--verboseUsar 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 --refresh

run

Roda o opencode em modo não interativo passando um prompt diretamente.

opencode run [message..]

Isso é útil para scripting, automação ou quando você quer uma resposta rápida sem abrir a TUI completa. Por exemplo.

opencode run Explain the use of context in Go

Você também pode se anexar a uma instância de opencode serve em execução para evitar os tempos de cold boot do servidor MCP a cada execução:

# 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

FlagCurtaDescrição
--commandO comando a rodar, use message para os argumentos
--continue-cContinuar a última sessão
--session-sID da sessão a continuar
--forkBifurcar a sessão ao continuar (use com --continue ou --session)
--shareCompartilhar a sessão
--model-mModelo a usar no formato provider/model
--agentAgente a usar
--file-fArquivo(s) a anexar à mensagem
--formatFormato: default (formatado) ou json (eventos JSON brutos)
--titleTítulo da sessão (usa o prompt truncado se nenhum valor for fornecido)
--attachAnexar a um servidor opencode em execução (ex.: http://localhost:4096 (opens in a new tab))
--password-pSenha de autenticação básica (padrão é OPENCODE_SERVER_PASSWORD)
--username-uNome de usuário de autenticação básica (padrão é OPENCODE_SERVER_USERNAME ou opencode)
--dirDiretório no qual rodar, ou caminho no servidor remoto ao anexar
--portPorta para o servidor local (padrão é uma porta aleatória)
--variantVariante do modelo (esforço de raciocínio específico do provedor)
--thinkingMostrar os blocos de pensamento
--dangerously-skip-permissionsAprovar automaticamente as permissões que não foram explicitamente negadas (perigoso!)

serve

Inicia um servidor headless do OpenCode para acesso via API. Confira a documentação do servidor para a interface HTTP completa.

opencode serve

Isso inicia um servidor HTTP que fornece acesso via API às funcionalidades do opencode sem a interface da TUI. Defina OPENCODE_SERVER_PASSWORD para ativar a autenticação HTTP básica (o nome de usuário padrão é opencode).

Flags

FlagDescrição
--portPorta na qual escutar
--hostnameHostname no qual escutar
--mdnsAtivar descoberta por mDNS
--mdns-domainNome de domínio mDNS personalizado
--corsOrigem(ns) de navegador adicional(is) a permitir no CORS

session

Gerencia as sessões do OpenCode.

opencode session [command]

list

Lista todas as sessões do OpenCode.

opencode session list
Flags
FlagCurtaDescrição
--max-count-nLimitar às N sessões mais recentes
--formatFormato de saída: table ou json (table)

delete

Exclui uma sessão do OpenCode.

opencode session delete <sessionID>

stats

Mostra estatísticas de uso de tokens e custo das suas sessões do OpenCode.

opencode stats

Flags

FlagDescrição
--daysMostrar estatísticas dos últimos N dias (todo o período)
--toolsNúmero de ferramentas a mostrar (todas)
--modelsMostrar o detalhamento de uso por modelo (oculto por padrão). Passe um número para mostrar o top N
--projectFiltrar por projeto (todos os projetos, string vazia: projeto atual)

export

Exporta os dados da sessão como JSON.

opencode export [sessionID]

Se você não fornecer um ID de sessão, será solicitado que você selecione entre as sessões disponíveis.

Flags

FlagDescrição
--sanitizeOcultar dados sensíveis de transcrição/arquivos

import

Importa dados de sessão a partir de um arquivo JSON ou de uma 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/abc123

web

Inicia um servidor headless do OpenCode com uma interface web.

opencode web

Isso inicia um servidor HTTP e abre um navegador web para acessar o OpenCode por uma interface web. Defina OPENCODE_SERVER_PASSWORD para ativar a autenticação HTTP básica (o nome de usuário padrão é opencode).

Flags

FlagDescrição
--portPorta na qual escutar
--hostnameHostname no qual escutar
--mdnsAtivar descoberta por mDNS
--mdns-domainNome de domínio mDNS personalizado
--corsOrigem(ns) de navegador adicional(is) a permitir no CORS

acp

Inicia um servidor ACP (Agent Client Protocol).

opencode acp

Este comando inicia um servidor ACP que se comunica via stdin/stdout usando nd-JSON.

Flags

FlagDescrição
--cwdDiretório de trabalho
--portPorta na qual escutar
--hostnameHostname no qual escutar
--mdnsAtivar descoberta por mDNS
--mdns-domainNome de domínio mDNS personalizado
--corsOrigem(ns) de navegador adicional(is) a permitir no CORS

plugin

Instala um plugin e atualiza sua config.

opencode plugin <module>

Ou use o alias.

opencode plug <module>

Flags

FlagCurtaDescrição
--global-gInstalar na config global
--force-fSubstituir a versão existente do plugin

pr

Busca e faz checkout da branch de um PR do GitHub e, em seguida, roda o OpenCode.

opencode pr <number>

db

Ferramentas de banco de dados.

opencode db [query]

Flags

FlagDescrição
--formatFormato de saída: json ou tsv

path

Imprime o caminho do banco de dados.

opencode db path

debug

Ferramentas de depuração e solução de problemas.

opencode debug [command]

uninstall

Desinstala o OpenCode e remove todos os arquivos relacionados.

opencode uninstall

Flags

FlagCurtaDescrição
--keep-config-cManter os arquivos de configuração
--keep-data-dManter os dados de sessão e snapshots
--dry-runMostrar o que seria removido sem remover
--force-fPular os prompts de confirmação

upgrade

Atualiza o opencode para a versão mais recente ou para uma versão específica.

opencode upgrade [target]

Para atualizar para a versão mais recente.

opencode upgrade

Para atualizar para uma versão específica.

opencode upgrade v0.1.48

Flags

FlagCurtaDescrição
--method-mO método de instalação que foi usado; curl, npm, pnpm, bun, brew

Flags globais

A CLI do opencode aceita as seguintes flags globais.

FlagCurtaDescrição
--help-hExibir a ajuda
--version-vImprimir o número da versão
--print-logsImprimir os logs no stderr
--log-levelNível de log (DEBUG, INFO, WARN, ERROR)
--pureRodar sem plugins externos

Variáveis de ambiente

O OpenCode pode ser configurado usando variáveis de ambiente.

VariávelTipoDescrição
OPENCODE_AUTO_SHAREbooleanCompartilhar sessões automaticamente
OPENCODE_GIT_BASH_PATHstringCaminho do executável do Git Bash no Windows
OPENCODE_CONFIGstringCaminho do arquivo de config
OPENCODE_TUI_CONFIGstringCaminho do arquivo de config da TUI
OPENCODE_CONFIG_DIRstringCaminho do diretório de config
OPENCODE_CONFIG_CONTENTstringConteúdo de config json inline
OPENCODE_DISABLE_AUTOUPDATEbooleanDesativar a verificação automática de atualizações
OPENCODE_DISABLE_PRUNEbooleanDesativar a limpeza de dados antigos
OPENCODE_DISABLE_TERMINAL_TITLEbooleanDesativar a atualização automática do título do terminal
OPENCODE_PERMISSIONstringConfig de permissões em json inline
OPENCODE_DISABLE_DEFAULT_PLUGINSbooleanDesativar os plugins padrão
OPENCODE_DISABLE_LSP_DOWNLOADbooleanDesativar os downloads automáticos de servidores LSP
OPENCODE_ENABLE_EXPERIMENTAL_MODELSbooleanAtivar os modelos experimentais
OPENCODE_DISABLE_AUTOCOMPACTbooleanDesativar a compactação automática de contexto
OPENCODE_DISABLE_CLAUDE_CODEbooleanDesativar a leitura de .claude (prompt + skills)
OPENCODE_DISABLE_CLAUDE_CODE_PROMPTbooleanDesativar a leitura de ~/.claude/CLAUDE.md
OPENCODE_DISABLE_CLAUDE_CODE_SKILLSbooleanDesativar o carregamento de .claude/skills
OPENCODE_DISABLE_MODELS_FETCHbooleanDesativar a busca de modelos de fontes remotas
OPENCODE_DISABLE_MOUSEbooleanDesativar a captura de mouse na TUI
OPENCODE_FAKE_VCSstringProvedor de VCS falso para fins de teste
OPENCODE_CLIENTstringIdentificador do cliente (padrão é cli)
OPENCODE_ENABLE_EXAbooleanAtivar as ferramentas de busca na web da Exa
OPENCODE_SERVER_PASSWORDstringAtivar a autenticação básica para serve/web
OPENCODE_SERVER_USERNAMEstringSobrescrever o nome de usuário da autenticação básica (padrão opencode)
OPENCODE_MODELS_URLstringURL personalizada para buscar a configuração de modelos

Experimental

Estas variáveis de ambiente ativam recursos experimentais que podem mudar ou ser removidos.

VariávelTipoDescrição
OPENCODE_EXPERIMENTALbooleanAtivar todos os recursos experimentais
OPENCODE_EXPERIMENTAL_ICON_DISCOVERYbooleanAtivar a descoberta de ícones
OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECTbooleanDesativar copiar ao selecionar na TUI
OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MSnumberTimeout padrão para comandos bash em ms
OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAXnumberMáximo de tokens de saída para respostas do LLM
OPENCODE_EXPERIMENTAL_FILEWATCHERbooleanAtivar o file watcher para o diretório inteiro
OPENCODE_EXPERIMENTAL_OXFMTbooleanAtivar o formatador oxfmt
OPENCODE_EXPERIMENTAL_LSP_TOOLbooleanAtivar a ferramenta LSP experimental
OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHERbooleanDesativar o file watcher
OPENCODE_EXPERIMENTAL_EXAbooleanAtivar os recursos experimentais da Exa
OPENCODE_EXPERIMENTAL_LSP_TYbooleanAtivar o LSP TY para arquivos python
OPENCODE_EXPERIMENTAL_PLAN_MODEbooleanAtivar o modo plano