CLI
Opções e comandos da CLI do OpenCode.
A CLI do OpenCode, por padrão, inicia a TUI quando executada sem nenhum argumento.
opencodeMas 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
| Flag | Curta | Descrição |
|---|---|---|
--continue | -c | Continuar a última sessão |
--session | -s | ID da sessão a continuar |
--fork | Bifurcar a sessão ao continuar (use com --continue ou --session) | |
--prompt | Prompt a usar | |
--model | -m | Modelo a usar no formato provider/model |
--agent | Agente a usar | |
--port | Porta na qual escutar | |
--hostname | Hostname no qual escutar | |
--mdns | Ativar descoberta por mDNS | |
--mdns-domain | Nome de domínio mDNS personalizado | |
--cors | Origem(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 createEste 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
| Flag | Curta | Descrição |
|---|---|---|
--path | Diretório no qual gravar o arquivo do agente (padrão é global ou .opencode/agent com base no prompt) | |
--description | O que o agente deve fazer | |
--mode | Modo do agente: all, primary ou subagent | |
--permissions | Lista 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 | -m | Modelo 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 listattach
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:4096Flags
| Flag | Curta | Descrição |
|---|---|---|
--dir | Diretório de trabalho no qual iniciar a TUI | |
--continue | -c | Continuar a última sessão |
--session | -s | ID da sessão a continuar |
--fork | Bifurcar a sessão ao continuar (use com --continue ou --session) | |
--password | -p | Senha de autenticação básica (padrão é OPENCODE_SERVER_PASSWORD) |
--username | -u | Nome 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 loginQuando 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
| Flag | Curta | Descrição |
|---|---|---|
--provider | -p | ID ou nome do provedor no qual fazer login |
--method | -m | Ró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 listOu a versão curta.
opencode auth lslogout
Faz logout de um provedor removendo-o do arquivo de credenciais.
opencode auth logoutgithub
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 installIsso 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 runFlags
| Flag | Descrição |
|---|---|
--event | Evento simulado do GitHub para o qual rodar o agente |
--token | Token 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 addEste 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 listOu use a versão curta.
opencode mcp lsauth
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 listOu use a versão curta.
opencode mcp auth lslogout
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 anthropicFlags
| Flag | Descrição |
|---|---|
--refresh | Atualizar o cache de modelos a partir do models.dev |
--verbose | Usar 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
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 GoVocê 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
| Flag | Curta | Descrição |
|---|---|---|
--command | O comando a rodar, use message para os argumentos | |
--continue | -c | Continuar a última sessão |
--session | -s | ID da sessão a continuar |
--fork | Bifurcar a sessão ao continuar (use com --continue ou --session) | |
--share | Compartilhar a sessão | |
--model | -m | Modelo a usar no formato provider/model |
--agent | Agente a usar | |
--file | -f | Arquivo(s) a anexar à mensagem |
--format | Formato: default (formatado) ou json (eventos JSON brutos) | |
--title | Título da sessão (usa o prompt truncado se nenhum valor for fornecido) | |
--attach | Anexar a um servidor opencode em execução (ex.: http://localhost:4096 (opens in a new tab)) | |
--password | -p | Senha de autenticação básica (padrão é OPENCODE_SERVER_PASSWORD) |
--username | -u | Nome de usuário de autenticação básica (padrão é OPENCODE_SERVER_USERNAME ou opencode) |
--dir | Diretório no qual rodar, ou caminho no servidor remoto ao anexar | |
--port | Porta para o servidor local (padrão é uma porta aleatória) | |
--variant | Variante do modelo (esforço de raciocínio específico do provedor) | |
--thinking | Mostrar os blocos de pensamento | |
--dangerously-skip-permissions | Aprovar 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 serveIsso 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
| Flag | Descrição |
|---|---|
--port | Porta na qual escutar |
--hostname | Hostname no qual escutar |
--mdns | Ativar descoberta por mDNS |
--mdns-domain | Nome de domínio mDNS personalizado |
--cors | Origem(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 listFlags
| Flag | Curta | Descrição |
|---|---|---|
--max-count | -n | Limitar às N sessões mais recentes |
--format | Formato 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 statsFlags
| Flag | Descrição |
|---|---|
--days | Mostrar estatísticas dos últimos N dias (todo o período) |
--tools | Número de ferramentas a mostrar (todas) |
--models | Mostrar o detalhamento de uso por modelo (oculto por padrão). Passe um número para mostrar o top N |
--project | Filtrar 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
| Flag | Descrição |
|---|---|
--sanitize | Ocultar 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/abc123web
Inicia um servidor headless do OpenCode com uma interface web.
opencode webIsso 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
| Flag | Descrição |
|---|---|
--port | Porta na qual escutar |
--hostname | Hostname no qual escutar |
--mdns | Ativar descoberta por mDNS |
--mdns-domain | Nome de domínio mDNS personalizado |
--cors | Origem(ns) de navegador adicional(is) a permitir no 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 na qual escutar |
--hostname | Hostname no qual escutar |
--mdns | Ativar descoberta por mDNS |
--mdns-domain | Nome de domínio mDNS personalizado |
--cors | Origem(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
| Flag | Curta | Descrição |
|---|---|---|
--global | -g | Instalar na config global |
--force | -f | Substituir 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
| Flag | Descrição |
|---|---|
--format | Formato de saída: json ou tsv |
path
Imprime o caminho do banco de dados.
opencode db pathdebug
Ferramentas de depuração e solução de problemas.
opencode debug [command]uninstall
Desinstala o OpenCode e remove todos os arquivos relacionados.
opencode uninstallFlags
| Flag | Curta | Descrição |
|---|---|---|
--keep-config | -c | Manter os arquivos de configuração |
--keep-data | -d | Manter os dados de sessão e snapshots |
--dry-run | Mostrar o que seria removido sem remover | |
--force | -f | Pular 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 upgradePara atualizar para uma versão específica.
opencode upgrade v0.1.48Flags
| Flag | Curta | Descrição |
|---|---|---|
--method | -m | O método de instalação que foi usado; curl, npm, pnpm, bun, brew |
Flags globais
A CLI do opencode aceita as seguintes flags globais.
| Flag | Curta | Descrição |
|---|---|---|
--help | -h | Exibir a ajuda |
--version | -v | Imprimir o número da versão |
--print-logs | Imprimir os logs no stderr | |
--log-level | Nível de log (DEBUG, INFO, WARN, ERROR) | |
--pure | Rodar sem plugins externos |
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 do executável do Git Bash no Windows |
OPENCODE_CONFIG | string | Caminho do arquivo de config |
OPENCODE_TUI_CONFIG | string | Caminho do arquivo de config da TUI |
OPENCODE_CONFIG_DIR | string | Caminho do diretório de config |
OPENCODE_CONFIG_CONTENT | string | Conteúdo de config json inline |
OPENCODE_DISABLE_AUTOUPDATE | boolean | Desativar a verificação automática de atualizações |
OPENCODE_DISABLE_PRUNE | boolean | Desativar a limpeza de dados antigos |
OPENCODE_DISABLE_TERMINAL_TITLE | boolean | Desativar a atualização automática do título do terminal |
OPENCODE_PERMISSION | string | Config de permissões em json inline |
OPENCODE_DISABLE_DEFAULT_PLUGINS | boolean | Desativar os plugins padrão |
OPENCODE_DISABLE_LSP_DOWNLOAD | boolean | Desativar os downloads automáticos de servidores LSP |
OPENCODE_ENABLE_EXPERIMENTAL_MODELS | boolean | Ativar os modelos experimentais |
OPENCODE_DISABLE_AUTOCOMPACT | boolean | Desativar a compactação automática de contexto |
OPENCODE_DISABLE_CLAUDE_CODE | boolean | Desativar a leitura de .claude (prompt + skills) |
OPENCODE_DISABLE_CLAUDE_CODE_PROMPT | boolean | Desativar a leitura de ~/.claude/CLAUDE.md |
OPENCODE_DISABLE_CLAUDE_CODE_SKILLS | boolean | Desativar o carregamento de .claude/skills |
OPENCODE_DISABLE_MODELS_FETCH | boolean | Desativar a busca de modelos de fontes remotas |
OPENCODE_DISABLE_MOUSE | boolean | Desativar a captura de mouse na TUI |
OPENCODE_FAKE_VCS | string | Provedor de VCS falso para fins de teste |
OPENCODE_CLIENT | string | Identificador do cliente (padrão é cli) |
OPENCODE_ENABLE_EXA | boolean | Ativar as ferramentas de busca na web da Exa |
OPENCODE_SERVER_PASSWORD | string | Ativar a autenticação básica para serve/web |
OPENCODE_SERVER_USERNAME | string | Sobrescrever o nome de usuário da autenticação básica (padrão opencode) |
OPENCODE_MODELS_URL | string | URL personalizada para buscar a configuração de modelos |
Experimental
Estas variáveis de ambiente ativam recursos experimentais que podem mudar ou ser removidos.
| Variável | Tipo | Descrição |
|---|---|---|
OPENCODE_EXPERIMENTAL | boolean | Ativar todos os recursos experimentais |
OPENCODE_EXPERIMENTAL_ICON_DISCOVERY | boolean | Ativar a descoberta de ícones |
OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT | boolean | Desativar 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 do LLM |
OPENCODE_EXPERIMENTAL_FILEWATCHER | boolean | Ativar o file watcher para o diretório inteiro |
OPENCODE_EXPERIMENTAL_OXFMT | boolean | Ativar o formatador oxfmt |
OPENCODE_EXPERIMENTAL_LSP_TOOL | boolean | Ativar a ferramenta LSP experimental |
OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER | boolean | Desativar o file watcher |
OPENCODE_EXPERIMENTAL_EXA | boolean | Ativar os recursos experimentais da Exa |
OPENCODE_EXPERIMENTAL_LSP_TY | boolean | Ativar o LSP TY para arquivos python |
OPENCODE_EXPERIMENTAL_PLAN_MODE | boolean | Ativar o modo plano |