Salta ai contenuti

CLI

Opzioni e comandi della CLI di OpenCode.

La CLI di OpenCode, per impostazione predefinita, avvia la TUI quando viene eseguita senza argomenti.

Terminal window
opencode

Ma accetta anche i comandi documentati in questa pagina. Questo ti permette di interagire con OpenCode in modo programmatico.

Terminal window
opencode run "Explain how closures work in JavaScript"

tui

Avvia l’interfaccia testuale di OpenCode (interfaccia utente da terminale).

Terminal window
opencode [project]

Flag

FlagBreveDescrizione
--continue-cContinua l’ultima sessione
--session-sID sessione da continuare
--forkDuplica la sessione quando continui (usa con --continue o --session)
--promptPrompt da usare
--model-mModello nel formato provider/model
--agentAgente da usare
--portPorta su cui mettersi in ascolto
--hostnameHostname su cui mettersi in ascolto

Comandi

La CLI di OpenCode include anche i seguenti comandi.


agent

Gestisci gli agenti per OpenCode.

Terminal window
opencode agent [command]

attach

Collega un terminale a un backend server di OpenCode gia’ in esecuzione avviato tramite i comandi serve o web.

Terminal window
opencode attach [url]

Questo consente di usare la TUI con un backend OpenCode remoto. Per esempio:

Terminal window
# Start the backend server for web/mobile access
opencode web --port 4096 --hostname 0.0.0.0
# In un altro terminale, collega la TUI al backend in esecuzione
opencode attach http://10.20.30.40:4096

Flag

FlagBreveDescrizione
--dirWorking directory in cui avviare la TUI
--session-sID sessione da continuare

create

Crea un nuovo agente con configurazione personalizzata.

Terminal window
opencode agent create

Questo comando ti guida nella creazione di un nuovo agente con un system prompt personalizzato e configurazione degli strumenti.


list

Elenca tutti gli agenti disponibili.

Terminal window
opencode agent list

auth

Comando per gestire le credenziali e il login dei provider.

Terminal window
opencode auth [command]

login

OpenCode si basa sull’elenco provider di Models.dev, quindi puoi usare opencode auth login per configurare le API key per qualunque provider tu voglia usare. Le credenziali vengono salvate in ~/.local/share/opencode/auth.json.

Terminal window
opencode auth login

Quando OpenCode si avvia, carica i provider dal file delle credenziali e, se presenti, anche eventuali key definite nell’ambiente o in un file .env nel progetto.


list

Elenca tutti i provider autenticati come salvati nel file delle credenziali.

Terminal window
opencode auth list

Oppure la versione corta.

Terminal window
opencode auth ls

logout

Esegue il logout da un provider rimuovendolo dal file delle credenziali.

Terminal window
opencode auth logout

github

Gestisci l’agente GitHub per l’automazione dei repository.

Terminal window
opencode github [command]

install

Installa l’agente GitHub nel tuo repository.

Terminal window
opencode github install

Questo configura il workflow GitHub Actions necessario e ti guida nel processo di configurazione. Scopri di piu’.


run

Esegui l’agente GitHub. Tipicamente usato in GitHub Actions.

Terminal window
opencode github run
Flag
FlagDescrizione
--eventEvento GitHub mock per cui eseguire l’agente
--tokenGitHub personal access token

mcp

Gestisci i server Model Context Protocol.

Terminal window
opencode mcp [command]

add

Aggiungi un server MCP alla tua configurazione.

Terminal window
opencode mcp add

Questo comando ti guida nell’aggiunta di un server MCP locale o remoto.


list

Elenca tutti i server MCP configurati e il loro stato di connessione.

Terminal window
opencode mcp list

Oppure la versione corta.

Terminal window
opencode mcp ls

auth

Autentica con un server MCP con OAuth abilitato.

Terminal window
opencode mcp auth [name]

Se non fornisci un nome server, ti verra’ chiesto di selezionare tra i server OAuth-capable disponibili.

Puoi anche elencare i server OAuth-capable e il loro stato di autenticazione.

Terminal window
opencode mcp auth list

Oppure la versione corta.

Terminal window
opencode mcp auth ls

logout

Rimuovi le credenziali OAuth per un server MCP.

Terminal window
opencode mcp logout [name]

debug

Esegui debug di problemi di connessione OAuth per un server MCP.

Terminal window
opencode mcp debug <name>

models

Elenca tutti i modelli disponibili dai provider configurati.

Terminal window
opencode models [provider]

Questo comando mostra tutti i modelli disponibili tra i provider configurati nel formato provider/model.

E’ utile per capire l’esatto nome del modello da usare nella config.

Puoi anche passare opzionalmente un ID provider per filtrare i modelli a quel provider.

Terminal window
opencode models anthropic

Flag

FlagDescrizione
--refreshAggiorna la cache modelli da models.dev
--verboseOutput piu’ verboso (include metadati come i costi)

Usa --refresh per aggiornare l’elenco modelli in cache. E’ utile quando nuovi modelli vengono aggiunti a un provider e vuoi vederli in OpenCode.

Terminal window
opencode models --refresh

run

Esegui opencode in modalita’ non interattiva passando un prompt direttamente.

Terminal window
opencode run [message..]

E’ utile per scripting, automazione o quando vuoi una risposta rapida senza avviare la TUI completa. Per esempio.

Terminal window
opencode run Explain the use of context in Go

Puoi anche collegarti a una istanza opencode serve gia’ in esecuzione per evitare i cold boot dei server MCP ad ogni esecuzione:

Terminal window
# Avvia un server headless in un terminale
opencode serve
# In un altro terminale, esegui comandi che si collegano ad esso
opencode run --attach http://localhost:4096 "Explain async/await in JavaScript"

Flag

FlagBreveDescrizione
--commandIl comando da eseguire; usa message per gli argomenti
--continue-cContinua l’ultima sessione
--session-sID sessione da continuare
--forkDuplica la sessione quando continui (usa con --continue o --session)
--shareCondividi la sessione
--model-mModello nel formato provider/model
--agentAgente da usare
--file-fFile da allegare al messaggio
--formatFormato: default (formattato) o json (eventi JSON grezzi)
--titleTitolo sessione (usa prompt troncato se non viene fornito un valore)
--attachAttach a un server opencode in esecuzione (es. http://localhost:4096)
--portPorta per il server locale (di default una porta casuale)

serve

Avvia un server OpenCode headless per accesso via API. Vedi le server docs per l’interfaccia HTTP completa.

Terminal window
opencode serve

Avvia un server HTTP che espone accesso API alle funzionalita’ di opencode senza la TUI. Imposta OPENCODE_SERVER_PASSWORD per abilitare HTTP basic auth (username di default opencode).

Flag

FlagDescrizione
--portPorta su cui mettersi in ascolto
--hostnameHostname su cui mettersi in ascolto
--mdnsAbilita discovery mDNS
--corsOrigin browser addizionali per consentire CORS

session

Gestisci le sessioni OpenCode.

Terminal window
opencode session [command]

list

Elenca tutte le sessioni OpenCode.

Terminal window
opencode session list
Flag
FlagBreveDescrizione
--max-count-nLimita alle N sessioni piu’ recenti
--formatFormato output: table o json (table)

stats

Mostra statistiche di utilizzo token e costo per le sessioni OpenCode.

Terminal window
opencode stats

Flag

FlagDescrizione
--daysMostra statistiche per gli ultimi N giorni (all time)
--toolsNumero di strumenti da mostrare (all)
--modelsMostra breakdown di utilizzo modelli (nascosto di default). Passa un numero per top N
--projectFiltra per progetto (tutti i progetti; stringa vuota: progetto corrente)

export

Esporta i dati di sessione come JSON.

Terminal window
opencode export [sessionID]

Se non fornisci un ID sessione, ti verra’ chiesto di selezionare tra le sessioni disponibili.


import

Importa i dati di sessione da un file JSON o da un URL di condivisione OpenCode.

Terminal window
opencode import <file>

Puoi importare da un file locale o da un URL di condivisione OpenCode.

Terminal window
opencode import session.json
opencode import https://opncd.ai/s/abc123

web

Avvia un server OpenCode headless con interfaccia web.

Terminal window
opencode web

Avvia un server HTTP e apre un browser per accedere a OpenCode tramite interfaccia web. Imposta OPENCODE_SERVER_PASSWORD per abilitare HTTP basic auth (username di default opencode).

Flag

FlagDescrizione
--portPorta su cui mettersi in ascolto
--hostnameHostname su cui mettersi in ascolto
--mdnsAbilita discovery mDNS
--corsOrigin browser addizionali per consentire CORS

acp

Avvia un server ACP (Agent Client Protocol).

Terminal window
opencode acp

Questo comando avvia un server ACP che comunica via stdin/stdout usando nd-JSON.

Flag

FlagDescrizione
--cwdDirectory di lavoro
--portPorta su cui mettersi in ascolto
--hostnameHostname su cui mettersi in ascolto

uninstall

Disinstalla OpenCode e rimuove tutti i file correlati.

Terminal window
opencode uninstall

Flag

FlagBreveDescrizione
--keep-config-cMantieni i file di configurazione
--keep-data-dMantieni dati di sessione e snapshot
--dry-runMostra cosa verrebbe rimosso senza rimuovere
--force-fSalta le richieste di conferma

upgrade

Aggiorna opencode all’ultima versione o a una versione specifica.

Terminal window
opencode upgrade [target]

Per aggiornare all’ultima versione:

Terminal window
opencode upgrade

Per aggiornare a una versione specifica:

Terminal window
opencode upgrade v0.1.48

Flag

FlagBreveDescrizione
--method-mMetodo di installazione usato: curl, npm, pnpm, bun, brew

Flag globali

La CLI di opencode accetta i seguenti flag globali.

FlagBreveDescrizione
--help-hMostra l’help
--version-vStampa il numero di versione
--print-logsStampa i log su stderr
--log-levelLivello log (DEBUG, INFO, WARN, ERROR)

Variabili d’ambiente

OpenCode puo’ essere configurato tramite variabili d’ambiente.

VariabileTipoDescrizione
OPENCODE_AUTO_SHAREbooleanCondivide automaticamente le sessioni
OPENCODE_GIT_BASH_PATHstringPercorso all’eseguibile Git Bash su Windows
OPENCODE_CONFIGstringPercorso al file di configurazione
OPENCODE_CONFIG_DIRstringPercorso alla directory di configurazione
OPENCODE_CONFIG_CONTENTstringContenuto JSON di config inline
OPENCODE_DISABLE_AUTOUPDATEbooleanDisabilita i controlli automatici di aggiornamento
OPENCODE_DISABLE_PRUNEbooleanDisabilita la potatura dei dati vecchi
OPENCODE_DISABLE_TERMINAL_TITLEbooleanDisabilita aggiornamenti automatici del titolo terminale
OPENCODE_PERMISSIONstringConfig permessi JSON inline
OPENCODE_DISABLE_DEFAULT_PLUGINSbooleanDisabilita i plugin di default
OPENCODE_DISABLE_LSP_DOWNLOADbooleanDisabilita download automatico dei server LSP
OPENCODE_ENABLE_EXPERIMENTAL_MODELSbooleanAbilita modelli sperimentali
OPENCODE_DISABLE_AUTOCOMPACTbooleanDisabilita compaction automatica del contesto
OPENCODE_DISABLE_CLAUDE_CODEbooleanDisabilita lettura da .claude (prompt + skill)
OPENCODE_DISABLE_CLAUDE_CODE_PROMPTbooleanDisabilita lettura di ~/.claude/CLAUDE.md
OPENCODE_DISABLE_CLAUDE_CODE_SKILLSbooleanDisabilita caricamento di .claude/skills
OPENCODE_DISABLE_MODELS_FETCHbooleanDisabilita fetch dei modelli da fonti remote
OPENCODE_FAKE_VCSstringProvider VCS finto per scopi di test
OPENCODE_DISABLE_FILETIME_CHECKbooleanDisabilita controllo file time per ottimizzazione
OPENCODE_CLIENTstringIdentificatore client (default cli)
OPENCODE_ENABLE_EXAbooleanAbilita gli strumenti di web search Exa
OPENCODE_SERVER_PASSWORDstringAbilita basic auth per serve/web
OPENCODE_SERVER_USERNAMEstringSovrascrive lo username basic auth (default opencode)
OPENCODE_MODELS_URLstringURL personalizzato per recuperare la configurazione modelli

Sperimentale

Queste variabili d’ambiente abilitano funzionalita’ sperimentali che potrebbero cambiare o essere rimosse.

VariabileTipoDescrizione
OPENCODE_EXPERIMENTALbooleanAbilita tutte le funzionalita’ sperimentali
OPENCODE_EXPERIMENTAL_ICON_DISCOVERYbooleanAbilita icon discovery
OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECTbooleanDisabilita copy on select nella TUI
OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MSnumberTimeout di default per comandi bash in ms
OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAXnumberMassimo token di output per risposte LLM
OPENCODE_EXPERIMENTAL_FILEWATCHERbooleanAbilita file watcher per l’intera dir
OPENCODE_EXPERIMENTAL_OXFMTbooleanAbilita formatter oxfmt
OPENCODE_EXPERIMENTAL_LSP_TOOLbooleanAbilita strumento LSP sperimentale
OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHERbooleanDisabilita file watcher
OPENCODE_EXPERIMENTAL_EXAbooleanAbilita funzionalita’ Exa sperimentali
OPENCODE_EXPERIMENTAL_LSP_TYbooleanAbilita type checking LSP sperimentale
OPENCODE_EXPERIMENTAL_MARKDOWNbooleanAbilita markdown sperimentale
OPENCODE_EXPERIMENTAL_PLAN_MODEbooleanAbilita plan mode