Kommandozeilenbefehle
| Befehl | Purpose |
|---|---|
copilot | Starten Sie die interaktive Benutzeroberfläche. |
copilot completion SHELL | Erstellen Sie ein Shellskript für die ausgewählte Shell, das zur Aktivierung der Tab-Vervollständigung für Copilot CLI verwendet werden kann. Unterstützte Shells: bash, zsh, fish. Siehe Verwendung von copilot completion. |
copilot help [TOPIC] | Hilfeinformationen anzeigen. Zu den Hilfethemen gehören: config, commands, environment, logging, monitoring, permissions, und providers. |
copilot init | Initialisieren Sie Copilot benutzerdefinierte Anweisungen für dieses Repository. |
copilot login | Authentifizierung über den OAuth-Gerätefluss mit Copilot. Akzeptiert --host HOST , um die GitHub Host-URL anzugeben (Standard: https://github.com). |
copilot login [OPTION] | Authentifizierung über den OAuth-Gerätefluss mit Copilot. Weitere Informationen finden Sie copilot login unter "Optionen". |
copilot mcp | Verwalten Sie MCP-Serverkonfigurationen über die Befehlszeile. |
copilot plugin | Verwalten Sie Plugins und Plug-In-Marketplaces. |
copilot update | Laden Sie die neueste Version herunter, und installieren Sie sie. |
copilot version | Zeigen Sie Versionsinformationen an, und suchen Sie nach Updates. |
`copilot login`-Optionen
| Auswahl | Purpose |
|---|---|
--host HOST |
GitHub Host-URL (Standard: `https://github.com`). Verwenden Sie diese Methode, um sich mit einer GitHub Enterprise Cloud Instanz zu authentifizieren, die die Datenresidenz verwendet (z. B. `https://example.ghe.com`). |
Der Standardauthentifizierungsmodus ist ein webbasierter Browserfluss. Nach Abschluss wird ein Authentifizierungstoken sicher im Systemanmeldeinformationsspeicher gespeichert. Wenn ein Anmeldeinformationsspeicher nicht gefunden wird, wird das Token in einer Nur-Text-Konfigurationsdatei unter ~/.copilot/ (oder dem Verzeichnis, das durch COPILOT_HOME angegeben wird, wenn festgelegt) gespeichert.
Alternativ wird ein Authentifizierungstoken verwendet, Copilot CLI das in Umgebungsvariablen zu finden ist. Die folgenden Punkte werden in der Reihenfolge der Rangfolge überprüft: COPILOT_GITHUB_TOKEN, GH_TOKEN, GITHUB_TOKEN. Diese Methode eignet sich am besten für kopflose Verwendung wie Automatisierung.
Unterstützte Tokentypen sind fine-grained personal access tokens (v2 PATs) mit der Berechtigung "Copilot Requests", OAuth-Token aus der Copilot CLI-App und OAuth-Token aus der GitHub CLI (gh) App. Klassische personal access tokens (ghp_) werden nicht unterstützt.
**Beispiele:**
# Authenticate with github.com
copilot login
# Authenticate with GitHub Enterprise Cloud (data residency)
copilot login --host https://example.ghe.com
# Use a fine-grained PAT via environment variable
COPILOT_GITHUB_TOKEN=github_pat_... copilot
Verwenden von copilot completion
Der Befehl copilot completion SHELL gibt ein Skript für die angegebene Shell aus (Bash, zsh oder Fisch).
Durch das Laden dieses Skripts (oder Speichern im Completion-Verzeichnis Ihrer Shell) können Sie die Tab-Vervollständigung in Ihrem Terminal für copilot Unterbefehle, Befehlsoptionen und bekannte Werte für Befehlsoptionen aktivieren.
Verwendungsbeispiele
Bash (nur aktuelle Sitzung):
source <(copilot completion bash)
source <(copilot completion bash)
Bash (persistent, Linux):
copilot completion bash | sudo tee /etc/bash_completion.d/copilot
copilot completion bash | sudo tee /etc/bash_completion.d/copilot
Zsh – Schreiben Sie die Ausgabe in ein Verzeichnis in Ihrem $fpath. Starten Sie die Shell neu, nachdem Sie diesen Befehl ausgeführt haben:
copilot completion zsh > "${fpath[1]}/_copilot"
copilot completion zsh > "${fpath[1]}/_copilot"
Fisch:
copilot completion fish > ~/.config/fish/completions/copilot.fish
copilot completion fish > ~/.config/fish/completions/copilot.fish
Globale Tastenkombinationen in der interaktiven Benutzeroberfläche
| Verknüpfung | Purpose |
|---|---|
@ FILENAME | Fügen Sie Dateiinhalte in den Kontext ein. |
# NUMBER | Schließen Sie ein Problem oder eine GitHub Pullanforderung in den Kontext ein. |
! COMMAND | Führen Sie einen Befehl in der lokalen Shell aus und umgehen Sie Copilot. |
? | Öffnen Sie schnelle Hilfe (auf einer leeren Eingabeaufforderung). |
| ESC | Abbrechen des aktuellen Vorgangs. |
| Strg+C | Vorgang abbrechen/Eingabe löschen. Drücken Sie zweimal, um zu beenden. |
| STRG+D | Herunterfahren. |
| STRG+G | Bearbeiten Sie die Eingabeaufforderung in einem externen Editor ($EDITOR). |
| STRG+L | Löschen Sie den Bildschirm. |
| Strg+Eingabe oder STRG+Q | Eine Nachricht in die Warteschlange stellen, die gesendet werden soll, während der Agent ausgelastet ist. |
| STRG+R | Umgekehrte Suche durch den Befehlsverlauf. |
| Strg+V | Fügen Sie aus der Zwischenablage als Datei ein. |
Strg+X dann / | Nachdem Sie mit der Eingabe einer Eingabeaufforderung begonnen haben, können Sie einen Schrägstrichbefehl ausführen, z. B. wenn Sie das Modell ändern möchten, ohne die Eingabeaufforderung erneut eingeben zu müssen. |
Strg+X dann e | Bearbeiten Sie die Eingabeaufforderung in einem externen Editor ($EDITOR). |
Strg+X dann o | Öffnen Sie den neuesten Link aus der Timeline. |
| Strg+Z | Prozess in den Hintergrund verschieben (Unix). |
| Shift+Enter oder Option+Enter (Mac) / Alt+Enter (Windows/Linux) | Fügen Sie eine neue Zeile in die Eingabe ein. |
| SHIFT+TAB | Wechseln zwischen Standard-, Plan- und Autopilot-Modus. |
Zeitleistenshortcuts in der interaktiven Benutzeroberfläche
| Verknüpfung | Purpose |
|---|---|
| Strg+O | In der Eingabeaufforderung steht zwar nichts, aber dies erweitert die letzten Einträge in der Zeitleiste von Copilot, um mehr Details anzuzeigen. |
| STRG+E | Während in der Eingabeaufforderung nichts steht, werden dadurch alle Elemente in der Antwortzeitleiste von Copilot erweitert. |
| Strg+T | Erweitern/Reduzieren der Anzeige der Begründung in Antworten. |
| Bild hoch/Bild ab | Scrollen Sie die Zeitachse um eine Seite nach oben oder unten. |
Tastenkürzel in der interaktiven Benutzeroberfläche
| Verknüpfung | Purpose |
|---|---|
| STRG+A | Wechseln zum Anfang der Zeile (beim Eingeben). |
| STRG+B | Wechseln zum vorherigen Zeichen |
| STRG+E | Wechseln zum Ende der Zeile (beim Eingeben). |
| STRG+F | Wechseln zum nächsten Zeichen |
| STRG+H | Löschen Sie das vorherige Zeichen. |
| Strg+K | Löscht vom Cursor bis zum Ende der Zeile. Wenn sich der Cursor am Ende der Zeile befindet, löschen Sie den Zeilenumbruch. |
| Strg+U | Löscht vom Cursor bis zum Anfang der Zeile. |
| STRG+W | Löschen Sie das vorherige Wort. |
| Home | Wechseln zum Anfang des Texts. |
| Ende | Wechseln zum Ende des Texts. |
| ALT+←/→ (Windows/Linux) |
<kbd>Option</kbd>+<kbd>←</kbd>/<kbd>→</kbd> (Mac) | Bewegen sie den Cursor um ein Wort. |
| ↑/↓ | Navigieren Sie im Befehlsverlauf. | | Tab / Strg+Y | Übernehmen Sie den aktuellen Vorschlag für die Inline-Vervollständigung. |
Slash-Befehle auf der interaktiven Benutzeroberfläche
| Befehl | Purpose |
|---|---|
/add-dir PATH | Fügen Sie der Liste der zulässigen Dateien ein Verzeichnis für den Dateizugriff hinzu. |
/agent | Durchsuchen und wählen Sie aus den verfügbaren Agents (falls vorhanden) aus. Siehe Informationen zu benutzerdefinierten Agents. |
/ask QUESTION | Stellen Sie eine schnelle Nebenfrage, ohne sie dem Gesprächsverlauf hinzuzufügen. Nur im experimentellen Modus verfügbar. |
/allow-all [on|off|show], /yolo [on|off|show] | Alle Berechtigungen aktivieren (Tools, Pfade und URLs). |
/changelog [summarize] [VERSION|last N|since VERSION], /release-notes [summarize] [VERSION|last N|since VERSION] | Anzeigen des CLI-Änderungsprotokolls. Geben Sie optional eine Version, eine Anzahl der zuletzt verwendeten Versionen oder eine Startversion an. Fügen Sie das Schlüsselwort summarize für eine KI-generierte Zusammenfassung hinzu. |
/chronicle <standup|tips|improve|reindex> | Tools für den Sitzungsverlauf und Einblicke. Nur im experimentellen Modus verfügbar. |
/clear [PROMPT], /new [PROMPT]``/reset [PROMPT] | Beginnen Sie eine neue Unterhaltung. |
/compact | Fassen Sie den Unterhaltungsverlauf zusammen, um die Nutzung von Kontextfenstern zu reduzieren. Siehe Verwalten des Kontexts in GitHub Copilot-CLI. |
/context | Anzeigen von Verwendung und Visualisierung der Kontextfenster-Tokens. Siehe Verwalten des Kontexts in GitHub Copilot-CLI. |
/copy | Kopieren Sie die letzte Antwort in die Zwischenablage. |
/cwd, /cd [PATH] | Ändern Sie das Arbeitsverzeichnis, oder zeigen Sie das aktuelle Verzeichnis an. |
/delegate [PROMPT] | Delegieren Sie Änderungen an einem Remote-Repository mit einer KI-generierten Pullanforderung. Siehe Delegieren von Aufgaben an Copilot. |
/diff | Überprüfen Sie die im aktuellen Verzeichnis vorgenommenen Änderungen. |
/downgrade <VERSION> | Laden Sie eine bestimmte CLI-Version herunter, und starten Sie sie neu. Verfügbar für Teamkonten. |
/env | Zeigen Sie geladene Umgebungsdetails an (Anweisungen, MCP-Server, Fähigkeiten, Agents, Plug-Ins, LSPs, Erweiterungen). |
/exit, /quit | Beenden Sie die CLI. |
/experimental [on|off|show] | Aktivieren, Festlegen oder Anzeigen experimenteller Features |
/feedback, /bug | Geben Sie Feedback zur CLI. |
/fleet [PROMPT] | Aktivieren Sie die parallele Subagentausführung von Teilen eines Vorgangs. Siehe Paralleles Ausführen von Aufgaben mit dem /fleet Befehl. |
/help | Zeigen Sie die Hilfe für interaktive Befehle an. |
/ide | Stellen Sie eine Verbindung mit einem IDE-Arbeitsbereich her. Siehe Verbinden von GitHub Copilot-CLI mit VS Code. |
/init | Initialisieren Sie Copilot benutzerdefinierte Anweisungen und agentenbasierte Funktionen für dieses Repository. Siehe Projektinitialisierung für Copilot. |
/instructions | Anzeigen und Umschalten von benutzerdefinierten Anweisungsdateien. |
/keep-alive [on|busy|NUMBERm|NUMBERh] | Verhindern Sie, dass der Computer in den Ruhezustand wechselt: Während eine CLI-Sitzung aktiv ist, während der Agent ausgelastet ist oder für eine definierte Zeitdauer. Nur im experimentellen Modus verfügbar. |
/list-dirs | Zeigen Sie alle Verzeichnisse an, für die der Dateizugriff zulässig ist. |
/login | Melden Sie sich auf Copilot an. |
/logout | Melden Sie sich von Copilot ab. |
/lsp [show|test|reload|help] [SERVER-NAME] | Verwalten Sie die Sprachserverkonfiguration. |
/mcp [show|add|edit|delete|disable|enable|auth|reload] [SERVER-NAME] | Verwalten Sie die MCP-Serverkonfiguration. Siehe Hinzufügen von MCP-Servern für GitHub Copilot-CLI. |
/model, /models [MODEL] | Wählen Sie das KI-Modell aus, das Sie verwenden möchten. |
/plan [PROMPT] | Erstellen Sie vor dem Codieren einen Implementierungsplan. |
/plugin [marketplace|install|uninstall|update|list] [ARGS...] | Verwalten Sie Plugins und Plug-In-Marketplaces. Siehe Informationen zu Plug-Ins für GitHub Copilot-CLI. |
/pr [view|create|fix|auto] | Verwalten von Pull Requests für den aktuellen Branch. Siehe Verwalten von Pullanforderungen mit dem Befehl "/pr". |
/remote [on|off] | Status der Fernsteuerung anzeigen (falls kein Argument angegeben), Fernsteuerung aktivieren (on) oder Remoteverbindung beenden (off). Siehe Steuern einer GitHub Copilot-CLI Sitzung von einem anderen Gerät. |
/rename [NAME] | Benennen Sie die aktuelle Sitzung um (generiert automatisch einen Namen, wenn nicht angegeben; Alias für /session rename). |
/research TOPIC | Führen Sie eine umfassende Recherche mithilfe von GitHub Such- und Webquellen durch. Siehe Recherchieren mit GitHub Copilot-CLI. |
/reset-allowed-tools | Setzen Sie die Liste der zulässigen Tools zurück. |
/restart | Starten Sie die CLI neu, wobei die aktuelle Sitzung erhalten bleibt. |
/resume [SESSION-ID], /continue [SESSION-ID] | Wechseln Sie zu einer anderen Sitzung, indem Sie eine Liste auswählen (optional eine Sitzungs-ID angeben). |
/review [PROMPT] | Führen Sie den Codeüberprüfungs-Agent aus, um Änderungen zu analysieren. Siehe Anfordern einer Codeüberprüfung mit GitHub Copilot-CLI. |
/session [info|checkpoints [n]|files|plan|rename [NAME]|cleanup|prune|delete [ID]|delete-all], /sessions [info|checkpoints [n]|files|plan|rename [NAME]|cleanup|prune|delete [ID]|delete-all] | Anzeigen von Sitzungsinformationen und Verwalten von Sitzungen Unterbefehle: info, , checkpoints, files, plan``rename, cleanup, prune, . delete``delete-all |
/share [file|html|gist] [session|research] [PATH], /export [file|html|gist] [session|research] [PATH] | Teilen Sie die Sitzung mit einer Markdown-Datei, einer interaktiven HTML-Datei oder einem Gist. |
/skills [list|info|add|remove|reload] [ARGS...] | Verwalten Sie Fähigkeiten für erweiterte Funktionen. Siehe Hinzufügen von Agent-Fähigkeiten für GitHub Copilot-CLI. |
/statusline, /footer | Konfigurieren Sie, welche Elemente in der Statuszeile angezeigt werden. |
/tasks | Anzeigen und Verwalten von Hintergrundaufgaben (Subagenten und Shellsitzungen). |
/terminal-setup | Konfigurieren Sie das Terminal für die Unterstützung von Mehrzeileneingaben (Umschalt+Eingabe und Strg+Eingabe). |
/theme [default|dim|high-contrast|colorblind] | Anzeigen oder Festlegen des Farbmodus. |
/undo, /rewind | Gehen Sie einen Schritt zurück und machen Sie die Dateiänderungen rückgängig. |
/update, /upgrade | Aktualisieren Sie die CLI auf die neueste Version. |
/usage | Anzeigen von Sitzungsnutzungsmetriken und Statistiken. |
/user [show|list|switch] | Verwalten sie den aktuellen GitHub Benutzer. |
/version | Zeigen Sie Versionsinformationen an, und suchen Sie nach Updates. |
Eine vollständige Liste der verfügbaren Slash-Befehle erhalten Sie durch Eingeben von /help auf der interaktiven Benutzeroberfläche der CLI.
Befehlszeilenoptionen
| Auswahl | Purpose |
|---|---|
--add-dir=PATH | Fügen Sie der Liste für den Dateizugriff ein Verzeichnis hinzu (kann mehrmals verwendet werden). |
--add-github-mcp-tool=TOOL | Fügen Sie ein Tool hinzu, um den GitHub MCP-Server anstelle der standardmäßigen CLI-Teilmenge zu aktivieren (kann mehrmals verwendet werden). Verwenden Sie * für alle Tools. |
--add-github-mcp-toolset=TOOLSET | Fügen Sie ein Toolset hinzu, um den GitHub MCP-Server anstelle der standardmäßigen CLI-Teilmenge zu aktivieren (kann mehrmals verwendet werden). Verwenden Sie all für alle Toolsets. |
--additional-mcp-config=JSON | Fügen Sie nur einen MCP-Server für diese Sitzung hinzu. Die Serverkonfiguration kann als JSON-Zeichenfolge oder als Dateipfad (Präfix mit @) bereitgestellt werden. Erweitert die Konfiguration von ~/.copilot/mcp-config.json. Überschreibt jede installierte MCP-Serverkonfiguration mit demselben Namen. Siehe Hinzufügen von MCP-Servern für GitHub Copilot-CLI. |
--agent=AGENT | Geben Sie eine Benutzerdefinierter Agent an, die verwendet werden soll. Siehe Informationen zu benutzerdefinierten Agents. |
--allow-all | Alle Berechtigungen aktivieren (entspricht --allow-all-tools --allow-all-paths --allow-all-urls). |
--allow-all-paths | Deaktivieren Sie die Überprüfung des Dateipfads, und erlauben Sie den Zugriff auf einen beliebigen Pfad. |
--allow-all-tools | Zulassen, dass alle Tools automatisch ohne Bestätigung ausgeführt werden. Erforderlich bei programmgesteuerter Verwendung der CLI (env: COPILOT_ALLOW_ALL). |
--allow-all-urls | Zugriff auf alle URLs ohne Bestätigung zulassen. |
--allow-tool=TOOL ... | Tools, die von der CLI verwendet werden dürfen. Fordert keine Erlaubnis an. Verwenden Sie für mehrere Tools eine in Anführungszeichen gesetzte, durch Kommas getrennte Liste. Siehe Zulassen und Verweigern der Verwendung von Tools. |
--allow-url=URL ... | Zugriff auf bestimmte URLs oder Domänen zulassen. Verwenden Sie für mehrere URLs eine in Anführungszeichen gesetzte, durch Kommas getrennte Liste. |
--autopilot | Aktivieren Sie die fortlaufende Autopilot-Ausführung im Prompt-Modus. Siehe Zulassen, dass GitHub Copilot CLI autonom arbeiten kann. |
--available-tools=TOOL ... | Nur diese Tools sind für das Modell verfügbar. Verwenden Sie für mehrere Tools eine in Anführungszeichen gesetzte, durch Kommas getrennte Liste. Siehe Zulassen und Verweigern der Verwendung von Tools. |
--banner, --no-banner | Ein- oder Ausblenden des Startbanners. |
--bash-env | Aktiviert BASH_ENV- Unterstützung für Bash-Shells. |
--connect[=SESSION-ID] | Stellen Sie eine direkte Verbindung mit einer Remotesitzung her (optional geben Sie eine Sitzungs-ID oder Aufgaben-ID an). Konflikte mit --resume und --continue. |
--continue | Setzen Sie die letzte Sitzung im aktuellen Arbeitsverzeichnis fort oder nutzen Sie gegebenenfalls die global zuletzt verwendete Sitzung. |
--deny-tool=TOOL ... | Tools, die von der CLI nicht verwendet werden dürfen. Fordert keine Erlaubnis an. Verwenden Sie für mehrere Tools eine in Anführungszeichen gesetzte, durch Kommas getrennte Liste. |
--deny-url=URL ... | Der Zugriff auf bestimmte URLs oder Domänen wird verweigert; hat Vorrang vor --allow-url. Verwenden Sie für mehrere URLs eine in Anführungszeichen gesetzte, durch Kommas getrennte Liste. |
--disable-builtin-mcps | Deaktivieren Sie alle integrierten MCP-Server (derzeit: github-mcp-server). |
--disable-mcp-server=SERVER-NAME | Deaktivieren Sie einen bestimmten MCP-Server (kann mehrmals verwendet werden). |
--disallow-temp-dir | Verhindern des automatischen Zugriffs auf das temporäre Systemverzeichnis. |
--effort=LEVEL, --reasoning-effort=LEVEL | Legen Sie die Aufwandsstufe für die Begründung (low, medium, high) fest. |
--enable-all-github-mcp-tools | Aktivieren Sie alle GitHub MCP-Server-Tools anstelle der standardmäßigen CLI-Teilmenge. Überschreibt die Optionen --add-github-mcp-toolset und --add-github-mcp-tool. |
--enable-reasoning-summaries | Fordern Sie Begründungszusammenfassungen für OpenAI-Modelle an, die sie unterstützen. |
--excluded-tools=TOOL ... | Diese Tools sind für das Modell nicht verfügbar. Verwenden Sie für mehrere Tools eine in Anführungszeichen gesetzte, durch Kommas getrennte Liste. |
--experimental | Aktivieren Sie experimentelle Features (verwenden Sie --no-experimental, um zu deaktivieren). |
-h, --help | Hilfe anzeigen. |
-i PROMPT, --interactive=PROMPT | Starten Sie eine interaktive Sitzung, und führen Sie diese Eingabeaufforderung automatisch aus. |
--log-dir=DIRECTORY | Legen Sie das Protokolldateiverzeichnis fest (Standard: ~/.copilot/logs/). |
--log-level=LEVEL | Legen Sie die Protokollebene fest (Auswahlmöglichkeiten: none, error, warning, , info, debug, , all). default |
--max-autopilot-continues=COUNT | Maximale Anzahl von Fortsetzungsmeldungen im Autopilot-Modus (Standard: unbegrenzt). Siehe Zulassen, dass GitHub Copilot CLI autonom arbeiten kann. |
--mode=MODE | Legen Sie den anfänglichen Agentmodus fest (Auswahlmöglichkeiten: interactive, plan, autopilot). Kann nicht mit --autopilot oder --plan kombiniert werden. |
--model=MODEL | Legen Sie das KI-Modell fest, das Sie verwenden möchten. Übergeben Sie auto an Copilot, um das beste verfügbare Modell automatisch auszuwählen. |
--mouse[=VALUE] | Aktivieren Sie die Mausunterstützung im alternativen Bildschirmmodus. WERT kann on (Standard) oder off. Wenn diese Option aktiviert ist, erfasst die CLI Mausereignisse im Alternativbildschirmmodus, wie Scrollrad, Klicks usw. Wenn sie deaktiviert ist, wird das systemeigene Mausverhalten des Terminals beibehalten. Nachdem sie festgelegt wurde, wird die Einstellung beibehalten, indem sie in Die Konfigurationsdatei geschrieben wird. |
-n NAME, --name=NAME | Legen Sie einen Namen für die neue Sitzung fest. Wird von --resume und /resume verwendet, um Sitzungen anhand des Namens zu finden. |
--no-ask-user | Deaktivieren Sie das ask_user Tool (der Agent funktioniert autonom, ohne Fragen zu stellen). |
--no-auto-update | Automatisches Herunterladen von CLI-Updates deaktivieren. |
--no-bash-env | Deaktivieren Sie BASH_ENV die Unterstützung für Bash-Shells. |
--no-color | Alle Farbausgabe deaktivieren. |
--no-custom-instructions | Deaktivieren Sie das Laden von benutzerdefinierten Anweisungen aus AGENTS.md sowie verwandten Dateien. |
--no-experimental | Deaktivieren Sie experimentelle Features. |
--no-mouse | Deaktivieren Sie die Mausunterstützung. |
--no-remote | Remotezugriff für diese Sitzung deaktivieren. |
--output-format=FORMAT | FORMAT kann text (Standard) oder json (Ausgabe JSONL: ein JSON-Objekt pro Zeile) sein. |
-p PROMPT, --prompt=PROMPT | Führen Sie ein Prompt programmgesteuert aus (endet nach Abschluss). Siehe Programmatisches Ausführen GitHub Copilot-CLI. |
--plan | Starten Sie im Planmodus. Kurzform für --mode plan. Kann nicht mit --mode oder --autopilot kombiniert werden. |
--plain-diff | Deaktivieren Sie das erweiterte Diff-Rendering (Syntaxhervorhebung über das in Ihrer Git-Konfiguration angegebene Diff-Tool). |
--plugin-dir=DIRECTORY | Laden Sie ein Plug-In aus einem lokalen Verzeichnis (kann mehrmals verwendet werden). |
--remote | Aktivieren Sie den Fernzugriff auf diese Sitzung von GitHub.com und GitHub Mobile aus. Siehe Steuern einer GitHub Copilot-CLI Sitzung von einem anderen Gerät. |
--resume[=VALUE] | Setzen Sie eine vorherige interaktive Sitzung fort, indem Sie eine Liste auswählen. Geben Sie optional eine Sitzungs-ID, ein ID-Präfix oder einen Sitzungsnamen an. Der Namensabgleich ist exakt und unabhängig von Groß- und Kleinschreibung; es wird auf die automatisch generierte Zusammenfassung zurückgegriffen, wenn keine expliziten Namensübereinstimmungen vorliegen. |
-s, --silent | Gibt nur die Agent-Antwort aus (ohne Nutzungsstatistiken). Dies ist nützlich für die Skripterstellung mit -p. |
--screen-reader | Aktivieren Sie Bildschirmleser-Optimierungen. |
--secret-env-vars=VAR ... | Entfernen Sie eine Umgebungsvariable aus der Shell- und MCP-Server-Umgebung (kann mehrfach verwendet werden). Verwenden Sie für mehrere Variablen eine angeführte, kommagetrennte Liste. Die Werte in den GITHUB_TOKEN- und COPILOT_GITHUB_TOKEN-Umgebungsvariablen werden standardmäßig aus der Ausgabe entfernt. |
--share=PATH | Teilen einer Sitzung als Markdown-Datei nach Abschluss einer programmgesteuerten Sitzung (Standardpfad: ./copilot-session-<ID>.md). |
--share-gist | Teilen Sie eine Sitzung nach Abschluss einer programmatischen Sitzung mit einem geheimen GitHub Gist. |
--stream=MODE | Aktivieren oder Deaktivieren des Streamingmodus (Modusoptionen: on oder off). |
-v, --version | Versionsinformationen anzeigen. |
--yolo | Alle Berechtigungen aktivieren (entspricht --allow-all). |
Um eine vollständige Liste der Befehle und Optionen zu erhalten, führen Sie copilot help aus.
Hinweis
Die Optionen --remote, --no-remote und --connect erfordern, dass die Remotesitzungsfunktion auf Ihrem Konto verfügbar ist.
Verfügbarkeitswerte für Tools
Die Optionen --available-tools und --excluded-tools unterstützen diese Werte:
Shell-Tools
| Name des Tools | Beschreibung |
|---|---|
bash / powershell | Befehle ausführen |
list_bash / list_powershell | Auflisten aktiver Shellsitzungen |
read_bash / read_powershell | Ausgabe aus einer Shellsitzung lesen |
stop_bash / stop_powershell | Beenden einer Shellsitzung |
write_bash / write_powershell | Senden von Eingaben an eine Shellsitzung |
Dateivorgangstools
| Name des Tools | Beschreibung |
|---|---|
apply_patch | Anwenden von Patches (verwendet von einigen Modellen anstelle von edit/create) |
create | Erstellen neuer Dateien |
edit | Bearbeiten von Dateien über Zeichenfolgenersetzung |
view | Lesen von Dateien oder Verzeichnissen |
Agenten- und Aufgaben-Delegierungstools
| Name des Tools | Beschreibung |
|---|---|
list_agents | Auflisten der verfügbaren Agents |
read_agent | Überprüfen des Status des Hintergrund-Agents |
task | Ausführen von Subagenten |
Weitere Tools
| Name des Tools | Beschreibung |
|---|---|
ask_user | Stellen Sie dem Benutzer eine Frage |
glob | Suchen nach Übereinstimmenden Mustern für Dateien |
grep (oder rg) | Suchen nach Text in Dateien |
show_file | Präsentieren Sie Codeausschnitte inline in der Zeitachse. Nur im experimentellen Modus verfügbar. |
skill | Aufrufen von benutzerdefinierten Fähigkeiten |
web_fetch | Abrufen und Analysieren von Webinhalten |
Toolberechtigungsmuster
Die --allow-tool Und --deny-tool Optionen akzeptieren Berechtigungsmuster im Format Kind(argument). Das Argument ist optional. Wenn es ausgelassen wird, werden alle Tools dieser Art erfasst.
| Kind | Beschreibung | Beispielmuster |
|---|---|---|
memory | Speichern von Fakten im Agentspeicher | memory |
read | Datei- oder Verzeichnislesevorgänge |
`read`, `read(.env)` |
| shell | Shellbefehlsausführung |
shell(git push), shell(git:*)``shell |
| url | URL-Zugriff über Web-Fetch oder Shell |
url(github.com), url(https://*.api.com) |
| write | Dateierstellung oder -änderung |
write, write(src/*.ts) |
| SERVER-NAME | MCP-Server-Toolaufruf |
MyMCP(create_issue), MyMCP |
Bei shell Regeln entspricht das :* Suffix dem Befehlsstamm gefolgt von einem Leerzeichen und verhindert partielle Übereinstimmungen. Zum Beispiel shell(git:*) entspricht git push und git pull, entspricht aber nicht gitea.
Ablehnungsregeln haben immer Vorrang vor Erlaubnisregeln, auch wenn --allow-all festgelegt ist.
# Allow all git commands except git push
copilot --allow-tool='shell(git:*)' --deny-tool='shell(git push)'
# Allow a specific MCP server tool
copilot --allow-tool='MyMCP(create_issue)'
# Allow all tools from a server
copilot --allow-tool='MyMCP'
Umgebungsvariablen
| Variable | Beschreibung |
|---|---|
COLORFGBG | Fallback zur Erkennung von dunklen/hellen Terminal-Hintergründen. |
COPILOT_ALLOW_ALL | Festlegen auf true, um alle Berechtigungen automatisch zu erlauben (entspricht --allow-all). |
COPILOT_AUTO_UPDATE | Stellen Sie false ein, um automatische Updates zu deaktivieren. |
COPILOT_CACHE_HOME | Überschreiben Sie das Cacheverzeichnis (verwendet für Marketplace-Caches, Automatischaktualisierungspakete und andere kurzlebige Daten). Siehe GitHub Copilot CLI-Konfigurationsverzeichnis für Plattformstandardwerte. |
COPILOT_CUSTOM_INSTRUCTIONS_DIRS | Durch Trennzeichen getrennte Liste zusätzlicher Verzeichnisse für benutzerdefinierte Anweisungen. |
COPILOT_EDITOR | Editor-Befehl für die interaktive Bearbeitung (nach $VISUAL und $EDITOR überprüft). Wenn keine festgelegt sind, wird vi standardmäßig verwendet. |
COPILOT_GH_HOST |
GitHub Hostname nur für Copilot CLI, wobei `GH_HOST` überschrieben wird. Verwenden Sie diese Option, wenn `GH_HOST` auf GitHub Enterprise Server zielt, aber Copilot sich gegen GitHub.com oder einem GitHub Enterprise Cloud Hostnamen authentifizieren muss. |
| COPILOT_GITHUB_TOKEN | Authentifizierungs-Token. Hat Vorrang vor GH_TOKEN und GITHUB_TOKEN. |
| COPILOT_HOME | Überschreiben Sie das Konfigurations- und Statusverzeichnis. Standardwert: $HOME/.copilot. |
| COPILOT_MODEL | Legen Sie das KI-Modell fest. |
| COPILOT_PROMPT_FRAME | Stellen Sie auf 1, um den dekorativen UI-Rahmen um die Eingabeaufforderung einzuschalten, oder auf 0, um ihn auszuschalten. Überschreibt das experimentelle Funktionskennzeichen PROMPT_FRAME für die aktuelle Sitzung. |
| COPILOT_SKILLS_DIRS | Durch Trennzeichen getrennte Liste zusätzlicher Verzeichnisse für Fähigkeiten. |
| COPILOT_SUBAGENT_MAX_CONCURRENT | Maximale Anzahl gleichzeitiger Subagenten im gesamten Sitzungsbaum. Standardwert: 32. Bereich: 1–256. |
| COPILOT_SUBAGENT_MAX_DEPTH | Maximale Schachtelungstiefe für Subagenten. Standardwert: 6. Bereich: 1–256. |
| GH_HOST |
GitHub Hostname für beide GitHub CLI und Copilot CLI (Standard: github.com). Legen Sie Ihren GitHub Enterprise Cloud Hostnamen für Datenresidenz fest. Überschreiben nur für COPILOT_GH_HOSTCopilot CLI. |
| GH_TOKEN | Authentifizierungs-Token. Hat Vorrang vor GITHUB_TOKEN. |
| GITHUB_TOKEN | Authentifizierungs-Token. |
| PLAIN_DIFF | Legt dies auf true fest, um Rich-Diff-Rendern zu deaktivieren. |
| USE_BUILTIN_RIPGREP | Legt dies auf false fest, um den System-ripgrep anstelle der gebündelten Version zu verwenden. |
Konfigurationsdateieinstellungen
Ausführliche Informationen zu Konfigurationsdateieinstellungen , einschließlich der vollständigen Liste der Benutzereinstellungen, Repositoryeinstellungen, lokalen Einstellungen und ihrer Weitergabe, finden Sie unter GitHub Copilot CLI-Konfigurationsverzeichnis.
Hinweis
Benutzereinstellungen wurden zuvor in ~/.copilot/config.json gespeichert. Vorhandene benutzerbearbeitbare Einstellungen dort werden automatisch beim Hochfahren zu ~/.copilot/settings.json migriert.
Projektinitialisierung für Copilot
Wenn Sie den Befehl copilot init oder den Schrägstrichbefehl /init in einer interaktiven Sitzung verwenden, analysiert Copilot Ihre Codebasis und schreibt oder aktualisiert eine .github/copilot-instructions.md Datei im Repository. Diese datei mit benutzerdefinierten Anweisungen enthält projektspezifische Anleitungen, die zukünftige CLI-Sitzungen verbessern.
In der Regel verwenden copilot initSie beim Starten eines neuen Projekts oder /initwenn Sie mit der Verwendung Copilot CLI in einem vorhandenen Repository beginnen.
Die copilot-instructions.md Datei, die erstellt oder aktualisiert wird, dokumentiert normalerweise:
- Erstellungs-, Test- und Lintenbefehle.
- Architektur auf hoher Ebene
- Codebasisspezifische Konventionen.
Wenn die Datei bereits vorhanden ist, werden Verbesserungen vorgeschlagen, Copilot die Sie auswählen können, um sie anzuwenden oder abzulehnen.
Die CLI sucht beim Start nach der copilot-instructions.md Datei, und wenn sie fehlt, wird die Meldung angezeigt:
💡 Es wurden keine Copilot-Anweisungen gefunden. Führen Sie "/init" aus, um eine copilot-instructions.md Datei für dieses Projekt zu generieren.
Wenn Sie diese Datei nicht erstellen möchten, können Sie diese Startmeldung für das aktuelle Repository dauerhaft ausblenden, indem Sie den /init suppress Schrägstrichbefehl verwenden.
Weitere Informationen findest du unter Hinzufügen von benutzerdefinierten Repositoryanweisungen für GitHub Copilot.
Hooks-Referenz
Ausführliche Informationen zu Hooks – einschließlich Hookkonfigurationsformaten, Hookereignissen, Eingabenutzlasten und Entscheidungskontrolle – finden Sie unter GitHub Copilot CLI-Hooks-Referenz.
MCP-Serverkonfiguration
MCP-Server stellen zusätzliche Tools für den CLI-Agent bereit. Konfigurieren von beständigen Servern in ~/.copilot/mcp-config.json. Verwenden Sie --additional-mcp-config, um Server für eine einzelne Sitzung hinzuzufügen.
`copilot mcp` Unterbefehl
Verwenden Sie copilot mcp, um MCP-Serverkonfigurationen über die Befehlszeile zu verwalten, ohne eine interaktive Sitzung zu starten.
| Subcommand | Beschreibung |
|---|---|
list [--json] | Alle konfigurierten MCP-Server nach Quelle gruppiert auflisten. |
get <name> [--json] | Konfiguration und Tools für einen bestimmten Server anzeigen. |
add <name> | Fügen Sie der Benutzerkonfiguration einen Server hinzu. Schreibt in ~/.copilot/mcp-config.json. |
remove <name> | Entfernen Sie einen Server auf Benutzerebene. Arbeitsbereich-Server müssen direkt in ihren Konfigurationsdateien bearbeitet werden. |
**
`copilot mcp add` Optionen:**
| Auswahl | Beschreibung |
|---|---|
-- <command> [args...] | Befehle und Argumente für lokale Server (Stdio). |
--url <url> | URL für Remoteserver. |
--type <type> | Transporttyp: local, stdio, , httpoder sse. |
--env KEY=VALUE | Umgebungsvariable (wiederholbar). |
--header KEY=VALUE | HTTP-Header für Remoteserver (wiederholbar). |
--tools <tools> | Toolfilter: "*" für alle, eine durch Kommas getrennte Liste oder "" für keine. |
--timeout <ms> | Der Timeout in Millisekunden. |
--json | Füge die Konfiguration als JSON aus. |
--show-secrets | Vollständige Umgebungsvariablen und Headerwerte anzeigen. |
Achtung
`--show-secrets` kann vertrauliche Umgebungsvariablen und Header-Werte an Ihr Terminal oder in Ihre Protokolle ausgeben. Verwenden Sie diese Option nur in vertrauenswürdigen Umgebungen, und vermeiden Sie das Kopieren, Einfügen oder anderweitige Erfassen der Ausgabe in freigegebenen Protokollen oder Verlauf.
Transporttypen
| Typ | Beschreibung | Pflichtfelder |
|---|---|---|
local / stdio | Lokaler Prozess kommuniziert über stdin/stdout. |
`command`, `args` |
| http | Remoteserver mit streambarem HTTP-Transport. | url |
| sse | Remoteserver mit Server-Sent-Ereignistransport. | url |
Lokale Serverkonfigurationsfelder
| Feld | Erforderlich | Beschreibung |
|---|---|---|
command | Ja | Befehl zum Starten des Servers. |
args | Ja | Befehlsargumente (Array). |
tools | Ja | Zu aktivierende Tools: ["*"] für alle oder eine Liste bestimmter Toolnamen. |
env | No | Umgebungsvariablen. Unterstützt $VAR, ${VAR} und ${VAR:-default} Erweiterungen. |
cwd | No | Arbeitsverzeichnis für den Server. |
timeout | No | Timeout beim Aufruf des Tools in Millisekunden. |
type | No |
`"local"` oder `"stdio"`. Standardwert: `"local"`. |
Remote-Server-Konfigurationsfelder
| Feld | Erforderlich | Beschreibung |
|---|---|---|
type | Ja |
`"http"` oder `"sse"`. |
| url | Ja | Server-Adresse. |
| tools | Ja | Tools zur Aktivierung. |
| headers | No | HTTP-Header. Unterstützt variable Erweiterung. |
| oauthClientId | No | Statische OAuth-Client-ID (überspringt dynamische Registrierung). |
| oauthPublicClient | No | Gibt an, ob der OAuth-Client öffentlich ist. Standardwert: true. |
| oidc | No | Aktivieren Sie die OIDC-Tokeneinfügung. Wenn true, fügt eine GITHUB_COPILOT_OIDC_MCP_TOKEN Umgebungsvariable (lokale Server) oder einen Bearer``Authorization Header (ferne Server) ein. |
| timeout | No | Timeout beim Aufruf des Tools in Millisekunden. |
Erneute Authentifizierung von OAuth
Remote-MCP-Server, die OAuth verwenden, können einen needs-auth Status anzeigen, wenn ein Token abläuft oder ein anderes Konto erforderlich ist. Verwenden Sie /mcp auth <server-name>, um einen neuen OAuth-Fluss auszulösen. Dadurch wird eine Browserauthentifizierungsaufforderung geöffnet, sodass Sie sich anmelden oder Konten wechseln können. Nach Abschluss des Flusses wird die Verbindung automatisch vom Server erneut hergestellt.
Filterzuordnung
Steuern Sie, wie die MCP-Toolausgabe mithilfe des Felds in der filterMapping Konfiguration eines Servers verarbeitet wird.
| Modus | Beschreibung |
|---|---|
none | Keine Filterung. |
markdown | Formatieren Sie die Ausgabe als Markdown. |
hidden_characters | Entfernt verborgene oder Steuerzeichen. Standard. |
Integrierte MCP-Server
Die CLI enthält integrierte MCP-Server, die ohne zusätzliche Einrichtung verfügbar sind.
| Server | Beschreibung |
|---|---|
github-mcp-server |
GitHub API-Integration: Probleme, Pullanforderungen, Commits, Codesuche und GitHub Actions. |
| playwright | Browserautomatisierung: Navigieren, Klicken, Eingeben, Screenshot und Formularverarbeitung. |
| fetch | HTTP-Anforderungen über das fetch Tool. |
| time | Zeithilfsprogramme: get_current_time und convert_time. |
Verwenden Sie --disable-builtin-mcps, um alle integrierten Server zu deaktivieren, oder --disable-mcp-server SERVER-NAME, um einen bestimmten zu deaktivieren.
MCP-Serverbenennung
Servernamen können beliebige druckbare Zeichen enthalten, einschließlich Leerzeichen, Unicode-Zeichen und Interpunktion. Steuerzeichen (U+0000–U+001F, U+007F) und die schließende geschweifte Klammer (}) sind nicht zulässig. Servernamen werden als Präfixe für Toolnamen verwendet, z. B. erzeugt ein Server namens my-server Toolnamen wie my-server-fetch, und ein Server mit dem Namen My Server erzeugt My Server-fetch.
MCP-Serververtrauensstufen
MCP-Server werden aus mehreren Quellen geladen, jeweils mit einer anderen Vertrauensstufe.
| Quelle | Vertrauensebene | Überprüfung erforderlich |
|---|---|---|
| Integriert | Hoch | No |
Repository (.github/mcp.json) | Mittelstufe | Empfohlen |
Arbeitsbereich (.mcp.json) | Mittelstufe | Empfohlen |
Benutzerkonfiguration (~/.copilot/mcp-config.json) | User-defined | Benutzerverantwortung |
| Remoteserver | Niedrig | Immer |
Alle MCP-Toolaufrufe erfordern explizite Berechtigungen. Dies gilt auch für schreibgeschützte Vorgänge bei externen Diensten.
Enterprise MCP-Zulassungsliste
GitHub Enterprise Organisationen können eine Zulassungsliste zulässiger MCP-Server erzwingen. Wenn sie aktiv ist, wertet die CLI jeden nicht standardmäßigen Server anhand der Unternehmensrichtlinie aus, bevor eine Verbindung hergestellt wird.
Wenn eine GitHub Enterprise Registrierungsrichtlinie erkannt wird (oder das MCP_ENTERPRISE_ALLOWLIST experimentelle Feature-Flag aktiviert ist), wird die CLI:
- Berechnet einen Fingerabdruck für jeden konfigurierten nicht standardmäßigen Server basierend auf seinen Befehlen, Argumenten und Remote-URL.
- Sendet die Fingerabdrücke an den Evaluierungs-Endpunkt der Freigabeliste des Unternehmens.
- Lässt nur Server zu, deren Fingerabdrücke genehmigt werden; alle anderen Personen werden mit einer Nachricht blockiert, die das Unternehmen benennt.
Diese Überprüfung ist fehlgeschlagen: Wenn der auswertende Endpunkt nicht erreichbar ist oder einen Fehler zurückgibt, werden nicht standardmäßige Server blockiert, bis die Richtlinie überprüft werden kann.
Wenn ein Server von einer Unternehmens-Zulassungsliste blockiert wird, zeigt die CLI Folgendes an:
MCP server "SERVER-NAME" was blocked by your enterprise "ENTERPRISE-NAME".
Contact your enterprise administrator to add this server to the allowlist.
Integrierte Standardserver sind immer von der Durchsetzung der Erlaubnisliste ausgenommen.
Migrieren von .vscode/mcp.json
Wenn Ihr Projekt das MCP-Konfigurationsformat von VS Code verwendet .vscode/mcp.json, migrieren Sie zu .mcp.json für GitHub Copilot-CLI. Die Migration ordnet den servers Schlüssel neu zu mcpServers.
**POSIX-Shells (bash, zsh, fish und andere):**
jq '{mcpServers: .servers}' .vscode/mcp.json > .mcp.json
Erfordert jq.
**PowerShell**:
pwsh -NoProfile -Command "`$json = Get-Content '.vscode/mcp.json' -Raw | ConvertFrom-Json; `$content = ([pscustomobject]@{ mcpServers = `$json.servers } | ConvertTo-Json -Depth 100); [System.IO.File]::WriteAllText('.mcp.json', `$content, (New-Object System.Text.UTF8Encoding `$false))"
Ersetzen Sie auf Windows pwsh durch powershell, wenn Sie Windows PowerShell anstelle von PowerShell Core verwenden.
Referenz zu Skills
Fähigkeiten sind Markdown-Dateien, die erweitern, was die CLI tun kann. Jede Fähigkeit lebt in einem eigenen Verzeichnis, das eine SKILL.md Datei enthält. Beim Aufrufen (über /SKILL-NAME oder automatisch durch den Agenten) wird der Inhalt der Fähigkeit in die Unterhaltung eingefügt.
Frontmatterfelder der Fähigkeit
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
name | Schnur | Ja | Eindeutiger Bezeichner für die Fähigkeit. Nur Buchstaben, Zahlen und Bindestriche. Max. 64 Zeichen. |
description | Schnur | Ja | Was die Fähigkeit tut und wann sie zu verwenden. Max. 1024 Zeichen. |
allowed-tools | Zeichenfolge oder Zeichenfolge[] | No | Eine durch Kommas getrennte Liste oder ein YAML-Array von Tools, die automatisch erlaubt sind, wenn die Funktion aktiv ist. Verwenden Sie "*" für alle Tools. |
user-invocable | boolean | No | Ob Benutzer den Skill /SKILL-NAMEaufrufen können. Standardwert: true. |
disable-model-invocation | boolean | No | Verhindern Sie, dass der Agent diese Fähigkeit automatisch aufruft. Standardwert: false. |
Qualifikationsstandorte
Fähigkeiten werden in der Reihenfolge der Priorität aus diesen Speicherorten geladen (bei duplizierten Namen wird der zuerst gefundene verwendet).
| Ort | Geltungsbereich | Beschreibung |
|---|---|---|
.github/skills/ | Projekt | Projekt-spezifische Fähigkeiten. |
.agents/skills/ | Projekt | Alternative Projektstandort. |
.claude/skills/ | Projekt | Claude-kompatibler Standort. |
Elternteil .github/skills/ | Geerbt | Unterstützung für das übergeordnete Monorepo-Verzeichnis. |
~/.copilot/skills/ | Personal | Persönliche Fähigkeiten für alle Projekte. |
~/.agents/skills/ | Personal | Agentenkompetenzen, die für alle Projekte gemeinsam genutzt werden. |
| Plug-In-Verzeichnisse | Plug-In | Fähigkeiten von installierten Plug-Ins. |
COPILOT_SKILLS_DIRS | Kundenspezifisch | Zusätzliche Verzeichnisse (durch Trennzeichen getrennt). |
| (gebündelt mit CLI) | Integriert | Fähigkeiten, die mit der CLI ausgeliefert wurden. Niedrigste Priorität - kann von jeder anderen Quelle überschrieben werden. |
Befehle (alternatives Qualifikationsformat)
Befehle sind eine Alternative zu "Skills", die in einzelnen .md Dateien in .claude/commands/ gespeichert werden. Der Befehlsname wird vom Dateinamen abgeleitet. Befehlsdateien verwenden ein vereinfachtes Format (kein name Feld erforderlich) und unterstützen description, allowed-toolsund disable-model-invocation. Befehle haben eine niedrigere Priorität als Fähigkeiten mit demselben Namen.
Referenz für benutzerdefinierte Agents
Kundenspezifische Agenten sind spezialisierte KI-Agenten, die in Markdown-Dateien definiert sind. Der Dateiname (ohne Erweiterung) wird zur Agent-ID. Verwenden .agent.md Oder .md als Dateierweiterung.
Integrierte Agenten
| Agent | Standardmodell | Beschreibung |
|---|---|---|
code-review | claude-sonnet-4.5 | Codeüberprüfung für hohes Signal-Rausch-Verhältnis. Analysiert Diffs für Fehler, Sicherheitsprobleme und Logikfehler. |
configure-copilot | variiert | Integrierter Unter-Agent für die Verwaltung der Copilot CLI Konfiguration über natürliche Sprache – Hinzufügen von MCP-Servern, Installieren von Agents und Verwalten von Fähigkeiten. Nur im experimentellen Modus verfügbar. |
explore | claude-haiku-4.5 | Schnelle Code-Basissuche. Durchsucht Dateien, liest Code und beantwortet Fragen. Gibt fokussierte Antworten unter 300 Wörtern zurück. Kann sicher parallel ausgeführt werden. |
general-purpose | claude-sonnet-4.5 | Vollfunktions-Agent für komplexe Aufgaben mit mehreren Schritten. Wird in einem separaten Kontextfenster ausgeführt. |
research | claude-sonnet-4.6 | Forschungsagent für tiefe Analysen. Generiert einen Bericht basierend auf Informationen in Ihrer Codebasis, in relevanten Repositorys und im Web. |
rubber-duck | Ergänzendes Modell | Verwenden Sie ein ergänzendes Modell, um eine konstruktive Kritik an Vorschlägen, Entwürfen, Implementierungen oder Tests bereitzustellen. Identifiziert Schwachstellen und schlägt Verbesserungen vor. Bei Verwendung von Claude verwendet es ein GPT-Modell; bei Verwendung von GPT verwendet es Claude Opus 4.7. Nimmt niemals direkte Codeänderungen vor. Nur im experimentellen Modus verfügbar. |
task | claude-haiku-4.5 | Befehlsausführung (Tests, Builds, Lints). Gibt eine kurze Zusammenfassung bei Erfolg, eine vollständige Ausgabe bei Fehlern zurück. |
Benutzerdefinierte Agent-Vordergrundinformationsfelder
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
description | Schnur | Ja | Beschreibung, die in der Agentenliste und im task Tool angezeigt wird. |
infer | boolean | No | Automatische Delegierung durch den Hauptagenten zulassen. Standardwert: true. |
mcp-servers | Objekt | No | MCP-Server zum Verbinden. Verwendet dasselbe Schema wie ~/.copilot/mcp-config.json. |
model | Schnur | No | KI-Modell für diesen Agent. Wenn dies nicht festgelegt ist, wird das Modell des äußeren Agents geerbt. Wenn das Sitzungsmodell auf Auto (servergewählt) festgelegt ist, erben Subagenten unabhängig von diesem Feld immer das aufgelöste Sitzungsmodell. |
name | Schnur | No | Anzeigename. Standardmäßig wird der Dateiname verwendet. |
tools | string[] | No | Tools, die für den Agent verfügbar sind. Standard: ["*"] (alle Tools). |
Benutzerdefinierte Agent-Standorte
| Geltungsbereich | Ort |
|---|---|
| Projekt |
`.github/agents/` oder `.claude/agents/` |
| Benutzer | ~/.copilot/agents/ |
| Plug-In | <plugin>/agents/ |
Projektagenten haben Vorrang vor Benutzeragenten. Plug-In-Agents haben die niedrigste Priorität.
Subagent-Grenzwerte
Die CLI erzwingt Tiefen- und Gleichzeitigkeitsbegrenzungen, um zu verhindern, dass Agenten aus dem Ruder laufen.
| Begrenzung | Vorgabe | Umgebungsvariable |
|---|---|---|
| Max. Tiefe | 6 | COPILOT_SUBAGENT_MAX_DEPTH |
| Maximal zulässige Anzahl | 32 | COPILOT_SUBAGENT_MAX_CONCURRENT |
**Die Tiefe** zählt, wie viele Agents ineinander geschachtelt sind. Wenn die Tiefenbeschränkung erreicht ist, kann der innerste Agent keine weiteren Subagenten erzeugen.
**Parallelität** zählt, wie viele Unteragenten im gesamten Sitzungsbaum gleichzeitig laufen. Wenn der Grenzwert erreicht ist, werden neue Anfragen von Subagenten abgelehnt, bis ein aktiver Agent fertig ist. Werte werden zwischen `1` und `256` eingeschränkt.
Berechtigungsgenehmigungsantworten
Wenn die CLI zur Berechtigung zum Ausführen eines Vorgangs auffordert, können Sie mit den folgenden Schlüsseln antworten.
| Schlüssel | Auswirkung |
|---|---|
y | Diese bestimmte Anforderung einmal zulassen. |
n | Verweigern Sie diese spezifische Anforderung einmal. |
! | Alle ähnlichen Anfragen für die restliche Sitzung zulassen. |
# | Verweigern Sie alle ähnlichen Anforderungen für den Rest der Sitzung. |
? | Detaillierte Informationen zur Anforderung anzeigen. |
Sitzungsgenehmigungen werden zurückgesetzt, wenn Sie /clear ausführen oder eine neue Sitzung starten.
OpenTelemetry-Überwachung
Copilot CLI kann Ablaufverfolgungen und Metriken über [OpenTelemetry](https://opentelemetry.io/) (OTel) exportieren, sodass Sie Einblicke in Agentinteraktionen, LLM-Aufrufe, Toolausführungen und Tokenverwendung erhalten. Alle Signalnamen und Attribute folgen den [OTel GenAI-Semantikkonventionen](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/gen-ai/).
OTel ist standardmäßig deaktiviert und hat keinen Mehraufwand. Sie wird aktiviert, wenn eine der folgenden Bedingungen erfüllt ist:
COPILOT_OTEL_ENABLED=trueOTEL_EXPORTER_OTLP_ENDPOINTist festgelegt.COPILOT_OTEL_FILE_EXPORTER_PATHist festgelegt.
OTel-Umgebungsvariablen
| Variable | Vorgabe | Beschreibung |
|---|---|---|
COPILOT_OTEL_ENABLED | false | OTel explizit aktivieren. Ist nicht erforderlich, wenn OTEL_EXPORTER_OTLP_ENDPOINT festgelegt ist. |
OTEL_EXPORTER_OTLP_ENDPOINT | — | OTLP-Endpunkt-URL. Wenn Sie diese Einstellung automatisch festlegen, wird OTel aktiviert. |
COPILOT_OTEL_EXPORTER_TYPE | otlp-http | Exportertyp: otlp-http oder file. Wählt file automatisch aus, wenn COPILOT_OTEL_FILE_EXPORTER_PATH festgelegt ist. |
OTEL_SERVICE_NAME | github-copilot | Dienstname in Ressourcenattributen. |
OTEL_RESOURCE_ATTRIBUTES | — | Zusätzliche Ressourcenattribute als durch Trennzeichen getrennte key=value Paare. Verwenden Sie die Prozentcodierung für Sonderzeichen. |
OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT | false | Erfassen Sie vollständige Prompt- und Antwortinhalte. Siehe Inhaltserfassung. |
OTEL_LOG_LEVEL | — | OTel-Diagnoseprotokollstufe: NONE, , ERROR``WARN, INFO, DEBUG, . VERBOSE``ALL |
COPILOT_OTEL_FILE_EXPORTER_PATH | — | Schreiben Sie alle Signale in diese Datei als JSON-Zeilen. Wenn Sie diese Einstellung automatisch festlegen, wird OTel aktiviert. |
COPILOT_OTEL_SOURCE_NAME | github.copilot | Name des Instrumentierungsbereichs für Tracer und Meter. |
OTEL_EXPORTER_OTLP_HEADERS | — | Authentifizierungsheader für den OTLP-Exporter (z. B. Authorization=Bearer token). |
Ablaufverfolgungen
Die Laufzeit gibt für jede Agenteninteraktion einen hierarchischen Spannenbaum aus. Jede Struktur enthält ein invoke_agent Root-Spanelement, mit chat und execute_tool untergeordneten Spanelementen.
`invoke_agent` Spanattribute
Umschließt den gesamten Agentaufruf: Alle LLM-Aufrufe und Toolausführungen für eine Benutzernachricht.
- Sitzungen auf oberster Ebene verwenden den Span-Typ
CLIENT(Aufruf von Remote-Diensten) mitserver.addressundserver.port. - Subagent-Aufrufe (z. B. Erkunden, Aufgaben) verwenden Span-Art
INTERNAL(in-Process) ohne Serverattribute.
| Merkmal | Beschreibung | Spanart |
|---|---|---|
gen_ai.operation.name | invoke_agent | Beides |
gen_ai.provider.name | Anbieter (z. B github. , anthropic) | Beides |
gen_ai.agent.id | Sitzungs-ID | Beides |
gen_ai.agent.name | Agentname (sofern verfügbar) | Beides |
gen_ai.agent.description | Agent-Beschreibung (sofern verfügbar) | Beides |
gen_ai.agent.version | Laufzeitversion | Beides |
gen_ai.conversation.id | Sitzungs-ID | Beides |
gen_ai.request.model | Angefordertes Modell | Beides |
gen_ai.response.finish_reasons |
`["stop"]` oder `["error"]` | Beides |
| gen_ai.usage.input_tokens | Gesamtzahl der Eingabetoken (alle Wendungen) | Beides |
| gen_ai.usage.output_tokens | Output-Token insgesamt (alle Turns) | Beides |
| gen_ai.usage.cache_read.input_tokens | Zwischengespeicherte Eingabetoken lesen | Beides |
| gen_ai.usage.cache_creation.input_tokens | Zwischengespeicherte Eingabetoken erstellt | Beides |
| github.copilot.turn_count | Anzahl der LLM-Roundtrips | Beides |
| github.copilot.cost | Geldkosten | Beides |
| github.copilot.aiu | KI-Einheiten verbraucht | Beides |
| server.address | Server-Hostname | Nur CLIENT |
| server.port | Serverport | Nur CLIENT |
| error.type | Fehlerklassenname (bei Fehler) | Beides |
| gen_ai.input.messages | Vollständige Eingabemeldungen als JSON (nur Inhaltserfassung) | Beides |
| gen_ai.output.messages | Vollständige Ausgabemeldungen als JSON (nur Inhaltserfassung) | Beides |
| gen_ai.system_instructions | Systemaufforderungsinhalte als JSON (nur Inhaltserfassung) | Beides |
| gen_ai.tool.definitions | Toolschemas als JSON (nur Inhaltserfassung) | Beides |
`chat` Spanattribute
Eine Spanne pro LLM-Anforderung. Spanentyp: CLIENT.
| Merkmal | Beschreibung |
|---|---|
gen_ai.operation.name | chat |
gen_ai.provider.name | Anbietername |
gen_ai.request.model | Angefordertes Modell |
gen_ai.conversation.id | Sitzungs-ID |
gen_ai.response.id | Antwort-ID |
gen_ai.response.model | Aufgelöstes Modell |
gen_ai.response.finish_reasons | Stoppgründe |
gen_ai.usage.input_tokens | Eingabe-Tokens in diesem Turn |
gen_ai.usage.output_tokens | Ausgabe-Tokens in diesem Turn |
gen_ai.usage.cache_read.input_tokens | Zwischengespeicherte Token lesen |
gen_ai.usage.cache_creation.input_tokens | Zwischengespeicherte Token erstellt |
github.copilot.cost | Kosten des Turns |
github.copilot.aiu | In diesem Turn verbrauchte KI-Einheiten |
github.copilot.server_duration | Serverseitige Dauer |
github.copilot.initiator | Anforderungsinitiator |
github.copilot.turn_id | Kennung des Turns |
github.copilot.interaction_id | Interaktionskennung |
github.copilot.time_to_first_chunk | Zeit zum ersten Streamingblock in Sekunden (nur Streaming) |
server.address | Server-Hostname |
server.port | Serverport |
error.type | Fehlerklassenname (bei Fehler) |
gen_ai.input.messages | Vollständige Eingabeaufforderungsnachrichten als JSON (nur Inhaltserfassung) |
gen_ai.output.messages | Vollständige Antwortnachrichten als JSON (nur Inhaltserfassung) |
gen_ai.system_instructions | Systemaufforderungsinhalte als JSON (nur Inhaltserfassung) |
`execute_tool` Spanattribute
Eine Spanne pro Toolaufruf. Spanentyp: INTERNAL.
| Merkmal | Beschreibung |
|---|---|
gen_ai.operation.name | execute_tool |
gen_ai.provider.name | Anbietername (sofern verfügbar) |
gen_ai.tool.name | Werkzeugname (z. B. readFile) |
gen_ai.tool.type | function |
gen_ai.tool.call.id | Toolaufrufbezeichner |
gen_ai.tool.description | Toolbeschreibung |
error.type | Fehlerklassenname (bei Fehler) |
gen_ai.tool.call.arguments | Tooleingabeargumente als JSON (nur Inhaltserfassung) |
gen_ai.tool.call.result | Toolausgabe als JSON (nur Inhaltserfassung) |
Metriken
GenAI-Konventionsmetriken
| Metric | Typ | Einheit | Beschreibung |
|---|---|---|---|
gen_ai.client.operation.duration | Histogramm | s | Dauer des LLM-API-Aufrufs und des Agentenaufrufs |
gen_ai.client.token.usage | Histogramm | tokens | Tokenanzahl nach Typ (input/output) |
gen_ai.client.operation.time_to_first_chunk | Histogramm | s | Zeitpunkt für den Empfang des ersten Streamingblocks |
gen_ai.client.operation.time_per_output_chunk | Histogramm | s | Latenz zwischen den Chunks nach dem ersten Chunk |
Anbieterspezifische Metriken
| Metric | Typ | Einheit | Beschreibung |
|---|---|---|---|
github.copilot.tool.call.count | Zähler | Anrufe | Toolaufrufe nach gen_ai.tool.name und success |
github.copilot.tool.call.duration | Histogramm | s | Latenz der Toolausführung nach gen_ai.tool.name |
github.copilot.agent.turn.count | Histogramm | dreht | LLM-Roundtrips pro Agent-Aufruf |
Span-Ereignisse
Lebenszyklusereignisse, die auf der aktiven chat oder invoke_agent Zeitspanne aufgezeichnet werden.
| Ereignis | Beschreibung | Schlüsselattribute |
|---|---|---|
github.copilot.hook.start | Ein Hook begann die Ausführung |
`github.copilot.hook.type`, `github.copilot.hook.invocation_id` |
| github.copilot.hook.end | Ein Hook wurde erfolgreich abgeschlossen. |
github.copilot.hook.type, github.copilot.hook.invocation_id |
| github.copilot.hook.error | Ein Hook ist fehlgeschlagen |
github.copilot.hook.type, github.copilot.hook.invocation_id``github.copilot.hook.error_message |
| github.copilot.session.truncation | Der Verlauf der Unterhaltung wurde verkürzt |
github.copilot.token_limit, , github.copilot.pre_tokens``github.copilot.post_tokens, github.copilot.pre_messages, github.copilot.post_messages, github.copilot.tokens_removed, , github.copilot.messages_removed``github.copilot.performed_by |
| github.copilot.session.compaction_start | Die Verdichtung der Geschichte begann | Nichts |
| github.copilot.session.compaction_complete | Verlaufskomprimierung abgeschlossen |
github.copilot.success, , github.copilot.pre_tokens``github.copilot.post_tokens, github.copilot.tokens_removed, github.copilot.messages_removed, github.copilot.message (nur Inhaltserfassung) |
| github.copilot.skill.invoked | Eine Fähigkeit wurde aufgerufen |
github.copilot.skill.name
github.copilot.skill.path
github.copilot.skill.plugin_name
github.copilot.skill.plugin_version
|
| github.copilot.session.shutdown | Die Sitzung wird beendet. |
github.copilot.shutdown_type, , github.copilot.total_premium_requests``github.copilot.lines_added, , github.copilot.lines_removed``github.copilot.files_modified_count |
| github.copilot.session.abort | Der Benutzer hat den aktuellen Vorgang abgebrochen. | github.copilot.abort_reason |
| exception | Sitzungsfehler |
github.copilot.error_type, github.copilot.error_status_code``github.copilot.error_provider_call_id |
Ressourcenattribute
Alle Signale tragen diese Ressourcenattribute.
| Merkmal | Wert |
|---|---|
service.name |
`github-copilot` (konfigurierbar über `OTEL_SERVICE_NAME`) |
| service.version | Laufzeitversion |
Inhaltserfassung
Standardmäßig werden keine Eingabeaufforderungsinhalte, Antworten oder Toolargumente erfasst – nur Metadaten wie Modellnamen, Tokenanzahlen und Dauer. Um den vollständigen Inhalt zu erfassen, aktivieren Sie OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT=true.
Warnung
Die Inhaltserfassung kann vertrauliche Informationen wie Code, Dateiinhalte und Benutzeraufforderungen enthalten. Aktivieren Sie dies nur in vertrauenswürdigen Umgebungen.
Wenn die Inhaltserfassung aktiviert ist, werden die folgenden Attribute aufgefüllt.
| Merkmal | Content |
|---|---|
gen_ai.input.messages | Vollständige Prompt-Nachrichten (JSON) |
gen_ai.output.messages | Vollständige Antwortnachrichten (JSON) |
gen_ai.system_instructions | Systemaufforderungsinhalt (JSON) |
gen_ai.tool.definitions | Werkzeugschemata (JSON) |
gen_ai.tool.call.arguments | Eingabeargumente des Tools |
gen_ai.tool.call.result | Werkzeugausgabe |