CLI
Opzioni e comandi della CLI di OpenCode.
La CLI di OpenCode, per impostazione predefinita, avvia la TUI quando viene eseguita senza argomenti.
opencodeMa accetta anche i comandi documentati in questa pagina. Questo ti permette di interagire con OpenCode in modo programmatico.
opencode run "Explain how closures work in JavaScript"tui
Avvia l’interfaccia testuale di OpenCode (interfaccia utente da terminale).
opencode [project]Flag
| Flag | Breve | Descrizione |
|---|---|---|
--continue | -c | Continua l’ultima sessione |
--session | -s | ID sessione da continuare |
--fork | Duplica la sessione quando continui (usa con --continue o --session) | |
--prompt | Prompt da usare | |
--model | -m | Modello nel formato provider/model |
--agent | Agente da usare | |
--port | Porta su cui mettersi in ascolto | |
--hostname | Hostname su cui mettersi in ascolto |
Comandi
La CLI di OpenCode include anche i seguenti comandi.
agent
Gestisci gli agenti per OpenCode.
opencode agent [command]attach
Collega un terminale a un backend server di OpenCode gia’ in esecuzione avviato tramite i comandi serve o web.
opencode attach [url]Questo consente di usare la TUI con un backend OpenCode remoto. Per esempio:
# Start the backend server for web/mobile accessopencode web --port 4096 --hostname 0.0.0.0
# In un altro terminale, collega la TUI al backend in esecuzioneopencode attach http://10.20.30.40:4096Flag
| Flag | Breve | Descrizione |
|---|---|---|
--dir | Working directory in cui avviare la TUI | |
--session | -s | ID sessione da continuare |
create
Crea un nuovo agente con configurazione personalizzata.
opencode agent createQuesto comando ti guida nella creazione di un nuovo agente con un system prompt personalizzato e configurazione degli strumenti.
list
Elenca tutti gli agenti disponibili.
opencode agent listauth
Comando per gestire le credenziali e il login dei provider.
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.
opencode auth loginQuando 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.
opencode auth listOppure la versione corta.
opencode auth lslogout
Esegue il logout da un provider rimuovendolo dal file delle credenziali.
opencode auth logoutgithub
Gestisci l’agente GitHub per l’automazione dei repository.
opencode github [command]install
Installa l’agente GitHub nel tuo repository.
opencode github installQuesto 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.
opencode github runFlag
| Flag | Descrizione |
|---|---|
--event | Evento GitHub mock per cui eseguire l’agente |
--token | GitHub personal access token |
mcp
Gestisci i server Model Context Protocol.
opencode mcp [command]add
Aggiungi un server MCP alla tua configurazione.
opencode mcp addQuesto 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.
opencode mcp listOppure la versione corta.
opencode mcp lsauth
Autentica con un server MCP con OAuth abilitato.
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.
opencode mcp auth listOppure la versione corta.
opencode mcp auth lslogout
Rimuovi le credenziali OAuth per un server MCP.
opencode mcp logout [name]debug
Esegui debug di problemi di connessione OAuth per un server MCP.
opencode mcp debug <name>models
Elenca tutti i modelli disponibili dai provider configurati.
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.
opencode models anthropicFlag
| Flag | Descrizione |
|---|---|
--refresh | Aggiorna la cache modelli da models.dev |
--verbose | Output 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.
opencode models --refreshrun
Esegui opencode in modalita’ non interattiva passando un prompt direttamente.
opencode run [message..]E’ utile per scripting, automazione o quando vuoi una risposta rapida senza avviare la TUI completa. Per esempio.
opencode run Explain the use of context in GoPuoi anche collegarti a una istanza opencode serve gia’ in esecuzione per evitare i cold boot dei server MCP ad ogni esecuzione:
# Avvia un server headless in un terminaleopencode serve
# In un altro terminale, esegui comandi che si collegano ad essoopencode run --attach http://localhost:4096 "Explain async/await in JavaScript"Flag
| Flag | Breve | Descrizione |
|---|---|---|
--command | Il comando da eseguire; usa message per gli argomenti | |
--continue | -c | Continua l’ultima sessione |
--session | -s | ID sessione da continuare |
--fork | Duplica la sessione quando continui (usa con --continue o --session) | |
--share | Condividi la sessione | |
--model | -m | Modello nel formato provider/model |
--agent | Agente da usare | |
--file | -f | File da allegare al messaggio |
--format | Formato: default (formattato) o json (eventi JSON grezzi) | |
--title | Titolo sessione (usa prompt troncato se non viene fornito un valore) | |
--attach | Attach a un server opencode in esecuzione (es. http://localhost:4096) | |
--port | Porta 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.
opencode serveAvvia 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
| Flag | Descrizione |
|---|---|
--port | Porta su cui mettersi in ascolto |
--hostname | Hostname su cui mettersi in ascolto |
--mdns | Abilita discovery mDNS |
--cors | Origin browser addizionali per consentire CORS |
session
Gestisci le sessioni OpenCode.
opencode session [command]list
Elenca tutte le sessioni OpenCode.
opencode session listFlag
| Flag | Breve | Descrizione |
|---|---|---|
--max-count | -n | Limita alle N sessioni piu’ recenti |
--format | Formato output: table o json (table) |
stats
Mostra statistiche di utilizzo token e costo per le sessioni OpenCode.
opencode statsFlag
| Flag | Descrizione |
|---|---|
--days | Mostra statistiche per gli ultimi N giorni (all time) |
--tools | Numero di strumenti da mostrare (all) |
--models | Mostra breakdown di utilizzo modelli (nascosto di default). Passa un numero per top N |
--project | Filtra per progetto (tutti i progetti; stringa vuota: progetto corrente) |
export
Esporta i dati di sessione come JSON.
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.
opencode import <file>Puoi importare da un file locale o da un URL di condivisione OpenCode.
opencode import session.jsonopencode import https://opncd.ai/s/abc123web
Avvia un server OpenCode headless con interfaccia web.
opencode webAvvia 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
| Flag | Descrizione |
|---|---|
--port | Porta su cui mettersi in ascolto |
--hostname | Hostname su cui mettersi in ascolto |
--mdns | Abilita discovery mDNS |
--cors | Origin browser addizionali per consentire CORS |
acp
Avvia un server ACP (Agent Client Protocol).
opencode acpQuesto comando avvia un server ACP che comunica via stdin/stdout usando nd-JSON.
Flag
| Flag | Descrizione |
|---|---|
--cwd | Directory di lavoro |
--port | Porta su cui mettersi in ascolto |
--hostname | Hostname su cui mettersi in ascolto |
uninstall
Disinstalla OpenCode e rimuove tutti i file correlati.
opencode uninstallFlag
| Flag | Breve | Descrizione |
|---|---|---|
--keep-config | -c | Mantieni i file di configurazione |
--keep-data | -d | Mantieni dati di sessione e snapshot |
--dry-run | Mostra cosa verrebbe rimosso senza rimuovere | |
--force | -f | Salta le richieste di conferma |
upgrade
Aggiorna opencode all’ultima versione o a una versione specifica.
opencode upgrade [target]Per aggiornare all’ultima versione:
opencode upgradePer aggiornare a una versione specifica:
opencode upgrade v0.1.48Flag
| Flag | Breve | Descrizione |
|---|---|---|
--method | -m | Metodo di installazione usato: curl, npm, pnpm, bun, brew |
Flag globali
La CLI di opencode accetta i seguenti flag globali.
| Flag | Breve | Descrizione |
|---|---|---|
--help | -h | Mostra l’help |
--version | -v | Stampa il numero di versione |
--print-logs | Stampa i log su stderr | |
--log-level | Livello log (DEBUG, INFO, WARN, ERROR) |
Variabili d’ambiente
OpenCode puo’ essere configurato tramite variabili d’ambiente.
| Variabile | Tipo | Descrizione |
|---|---|---|
OPENCODE_AUTO_SHARE | boolean | Condivide automaticamente le sessioni |
OPENCODE_GIT_BASH_PATH | string | Percorso all’eseguibile Git Bash su Windows |
OPENCODE_CONFIG | string | Percorso al file di configurazione |
OPENCODE_CONFIG_DIR | string | Percorso alla directory di configurazione |
OPENCODE_CONFIG_CONTENT | string | Contenuto JSON di config inline |
OPENCODE_DISABLE_AUTOUPDATE | boolean | Disabilita i controlli automatici di aggiornamento |
OPENCODE_DISABLE_PRUNE | boolean | Disabilita la potatura dei dati vecchi |
OPENCODE_DISABLE_TERMINAL_TITLE | boolean | Disabilita aggiornamenti automatici del titolo terminale |
OPENCODE_PERMISSION | string | Config permessi JSON inline |
OPENCODE_DISABLE_DEFAULT_PLUGINS | boolean | Disabilita i plugin di default |
OPENCODE_DISABLE_LSP_DOWNLOAD | boolean | Disabilita download automatico dei server LSP |
OPENCODE_ENABLE_EXPERIMENTAL_MODELS | boolean | Abilita modelli sperimentali |
OPENCODE_DISABLE_AUTOCOMPACT | boolean | Disabilita compaction automatica del contesto |
OPENCODE_DISABLE_CLAUDE_CODE | boolean | Disabilita lettura da .claude (prompt + skill) |
OPENCODE_DISABLE_CLAUDE_CODE_PROMPT | boolean | Disabilita lettura di ~/.claude/CLAUDE.md |
OPENCODE_DISABLE_CLAUDE_CODE_SKILLS | boolean | Disabilita caricamento di .claude/skills |
OPENCODE_DISABLE_MODELS_FETCH | boolean | Disabilita fetch dei modelli da fonti remote |
OPENCODE_FAKE_VCS | string | Provider VCS finto per scopi di test |
OPENCODE_DISABLE_FILETIME_CHECK | boolean | Disabilita controllo file time per ottimizzazione |
OPENCODE_CLIENT | string | Identificatore client (default cli) |
OPENCODE_ENABLE_EXA | boolean | Abilita gli strumenti di web search Exa |
OPENCODE_SERVER_PASSWORD | string | Abilita basic auth per serve/web |
OPENCODE_SERVER_USERNAME | string | Sovrascrive lo username basic auth (default opencode) |
OPENCODE_MODELS_URL | string | URL personalizzato per recuperare la configurazione modelli |
Sperimentale
Queste variabili d’ambiente abilitano funzionalita’ sperimentali che potrebbero cambiare o essere rimosse.
| Variabile | Tipo | Descrizione |
|---|---|---|
OPENCODE_EXPERIMENTAL | boolean | Abilita tutte le funzionalita’ sperimentali |
OPENCODE_EXPERIMENTAL_ICON_DISCOVERY | boolean | Abilita icon discovery |
OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT | boolean | Disabilita copy on select nella TUI |
OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS | number | Timeout di default per comandi bash in ms |
OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX | number | Massimo token di output per risposte LLM |
OPENCODE_EXPERIMENTAL_FILEWATCHER | boolean | Abilita file watcher per l’intera dir |
OPENCODE_EXPERIMENTAL_OXFMT | boolean | Abilita formatter oxfmt |
OPENCODE_EXPERIMENTAL_LSP_TOOL | boolean | Abilita strumento LSP sperimentale |
OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER | boolean | Disabilita file watcher |
OPENCODE_EXPERIMENTAL_EXA | boolean | Abilita funzionalita’ Exa sperimentali |
OPENCODE_EXPERIMENTAL_LSP_TY | boolean | Abilita type checking LSP sperimentale |
OPENCODE_EXPERIMENTAL_MARKDOWN | boolean | Abilita markdown sperimentale |
OPENCODE_EXPERIMENTAL_PLAN_MODE | boolean | Abilita plan mode |