CLI
OpenCode CLI Optionen und Befehle.
Standardmäßig startet das OpenCode CLI die TUI, wenn es ohne Argumente ausgeführt wird.
opencodeEs akzeptiert aber auch Befehle, wie auf dieser Seite dokumentiert. Dies ermöglicht die programmatische Interaktion mit OpenCode.
opencode run "Explain how closures work in JavaScript"tui
Startet die OpenCode Terminal-Benutzeroberfläche.
opencode [project]Flags
| Flag | Kurz | Beschreibung |
|---|---|---|
--continue | -c | Letzte Sitzung fortsetzen |
--session | -s | Sitzungs-ID zum Fortsetzen |
--prompt | Zu verwendender Prompt | |
--model | -m | Zu verwendendes Modell im Format provider/model |
--agent | Zu verwendender Agent | |
--port | Port zum Lauschen | |
--hostname | Hostname zum Lauschen |
Befehle
Das OpenCode CLI hat auch die folgenden Befehle.
agent
Verwaltet Agents für OpenCode.
opencode agent [command]attach
Verbindet ein Terminal mit einem bereits laufenden OpenCode-Backend-Server, der über serve oder web Befehle gestartet wurde.
opencode attach [url]Dies ermöglicht die Verwendung der TUI mit einem Remote-OpenCode-Backend. Zum Beispiel:
# 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 | Kurz | Beschreibung |
|---|---|---|
--dir | Arbeitsverzeichnis zum Starten der TUI | |
--session | -s | Sitzungs-ID zum Fortsetzen |
create
Erstellt einen neuen Agent mit benutzerdefinierter Konfiguration.
opencode agent createDieser Befehl führt Sie durch die Erstellung eines neuen Agents mit benutzerdefiniertem System-Prompt und Tool-Konfiguration.
list
Listet alle verfügbaren Agents auf.
opencode agent listauth
Befehl zur Verwaltung von Anmeldedaten und Login für Provider.
opencode auth [command]login
OpenCode wird von der Provider-Liste bei Models.dev (opens in a new tab) unterstützt, sodass Sie opencode auth login verwenden können, um API-Schlüssel für jeden gewünschten Provider zu konfigurieren. Dies wird in ~/.local/share/opencode/auth.json gespeichert.
opencode auth loginBeim Start lädt OpenCode die Provider aus der Anmeldedatei. Auch Schlüssel, die in Ihren Umgebungsvariablen oder einer .env-Datei in Ihrem Projekt definiert sind, werden geladen.
list
Listet alle authentifizierten Provider auf, wie sie in der Anmeldedatei gespeichert sind.
opencode auth listOder die Kurzversion.
opencode auth lslogout
Meldet Sie von einem Provider ab, indem er aus der Anmeldedatei entfernt wird.
opencode auth logoutgithub
Verwaltet den GitHub-Agent für Repository-Automatisierung.
opencode github [command]install
Installiert den GitHub-Agent in Ihrem Repository.
opencode github installDies richtet den erforderlichen GitHub Actions Workflow ein und führt Sie durch den Konfigurationsprozess. Mehr erfahren.
run
Führt den GitHub-Agent aus. Dies wird typischerweise in GitHub Actions verwendet.
opencode github runFlags
| Flag | Beschreibung |
|---|---|
--event | GitHub-Mock-Event für den Agent |
--token | GitHub Personal Access Token |
mcp
Verwaltet Model Context Protocol Server.
opencode mcp [command]add
Fügt einen MCP-Server zu Ihrer Konfiguration hinzu.
opencode mcp addDieser Befehl führt Sie durch das Hinzufügen eines lokalen oder Remote-MCP-Servers.
list
Listet alle konfigurierten MCP-Server und ihren Verbindungsstatus auf.
opencode mcp listOder verwenden Sie die Kurzversion.
opencode mcp lsauth
Authentifiziert sich bei einem OAuth-fähigen MCP-Server.
opencode mcp auth [name]Wenn Sie keinen Servernamen angeben, werden Sie aufgefordert, aus verfügbaren OAuth-fähigen Servern auszuwählen.
Sie können auch OAuth-fähige Server und ihren Authentifizierungsstatus auflisten.
opencode mcp auth listOder verwenden Sie die Kurzversion.
opencode mcp auth lslogout
Entfernt OAuth-Anmeldedaten für einen MCP-Server.
opencode mcp logout [name]debug
Debuggt OAuth-Verbindungsprobleme für einen MCP-Server.
opencode mcp debug <name>models
Listet alle verfügbaren Modelle von konfigurierten Providern auf.
opencode models [provider]Dieser Befehl zeigt alle verfügbaren Modelle Ihrer konfigurierten Provider im Format provider/model an.
Dies ist nützlich, um den genauen Modellnamen für Ihre Konfiguration herauszufinden.
Sie können optional eine Provider-ID übergeben, um nach diesem Provider zu filtern.
opencode models anthropicFlags
| Flag | Beschreibung |
|---|---|
--refresh | Modell-Cache von models.dev aktualisieren |
--verbose | Ausführlichere Modellausgabe verwenden (enthält Metadaten wie Kosten) |
Verwenden Sie das --refresh-Flag, um die gecachte Modellliste zu aktualisieren. Dies ist nützlich, wenn neue Modelle zu einem Provider hinzugefügt wurden und Sie sie in OpenCode sehen möchten.
opencode models --refreshrun
Führt OpenCode im nicht-interaktiven Modus aus, indem ein Prompt direkt übergeben wird.
opencode run [message..]Dies ist nützlich für Skripting, Automatisierung oder wenn Sie eine schnelle Antwort ohne Start der vollständigen TUI möchten. Zum Beispiel:
opencode run "Explain the use of context in Go"Sie können sich auch mit einer laufenden opencode serve-Instanz verbinden, um MCP-Server-Kaltstartzeiten bei jedem Lauf zu vermeiden:
# 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 | Kurz | Beschreibung |
|---|---|---|
--command | Auszuführender Befehl, message als Argumente verwenden | |
--continue | -c | Letzte Sitzung fortsetzen |
--session | -s | Sitzungs-ID zum Fortsetzen |
--share | Sitzung teilen | |
--model | -m | Zu verwendendes Modell im Format provider/model |
--agent | Zu verwendender Agent | |
--file | -f | Datei(en) an Nachricht anhängen |
--format | Format: default (formatiert) oder json (rohe JSON-Events) | |
--title | Titel für die Sitzung (verwendet gekürzten Prompt wenn kein Wert angegeben) | |
--attach | Mit laufendem opencode-Server verbinden (z.B. http://localhost:4096 (opens in a new tab)) | |
--port | Port für den lokalen Server (Standard: zufälliger Port) |
serve
Startet einen Headless-OpenCode-Server für API-Zugriff. Siehe die Server-Dokumentation für die vollständige HTTP-Schnittstelle.
opencode serveDies startet einen HTTP-Server, der API-Zugriff auf opencode-Funktionalität ohne TUI-Oberfläche bietet. Setzen Sie OPENCODE_SERVER_PASSWORD, um HTTP-Basic-Auth zu aktivieren (Benutzername ist standardmäßig opencode).
Flags
| Flag | Beschreibung |
|---|---|
--port | Port zum Lauschen |
--hostname | Hostname zum Lauschen |
--mdns | mDNS-Discovery aktivieren |
--cors | Zusätzliche Browser-Origin(s) für CORS erlauben |
session
Verwaltet OpenCode-Sitzungen.
opencode session [command]list
Listet alle OpenCode-Sitzungen auf.
opencode session listFlags
| Flag | Kurz | Beschreibung |
|---|---|---|
--max-count | -n | Auf N neueste Sitzungen begrenzen |
--format | Ausgabeformat: table oder json (Standard: table) |
stats
Zeigt Token-Nutzung und Kostenstatistiken für Ihre OpenCode-Sitzungen.
opencode statsFlags
| Flag | Beschreibung |
|---|---|
--days | Statistiken für die letzten N Tage anzeigen (Standard: alle Zeit) |
--tools | Anzahl der anzuzeigenden Tools (Standard: alle) |
--models | Modellnutzungs-Aufschlüsselung anzeigen (standardmäßig ausgeblendet). Zahl übergeben für Top N |
--project | Nach Projekt filtern (Standard: alle Projekte, leerer String: aktuelles Projekt) |
export
Exportiert Sitzungsdaten als JSON.
opencode export [sessionID]Wenn Sie keine Sitzungs-ID angeben, werden Sie aufgefordert, aus verfügbaren Sitzungen auszuwählen.
import
Importiert Sitzungsdaten aus einer JSON-Datei oder OpenCode-Share-URL.
opencode import <file>Sie können aus einer lokalen Datei oder einer OpenCode-Share-URL importieren.
opencode import session.json
opencode import https://opncd.ai/s/abc123web
Startet einen Headless-OpenCode-Server mit Web-Oberfläche.
opencode webDies startet einen HTTP-Server und öffnet einen Webbrowser, um über eine Web-Oberfläche auf OpenCode zuzugreifen. Setzen Sie OPENCODE_SERVER_PASSWORD, um HTTP-Basic-Auth zu aktivieren (Benutzername ist standardmäßig opencode).
Flags
| Flag | Beschreibung |
|---|---|
--port | Port zum Lauschen |
--hostname | Hostname zum Lauschen |
--mdns | mDNS-Discovery aktivieren |
--cors | Zusätzliche Browser-Origin(s) für CORS erlauben |
acp
Startet einen ACP (Agent Client Protocol) Server.
opencode acpDieser Befehl startet einen ACP-Server, der über stdin/stdout mit nd-JSON kommuniziert.
Flags
| Flag | Beschreibung |
|---|---|
--cwd | Arbeitsverzeichnis |
--port | Port zum Lauschen |
--hostname | Hostname zum Lauschen |
uninstall
Deinstalliert OpenCode und entfernt alle zugehörigen Dateien.
opencode uninstallFlags
| Flag | Kurz | Beschreibung |
|---|---|---|
--keep-config | -c | Konfigurationsdateien behalten |
--keep-data | -d | Sitzungsdaten und Snapshots behalten |
--dry-run | Zeigen was entfernt würde ohne zu entfernen | |
--force | -f | Bestätigungsaufforderungen überspringen |
upgrade
Aktualisiert opencode auf die neueste Version oder eine bestimmte Version.
opencode upgrade [target]Auf die neueste Version aktualisieren.
opencode upgradeAuf eine bestimmte Version aktualisieren.
opencode upgrade v0.1.48Flags
| Flag | Kurz | Beschreibung |
|---|---|---|
--method | -m | Die verwendete Installationsmethode: curl, npm, pnpm, bun, brew |
Globale Flags
Das opencode CLI akzeptiert die folgenden globalen Flags.
| Flag | Kurz | Beschreibung |
|---|---|---|
--help | -h | Hilfe anzeigen |
--version | -v | Versionsnummer ausgeben |
--print-logs | Logs nach stderr ausgeben | |
--log-level | Log-Level (DEBUG, INFO, WARN, ERROR) |
Umgebungsvariablen
OpenCode kann mit Umgebungsvariablen konfiguriert werden.
| Variable | Typ | Beschreibung |
|---|---|---|
OPENCODE_AUTO_SHARE | boolean | Sitzungen automatisch teilen |
OPENCODE_GIT_BASH_PATH | string | Pfad zur Git Bash-Executable unter Windows |
OPENCODE_CONFIG | string | Pfad zur Konfigurationsdatei |
OPENCODE_CONFIG_DIR | string | Pfad zum Konfigurationsverzeichnis |
OPENCODE_CONFIG_CONTENT | string | Inline-JSON-Konfigurationsinhalt |
OPENCODE_DISABLE_AUTOUPDATE | boolean | Automatische Update-Prüfungen deaktivieren |
OPENCODE_DISABLE_PRUNE | boolean | Bereinigung alter Daten deaktivieren |
OPENCODE_DISABLE_TERMINAL_TITLE | boolean | Automatische Terminal-Titel-Updates deaktivieren |
OPENCODE_PERMISSION | string | Inline-JSON-Berechtigungskonfiguration |
OPENCODE_DISABLE_DEFAULT_PLUGINS | boolean | Standard-Plugins deaktivieren |
OPENCODE_DISABLE_LSP_DOWNLOAD | boolean | Automatische LSP-Server-Downloads deaktivieren |
OPENCODE_ENABLE_EXPERIMENTAL_MODELS | boolean | Experimentelle Modelle aktivieren |
OPENCODE_DISABLE_AUTOCOMPACT | boolean | Automatische Kontext-Komprimierung deaktivieren |
OPENCODE_DISABLE_CLAUDE_CODE | boolean | Lesen von .claude (Prompt + Skills) deaktivieren |
OPENCODE_DISABLE_CLAUDE_CODE_PROMPT | boolean | Lesen von ~/.claude/CLAUDE.md deaktivieren |
OPENCODE_DISABLE_CLAUDE_CODE_SKILLS | boolean | Laden von .claude/skills deaktivieren |
OPENCODE_DISABLE_MODELS_FETCH | boolean | Abrufen von Modellen aus Remote-Quellen deaktivieren |
OPENCODE_FAKE_VCS | string | Fake-VCS-Provider für Testzwecke |
OPENCODE_DISABLE_FILETIME_CHECK | boolean | Dateizeitprüfung zur Optimierung deaktivieren |
OPENCODE_CLIENT | string | Client-Identifikator (Standard: cli) |
OPENCODE_ENABLE_EXA | boolean | Exa-Websuche-Tools aktivieren |
OPENCODE_SERVER_PASSWORD | string | Basic-Auth für serve/web aktivieren |
OPENCODE_SERVER_USERNAME | string | Basic-Auth-Benutzername überschreiben (Standard: opencode) |
OPENCODE_MODELS_URL | string | Benutzerdefinierte URL zum Abrufen der Modellkonfiguration |
Experimentell
Diese Umgebungsvariablen aktivieren experimentelle Funktionen, die sich ändern oder entfernt werden können.
| Variable | Typ | Beschreibung |
|---|---|---|
OPENCODE_EXPERIMENTAL | boolean | Alle experimentellen Funktionen aktivieren |
OPENCODE_EXPERIMENTAL_ICON_DISCOVERY | boolean | Icon-Discovery aktivieren |
OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT | boolean | Kopieren bei Auswahl in TUI deaktivieren |
OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS | number | Standard-Timeout für Bash-Befehle in ms |
OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX | number | Maximale Ausgabe-Tokens für LLM-Antworten |
OPENCODE_EXPERIMENTAL_FILEWATCHER | boolean | Datei-Watcher für gesamtes Verzeichnis aktivieren |
OPENCODE_EXPERIMENTAL_OXFMT | boolean | oxfmt-Formatter aktivieren |
OPENCODE_EXPERIMENTAL_LSP_TOOL | boolean | Experimentelles LSP-Tool aktivieren |
OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER | boolean | Datei-Watcher deaktivieren |
OPENCODE_EXPERIMENTAL_EXA | boolean | Experimentelle Exa-Funktionen aktivieren |
OPENCODE_EXPERIMENTAL_LSP_TY | boolean | Experimentelle LSP-Typprüfung aktivieren |
OPENCODE_EXPERIMENTAL_MARKDOWN | boolean | Experimentelle Markdown-Funktionen aktivieren |
OPENCODE_EXPERIMENTAL_PLAN_MODE | boolean | Plan-Modus aktivieren |