Skip to main content

GitHub Copilot CLI-Befehlsreferenz

Suchen Sie Befehle und Tastenkombinationen, um Copilot CLI effektiv zu verwenden.

Kommandozeilenbefehle

CommandZweck
copilotStarten Sie die interaktive Benutzeroberfläche.
copilot help [topic]Hilfeinformationen anzeigen. Zu den Hilfethemen gehören: config, , commands, environment, loggingund permissions.
copilot initInitialisieren Sie benutzerdefinierte Copilot-Anweisungen für dieses Repository.
copilot updateLaden Sie die neueste Version herunter, und installieren Sie sie.
copilot versionZeigen Sie Versionsinformationen an, und suchen Sie nach Updates.
copilot loginAuthentifizieren Sie sich mit Copilot über den OAuth-Gerätefluss. Akzeptiert --host HOST zur Angabe der GitHub Host-URL (Standard: https://github.com).
copilot logoutMelden Sie sich von GitHub ab, und entfernen Sie gespeicherte Anmeldeinformationen.
copilot pluginVerwalten Sie Plugins und Plug-In-Marketplaces.

Globale Tastenkombinationen in der interaktiven Benutzeroberfläche

TastenkombinationZweck
@ FILENAMEFügen Sie Dateiinhalte in den Kontext ein.
          <kbd>Strg</kbd>+<kbd>X</kbd> 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. |

| ESC | Abbrechen des aktuellen Vorgangs. | | ! COMMAND | Führen Sie einen Befehl in der lokalen Shell aus, indem Sie Copilot umgehen. | | Strg+C | Vorgang abbrechen/Eingabe löschen. Drücken Sie zweimal, um zu beenden. | | STRG+D | Herunterfahren. | | STRG+L | Löschen Sie den Bildschirm. | | Shift+Tab | Wechseln zwischen Standard-, Plan- und Autopilot-Modus. |

Zeitleistenshortcuts in der interaktiven Benutzeroberfläche

TastenkombinationZweck
STRG+OAuch wenn in der Eingabeaufforderung nichts enthalten ist, werden die zuletzt verwendeten Elemente in der Antwortzeitachse von Copilot erweitert, um weitere Details anzuzeigen.
STRG+EWenn die Eingabeaufforderung keine Inhalte enthält, werden alle Elemente in der Antwortzeitachse von Copilot erweitert.
STRG+TErweitern/Reduzieren der Anzeige der Begründung in Antworten.
TastenkombinationZweck
          <kbd>STRG</kbd>+<kbd>A</kbd>        | 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+G | Bearbeiten Sie die Eingabeaufforderung in einem externen Editor. | | 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. | | Startseite | Wechseln zum Anfang der aktuellen Zeile. | | Ende | Wechseln zum Ende der aktuellen Zeile | | STRG+POS1 | Wechseln zum Anfang des Texts. | | Strg+Ende | Wechseln zum Ende des Texts. | | Meta+/ | Bewegen sie den Cursor um ein Wort. | | / | Navigieren Sie im Befehlsverlauf. |

Slash-Befehle auf der interaktiven Benutzeroberfläche

CommandZweck
/add-dir PATHFügen Sie der Liste der zulässigen Dateien ein Verzeichnis für den Dateizugriff hinzu.
/agentDurchsuchen und wählen Sie aus den verfügbaren Agents (falls vorhanden) aus.
          `/allow-all`, `/yolo`                               | Alle Berechtigungen aktivieren (Tools, Pfade und URLs). |

| /clear, /new | Löscht den Unterhaltungsverlauf. | | /compact | Fassen Sie den Unterhaltungsverlauf zusammen, um die Nutzung von Kontextfenstern zu reduzieren. | | /context | Anzeigen von Verwendung und Visualisierung der Kontextfenster-Tokens. | | /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. | | /diff | Überprüfen Sie die im aktuellen Verzeichnis vorgenommenen Änderungen. | | /exit, /quit | Beenden Sie die CLI. | | /experimental [on\|off] | Aktivieren oder Deaktivieren experimenteller Features | | /feedback | Geben Sie Feedback zur CLI. | | /fleet [PROMPT] | Aktivieren Sie die parallele Subagentausführung von Teilen eines Vorgangs. Weitere Informationen findest du unter 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. | | /init | Initialisiert benutzerdefinierte Copilot-Anweisungen und agentische Funktionen für dieses Repository. | | /list-dirs | Zeigen Sie alle Verzeichnisse an, für die der Dateizugriff zulässig ist. | | /login | Melden Sie sich bei 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] [SERVER-NAME] | Verwalten Sie die MCP-Serverkonfiguration. | | /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. | | /rename NAME | Benennen Sie die aktuelle Sitzung um (Alias für /session rename). | | /reset-allowed-tools | Setzen Sie die Liste der zulässigen Tools zurück. | | /resume [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. | | /session [checkpoints [n]\|files\|plan\|rename NAME] | Anzeigen von Sitzungsinformationen und einer Arbeitsbereichszusammenfassung. Verwenden Sie die Unterbefehle für Details. | | /share [file\|gist] [PATH] | Teilen Sie die Sitzung in eine Markdown-Datei oder einen GitHub Gist. | | /skills [list\|info\|add\|remove\|reload] [ARGS...] | Verwalten Sie Fähigkeiten für erweiterte Funktionen. | | /terminal-setup | Konfigurieren Sie das Terminal für die Unterstützung von Mehrzeileneingaben (Umschalt+Eingabe und Strg+Eingabe). | | /theme [show\|set\|list] [auto\|THEME-ID] | Anzeigen oder Konfigurieren Sie das Terminal-Design. | | /usage | Anzeigen von Sitzungsnutzungsmetriken und Statistiken. | | /user [show\|list\|switch] | Verwalten Sie den aktuellen GitHub Benutzer. |

Eine vollständige Liste der verfügbaren Schrägstrichbefehle finden Sie /help in der interaktiven Benutzeroberfläche der CLI.

Befehlszeilenoptionen

OptionZweck
--acpStarten Sie den Agent-Clientprotokollserver.
--add-dir PATHFügen Sie der Liste für den Dateizugriff ein Verzeichnis hinzu (kann mehrmals verwendet werden).
--add-github-mcp-tool TOOLFügen Sie ein Tool hinzu, um 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 TOOLSETFügen Sie ein Toolset hinzu, um den GitHub MCP-Server anstelle der standardmäßigen CLI-Teilmenge zu aktivieren. Dies kann mehrmals verwendet werden. Verwenden Sie all für alle Toolsets.
--additional-mcp-config JSONFü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.
--agent AGENTGeben Sie einen Benutzerdefinierter Agent an, der verwendet werden soll.
--allow-allAlle Berechtigungen aktivieren (entspricht --allow-all-tools --allow-all-paths --allow-all-urls).
--allow-all-pathsDeaktivieren Sie die Überprüfung des Dateipfads, und erlauben Sie den Zugriff auf einen beliebigen Pfad.
--allow-all-toolsZulassen, dass alle Tools automatisch ohne Bestätigung ausgeführt werden. Erforderlich bei programmgesteuerter Verwendung der CLI (env: COPILOT_ALLOW_ALL).
--allow-all-urlsZugriff auf alle URLs ohne Bestätigung zulassen.
--allow-tool [TOOLS...]Tools, die von der CLI verwendet werden dürfen. Fordert keine Erlaubnis an.
--allow-url [URLS...]Zugriff auf bestimmte URLs oder Domänen zulassen.
--alt-screen [VALUE]Verwenden Sie den alternativen Terminalbildschirmpuffer (on oder off).
--autopilotAktivieren Sie die fortlaufende Autopilot-Ausführung im Prompt-Modus. Weitere Informationen findest du unter Zulassen, dass GitHub Copilot CLI autonom arbeiten kann.
--available-tools [TOOLS...]Nur diese Tools sind für das Modell verfügbar.
--bannerDas Startbanner anzeigen.
--bash-env [VALUE]Aktivieren der BASH_ENV Unterstützung für Bash-Shells (on oder off).
--config-dir PATHLegen Sie das Konfigurationsverzeichnis fest (Standard: ~/.copilot).
--continueFortsetzen der letzten Sitzung.
--deny-tool [TOOLS...]Tools, die von der CLI nicht verwendet werden dürfen. Fordert keine Erlaubnis an.
--deny-url [URLS...]Der Zugriff auf bestimmte URLs oder Domänen wird verweigert; hat Vorrang vor --allow-url.
--disable-builtin-mcpsDeaktivieren Sie alle integrierten MCP-Server (derzeit: github-mcp-server).
--disable-mcp-server SERVER-NAMEDeaktivieren Sie einen bestimmten MCP-Server (kann mehrmals verwendet werden).
--disable-parallel-tools-executionDeaktivieren Sie die parallele Ausführung von Tools (LLM kann weiterhin parallele Toolaufrufe ausführen, sie werden jedoch sequenziell ausgeführt).
--disallow-temp-dirVerhindern des automatischen Zugriffs auf das temporäre Systemverzeichnis.
--enable-all-github-mcp-toolsAktivieren Sie alle GitHub MCP-Servertools anstelle der standardmäßigen CLI-Teilmenge. Hebt die --add-github-mcp-toolset- und --add-github-mcp-tool-Optionen auf.
--excluded-tools [TOOLS...]Diese Tools sind für das Modell nicht verfügbar.
--experimentalAktivieren 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). Weitere Informationen findest du unter Zulassen, dass GitHub Copilot CLI autonom arbeiten kann. | | --model MODEL | Legen Sie das KI-Modell fest, das Sie verwenden möchten. | | --no-alt-screen | Deaktivieren Sie den alternativen Terminalbildschirmpuffer. | | --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. | | --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). | | --plain-diff | Deaktivieren Sie das erweiterte Diff-Rendering (Syntaxhervorhebung über das in Ihrer Git-Konfiguration angegebene Diff-Tool). | | --resume [SESSION-ID] | Fortsetzen einer vorherigen interaktiven Sitzung durch Auswählen aus einer Liste (optional angeben einer Sitzungs-ID). | | -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. | | --share [PATH] | Teilen einer Sitzung als Markdown-Datei nach Abschluss einer programmgesteuerten Sitzung (Standardpfad: ./copilot-session-<ID>.md). | | --share-gist | Teilen Sie eine Sitzung mit einem geheimen GitHub-Gist nach Abschluss einer programmgesteuerten Sitzung. | | --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.

Toolberechtigungsmuster

Die --allow-tool Und --deny-tool Optionen akzeptieren Berechtigungsmuster im Format Kind(argument). Das Argument ist optional – wird es weggelassen, werden alle Tools dieser Art erfasst.

KindDescriptionBeispielmuster
shellShellbefehlsausführung
          `shell(git push)`, `shell(git:*)``shell` |

| write | Dateierstellung oder -änderung | write, write(src/*.ts) | | read | Datei- oder Verzeichnislesevorgänge | read, read(.env) | | SERVER-NAME | MCP-Server-Toolaufruf | MyMCP(create_issue), MyMCP | | url | URL-Zugriff über Web-Fetch oder Shell | url(github.com), url(https://*.api.com) | | memory | Speichern von Fakten im Agentspeicher | memory |

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

VariableDescription
COPILOT_MODELLegen Sie das KI-Modell fest.
COPILOT_ALLOW_ALLFestlegen auf true, um alle Berechtigungen automatisch zu erlauben (entspricht --allow-all).
COPILOT_AUTO_UPDATEStellen Sie false ein, um automatische Updates zu deaktivieren.
COPILOT_CUSTOM_INSTRUCTIONS_DIRSDurch Trennzeichen getrennte Liste zusätzlicher Verzeichnisse für benutzerdefinierte Anweisungen.
COPILOT_SKILLS_DIRSDurch Trennzeichen getrennte Liste zusätzlicher Verzeichnisse für Fähigkeiten.
COPILOT_EDITOREditor-Befehl für die interaktive Bearbeitung (überprüft nach $VISUAL und $EDITOR). Wenn keine festgelegt sind, wird vi standardmäßig verwendet.
COPILOT_GITHUB_TOKENAuthentifizierungs-Token. Hat Vorrang vor GH_TOKEN und GITHUB_TOKEN.
COPILOT_HOMEÜberschreiben Sie das Konfigurations- und Statusverzeichnis. Standardwert: $HOME/.copilot.
GH_TOKENAuthentifizierungs-Token. Hat Vorrang vor GITHUB_TOKEN.
GITHUB_TOKENAuthentifizierungs-Token.
USE_BUILTIN_RIPGREPSetzen Sie false ein, um das System-ripgrep anstelle der gebündelten Version zu verwenden.
PLAIN_DIFFSetzen Sie true, um das Rendern von Rich-Diff-Elementen zu deaktivieren.
COLORFGBGFallback zur Erkennung von dunklen/hellen Terminal-Hintergründen.
COPILOT_CLI_ENABLED_FEATURE_FLAGSDurch Trennzeichen getrennte Liste der zu aktivierenden Featurekennzeichnungen (z. B "SOME_FEATURE,SOME_OTHER_FEATURE". ).

Konfigurationsdateieinstellungen

Einstellungen werden vom Benutzer auf das Repository und dann lokal übertragen, wobei spezifischere Bereiche allgemeinere ersetzen. Befehlszeilenkennzeichnungen und Umgebungsvariablen haben immer die höchste Priorität.

GeltungsbereichStandortZweck
Benutzer~/.copilot/config.jsonGlobale Standardwerte für alle Repositories. Verwenden Sie die COPILOT_HOME Umgebungsvariable, um einen alternativen Pfad anzugeben.
Repository.github/copilot/settings.jsonKonfiguration des freigegebenen Repositorys (im Repository festgeschrieben).
Lokal.github/copilot/settings.local.jsonPersönliche Außerkraftsetzungen (fügen Sie diese hinzu)..gitignore

Benutzereinstellungen (~/.copilot/config.json)

KeyTypDefaultDescription
allowed_urlsstring[][]URLs oder Domänen, die ohne Aufforderung zulässig sind.
alt_screenbooleanfalseVerwenden Sie den alternativen Terminalbildschirmpuffer.
auto_updatebooleantrueCli-Updates automatisch herunterladen.
banner
          `"always"`
          \|
          `"once"`
          \|
          `"never"`
         | `"once"` | Animierte Banneranzeigehäufigkeit. |

| bash_env | boolean | false | Aktivieren Sie BASH_ENV die Unterstützung für Bash-Shells. | | beep | boolean | true | Spielen Sie einen hörbaren Signalton, wenn Aufmerksamkeit nötig ist. | | compact_paste | boolean | true | Reduzieren Sie große Einfügemarken in kompakte Token. | | custom_agents.default_local_only | boolean | false | Verwenden Sie nur lokale benutzerdefinierte Agents. | | denied_urls | string[] | [] | URLs oder Domänen blockiert (hat Vorrang vor allowed_urls). | | experimental | boolean | false | Aktivieren Sie experimentelle Features. | | include_coauthor | boolean | true | Fügen Sie einen Co-authored-by-Trailer zu git-Commits hinzu, die vom Agenten vorgenommen wurden. | | companyAnnouncements | string[] | [] | Benutzerdefinierte Nachrichten, die beim Start zufällig angezeigt werden. | | log_level | "none" | "error" | "warning" | "info" | "debug" | "all" | "default" | "default" | Ausführliche Protokollierung. | | model | string | varies | Zu verwendende KI-Modell (siehe /model Befehl). | | reasoning_effort | "low" | "medium" | "high" | "xhigh" | "medium" | Anstrengungsebene für erweitertes Denken. Höhere Ebenen verwenden mehr Rechenleistung. | | render_markdown | boolean | true | Markdown in der Terminal-Ausgabe rendern. | | screen_reader | boolean | false | Aktivieren Sie Bildschirmleser-Optimierungen. | | stream | boolean | true | Streamingantworten aktivieren. | | store_token_plaintext | boolean | false | Speichern Sie Authentifizierungstoken in Nur-Text in der Konfigurationsdatei, wenn kein Systemschlüsselbund verfügbar ist. | | streamer_mode | boolean | false | Ausblenden von Vorschaumodellnamen und Kontingentdetails (nützlich beim Aufzeichnen). | | theme | "auto" | "dark" | "light" | "auto" | Terminalfarbthema. | | trusted_folders | string[] | [] | Ordner mit vorab gewährten Dateizugriff. | | update_terminal_title | boolean | true | Zeigen Sie die aktuelle Absicht im Terminaltitel an. |

Repository-Einstellungen (.github/copilot/settings.json)

Repositoryeinstellungen gelten für alle Personen, die im Repository arbeiten. Nur eine Teilmenge der Einstellungen wird auf Repositoryebene unterstützt. Nicht unterstützte Schlüssel werden ignoriert.

KeyTypZusammenführungsverhaltenDescription
companyAnnouncementsstring[]Ersetzt – Repository hat VorrangNachrichten, die beim Start zufällig angezeigt werden.
enabledPluginsRecord<string, boolean>Zusammengeführt – Repository setzt benutzer für denselben Schlüssel außer KraftAutomatische Installation des deklarativen Plug-Ins.
marketplacesRecord<string, {...}>Zusammengeführt – Repository setzt benutzer für denselben Schlüssel außer KraftPlug-In-Marketplaces, die in diesem Repository verfügbar sind.

Lokale Einstellungen (.github/copilot/settings.local.json)

Erstellen Sie .github/copilot/settings.local.json im Repository für persönliche Überschreibungen, die nicht festgeschrieben werden sollten. Fügen Sie diese Datei zu .gitignore.

Die lokale Konfigurationsdatei verwendet dasselbe Schema wie die Repositorykonfigurationsdatei (.github/copilot/settings.json) und hat Vorrang.

Hooks-Referenz

Hooks sind externe Befehle, die während einer Sitzung an bestimmten Lebenszykluspunkten ausgeführt werden und benutzerdefinierte Automatisierung, Sicherheitssteuerelemente und Integrationen ermöglichen. Hook-Konfigurationsdateien werden automatisch von .github/hooks/*.json in Ihrem Repository geladen.

Hook-Konfigurationsformat

Hook-Konfigurationsdateien verwenden JSON-Format mit Version 1.

Befehlshaken

Befehlshaken führen Shellskripts aus und werden für alle Hooktypen unterstützt.

{
  "version": 1,
  "hooks": {
    "preToolUse": [
      {
        "type": "command",
        "bash": "your-bash-command",
        "powershell": "your-powershell-command",
        "cwd": "optional/working/directory",
        "env": { "VAR": "value" },
        "timeoutSec": 30
      }
    ]
  }
}
FeldTypErforderlichDescription
type"command"JaMuss "command" sein.
bashSchnurEiner von bash/powershellShell-Befehl für Unix.
powershellSchnurEiner von bash/powershellShellbefehl für Windows.
cwdSchnurNeinArbeitsverzeichnis für den Befehl (relativ zum Repositorystamm oder absolut).
envObjektNeinFestzulegende Umgebungsvariablen (unterstützt variable Erweiterung).
timeoutSecnumberNeinTimeout in Sekunden. Standardwert: 30.

Eingabeaufforderungshaken

Prompt-Hooks senden automatisch Text, als hätte der Benutzer ihn selbst eingegeben. Sie werden nur auf sessionStart unterstützt und laufen, bevor ein anfänglicher Befehl über --prompt übergeben wird. Der Text kann eine Aufforderung in natürlicher Sprache oder ein Slash-Befehl sein.

{
  "version": 1,
  "hooks": {
    "sessionStart": [
      {
        "type": "prompt",
        "prompt": "Your prompt text or /slash-command"
      }
    ]
  }
}
FeldTypErforderlichDescription
type"prompt"JaMuss "prompt" sein.
promptSchnurJaText zum Einreichen – kann eine Nachricht in natürlicher Sprache oder ein Slash-Befehl sein.

Hook-Ereignisse

EventWird ausgelöst, wennVerarbeitete Ausgabe
sessionStartEine neue oder fortgesetzte Sitzung beginnt.Nein
sessionEndDie Sitzung wird beendet.Nein
userPromptSubmittedDer Benutzer sendet eine Eingabeaufforderung.Nein
preToolUseBevor jedes Tool ausgeführt wird.Ja – kann zulassen, ablehnen oder ändern.
postToolUseNachdem jedes Tool abgeschlossen ist.Nein
agentStopDer Hauptagent beendet eine Runde.Ja – kann die Fortsetzung blockieren und erzwingen.
subagentStopEin Subagent schließt ab.Ja – kann die Fortsetzung blockieren und erzwingen.
errorOccurredWährend der Ausführung tritt ein Fehler auf.Nein

          `preToolUse` Entscheidungssteuerung

Der preToolUse Hook kann die Toolausführung steuern, indem ein JSON-Objekt in stdout geschrieben wird.

FeldWerteDescription
permissionDecision
          `"allow"`, `"deny"``"ask"` | Gibt an, ob das Tool ausgeführt wird. Leere Ausgabe verwendet Standardverhalten. |

| permissionDecisionReason | Schnur | Grund, der dem Agenten angezeigt wird. Erforderlich, wenn die Entscheidung lautet "deny". | | modifiedArgs | Objekt | Ersetzen Sie Toolargumente, die anstelle der Originale verwendet werden sollen. |

          `agentStop`
           / 
          `subagentStop` Entscheidungssteuerung
FeldWerteDescription
decision
          `"block"`, `"allow"` | 
          `"block"` erzwingt, dass ein anderer Agent die Verwendung `reason` als Eingabeaufforderung einfordert. |

| reason | Schnur | Aufforderung für den nächsten Schritt, wenn decision``"block" ist. |

Toolnamen für den Hook-Abgleich

Name des ToolsDescription
bashAusführen von Shellbefehlen (Unix).
powershellAusführen von Shellbefehlen (Windows).
viewDateiinhalte lesen.
editDateiinhalte ändern.
createErstellen Sie neue Dateien.
globSuchen Sie Dateien nach Mustern.
grepDateiinhalte durchsuchen.
web_fetchWebseiten abrufen.
taskFühren Sie Subagent-Aufgaben aus.

Wenn mehrere Hooks desselben Typs konfiguriert sind, werden sie in der reihenfolge ausgeführt. Wenn preToolUseirgendein Hook "deny"zurückgibt, wird das Tool blockiert. Hook-Fehler (Nicht-Null-Beendigungscodes oder Timeouts) werden protokolliert und übersprungen – sie blockieren niemals die Ausführung des Agents.

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.

Transporttypen

TypDescriptionPflichtfelder
local / stdioLokaler Prozess kommuniziert über stdin/stdout.
          `command`, `args` |

| http | Remoteserver mit streambarem HTTP-Transport. | url | | sse | Remoteserver mit Server-Sent-Ereignisse-Übertragung. | url |

Lokale Serverkonfigurationsfelder

FeldErforderlichDescription
commandJaBefehl zum Starten des Servers.
argsJaBefehlsargumente (Array)
toolsJaZu aktivierende Tools: ["*"] für alle oder eine Liste bestimmter Toolnamen.
envNeinUmgebungsvariablen. Unterstützt $VAR, ${VAR} und ${VAR:-default} Erweiterungen.
cwdNeinArbeitsverzeichnis für den Server.
timeoutNeinTimeout beim Aufruf des Tools in Millisekunden.
typeNein
          `"local"` oder `"stdio"`. Standardwert: `"local"`. |

Remote-Server-Konfigurationsfelder

FeldErforderlichDescription
typeJa
          `"http"` oder `"sse"`. |

| url | Ja | Server-Adresse. | | tools | Ja | Tools zur Aktivierung. | | headers | Nein | HTTP-Header. Unterstützt variable Erweiterung. | | oauthClientId | Nein | Statische OAuth-Client-ID (überspringt dynamische Registrierung). | | oauthPublicClient | Nein | Gibt an, ob der OAuth-Client öffentlich ist. Standardwert: true. | | timeout | Nein | Timeout beim Aufruf des Tools in Millisekunden. |

Filterzuordnung

Steuern Sie, wie die MCP-Toolausgabe mithilfe des Felds in der filterMapping Konfiguration eines Servers verarbeitet wird.

ModusDescription
noneKeine Filterung.
markdownFormatieren Sie die Ausgabe als Markdown.
hidden_charactersEntfernen Sie ausgeblendete Zeichen oder Steuerelementzeichen. Standard.

Integrierte MCP-Server

Die CLI enthält integrierte MCP-Server, die ohne zusätzliche Einrichtung verfügbar sind.

ServerDescription
github-mcp-serverGitHub API-Integration: Probleme, Pull Requests, Commits, Codesuche und GitHub Actions.
playwrightBrowserautomatisierung: Navigieren, Klicken, Eingeben, Screenshot und Formularverarbeitung.
fetchHTTP-Anforderungen über das fetch Tool.
timeZeithilfsprogramme: 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.

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.

Kompetenz-Frontmatterfelder

FeldTypErforderlichDescription
nameSchnurJaEindeutiger Bezeichner für die Fähigkeit. Nur Buchstaben, Zahlen und Bindestriche. Max. 64 Zeichen.
descriptionSchnurJaWas die Fähigkeit tut und wann sie zu verwenden. Max. 1024 Zeichen.
allowed-toolsZeichenfolge oder Zeichenfolge[]NeinEine 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-invocablebooleanNeinOb Benutzer den Skill /SKILL-NAMEaufrufen können. Standardwert: true.
disable-model-invocationbooleanNeinVerhindern Sie, dass der Agent diese Fähigkeit automatisch aufruft. Standardwert: false.

Qualifikationsstandorte

Fähigkeiten werden aus diesen Speicherorten in der Reihenfolge ihrer Priorität geladen (bei doppelten Namen wird die zuerst gefundene verwendet).

StandortGeltungsbereichDescription
.github/skills/ProjektProjektspezifische Fähigkeiten.
.agents/skills/ProjektAlternative Projektstandort.
.claude/skills/ProjektClaude-kompatibler Standort.
Elternteil .github/skills/GeerbtUnterstützung für das übergeordnete Verzeichnis von Monorepo.
~/.copilot/skills/PersonalPersönliche Fähigkeiten für alle Projekte.
~/.claude/skills/PersonalClaude-kompatibler persönlicher Standort.
Plug-In-VerzeichnissePlug-InFähigkeiten von installierten Plug-Ins.
COPILOT_SKILLS_DIRSKundenspezifischZusätzliche Verzeichnisse (durch Trennzeichen getrennt).

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 zu benutzerdefinierten 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

VertreterStandardmodellDescription
code-reviewclaude-sonnet-4.5Überprüfung des Hohen Signal-zu-Rausch-Codes. Analysiert Diffs für Fehler, Sicherheitsprobleme und Logikfehler.
exploreclaude-haiku-4.5Schnelle 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-purposeclaude-sonnet-4.5Vollfunktions-Agent für komplexe Aufgaben mit mehreren Schritten. Wird in einem separaten Kontextfenster ausgeführt.
researchclaude-sonnet-4.6Forschungsagent für tiefe Analysen. Generiert einen Bericht basierend auf Informationen in Ihrer Codebasis, in relevanten Repositorys und im Web.
taskclaude-haiku-4.5Befehlsausführung (Tests, Builds, Lints). Gibt eine kurze Zusammenfassung bei Erfolg, eine vollständige Ausgabe bei Fehlern zurück.

Benutzerdefinierte Agent-Vordergrundinformationsfelder

FeldTypErforderlichDescription
descriptionSchnurJaBeschreibung, die in der Agentenliste und im task Tool angezeigt wird.
inferbooleanNeinAutomatische Delegierung durch den Hauptagenten zulassen. Standardwert: true.
mcp-serversObjektNeinMCP-Server zum Verbinden. Verwendet dasselbe Schema wie ~/.copilot/mcp-config.json.
modelSchnurNeinKI-Modell für diesen Agent. Wenn dies nicht festgelegt ist, erbt es das Modell des äußeren Agenten.
nameSchnurNeinAnzeigename. Standardmäßig wird der Dateiname verwendet.
toolsstring[]NeinTools, die für den Agent verfügbar sind. Standard: ["*"] (alle Tools).

Benutzerdefinierte Agent-Standorte

GeltungsbereichStandort
Projekt
          `.github/agents/` oder `.claude/agents/` |

| Benutzer | ~/.copilot/agents/ oder ~/.claude/agents/ | | Plug-In | <plugin>/agents/ |

Agents auf Projektebene haben Vorrang vor Agents auf Benutzerebene. Plug-In-Agents haben die niedrigste Priorität.

Antworten zu Genehmigungen

Wenn die CLI zur Berechtigung zum Ausführen eines Vorgangs auffordert, können Sie mit den folgenden Schlüsseln antworten.

KeyAuswirkung
yDiese bestimmte Anforderung einmal zulassen.
nVerweigern 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.

FlagTarifDescription
AUTOPILOT_MODEexperimentalAutonomer Betriebsmodus.
BACKGROUND_AGENTSstaffFühren Sie Agenten im Hintergrund aus.
QUEUED_COMMANDSstaffBefehle in die Warteschlange stellen, während der Agent läuft.
LSP_TOOLSonSprachserver-Protokoll-Tools.
PLAN_COMMANDonInteraktiver Planungsmodus.
AGENTIC_MEMORYonBeständiger Arbeitsspeicher über Sitzungen hinweg.
CUSTOM_AGENTSonBenutzerdefinierte Agentdefinitionen.