Kommandozeilenbefehle
| Command | Zweck |
|---|---|
copilot | Starten Sie die interaktive Benutzeroberfläche. |
copilot help [topic] | Hilfeinformationen anzeigen. Zu den Hilfethemen gehören: config, , commands, environment, loggingund permissions. |
copilot init | Initialisieren Sie benutzerdefinierte Copilot-Anweisungen für dieses Repository. |
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 | Authentifizieren Sie sich mit Copilot über den OAuth-Gerätefluss. Akzeptiert --host HOST zur Angabe der GitHub Host-URL (Standard: https://github.com). |
copilot logout | Melden Sie sich von GitHub ab, und entfernen Sie gespeicherte Anmeldeinformationen. |
copilot plugin | Verwalten Sie Plugins und Plug-In-Marketplaces. |
Globale Tastenkombinationen in der interaktiven Benutzeroberfläche
| Tastenkombination | Zweck |
|---|---|
@ FILENAME | Fü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
| Tastenkombination | Zweck |
|---|---|
| STRG+O | Auch wenn in der Eingabeaufforderung nichts enthalten ist, werden die zuletzt verwendeten Elemente in der Antwortzeitachse von Copilot erweitert, um weitere Details anzuzeigen. |
| STRG+E | Wenn die Eingabeaufforderung keine Inhalte enthält, werden alle Elemente in der Antwortzeitachse von Copilot erweitert. |
| STRG+T | Erweitern/Reduzieren der Anzeige der Begründung in Antworten. |
Tastenkürzel in der interaktiven Benutzeroberfläche
| Tastenkombination | Zweck |
|---|
<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
| Command | Zweck |
|---|---|
/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. |
`/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
| Option | Zweck |
|---|---|
--acp | Starten Sie den Agent-Clientprotokollserver. |
--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 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. Dies 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. |
--agent AGENT | Geben Sie einen Benutzerdefinierter Agent an, der verwendet werden soll. |
--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 [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). |
--autopilot | Aktivieren 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. |
--banner | Das Startbanner anzeigen. |
--bash-env [VALUE] | Aktivieren der BASH_ENV Unterstützung für Bash-Shells (on oder off). |
--config-dir PATH | Legen Sie das Konfigurationsverzeichnis fest (Standard: ~/.copilot). |
--continue | Fortsetzen 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-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). |
--disable-parallel-tools-execution | Deaktivieren Sie die parallele Ausführung von Tools (LLM kann weiterhin parallele Toolaufrufe ausführen, sie werden jedoch sequenziell ausgeführt). |
--disallow-temp-dir | Verhindern des automatischen Zugriffs auf das temporäre Systemverzeichnis. |
--enable-all-github-mcp-tools | Aktivieren 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. |
--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). 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.
| Kind | Description | Beispielmuster |
|---|---|---|
shell | Shellbefehlsausfü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
| Variable | Description |
|---|---|
COPILOT_MODEL | Legen Sie das KI-Modell fest. |
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_CUSTOM_INSTRUCTIONS_DIRS | Durch Trennzeichen getrennte Liste zusätzlicher Verzeichnisse für benutzerdefinierte Anweisungen. |
COPILOT_SKILLS_DIRS | Durch Trennzeichen getrennte Liste zusätzlicher Verzeichnisse für Fähigkeiten. |
COPILOT_EDITOR | Editor-Befehl für die interaktive Bearbeitung (überprüft nach $VISUAL und $EDITOR). Wenn keine festgelegt sind, wird vi standardmäßig verwendet. |
COPILOT_GITHUB_TOKEN | Authentifizierungs-Token. Hat Vorrang vor GH_TOKEN und GITHUB_TOKEN. |
COPILOT_HOME | Überschreiben Sie das Konfigurations- und Statusverzeichnis. Standardwert: $HOME/.copilot. |
GH_TOKEN | Authentifizierungs-Token. Hat Vorrang vor GITHUB_TOKEN. |
GITHUB_TOKEN | Authentifizierungs-Token. |
USE_BUILTIN_RIPGREP | Setzen Sie false ein, um das System-ripgrep anstelle der gebündelten Version zu verwenden. |
PLAIN_DIFF | Setzen Sie true, um das Rendern von Rich-Diff-Elementen zu deaktivieren. |
COLORFGBG | Fallback zur Erkennung von dunklen/hellen Terminal-Hintergründen. |
COPILOT_CLI_ENABLED_FEATURE_FLAGS | Durch 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.
| Geltungsbereich | Standort | Zweck |
|---|---|---|
| Benutzer | ~/.copilot/config.json | Globale Standardwerte für alle Repositories. Verwenden Sie die COPILOT_HOME Umgebungsvariable, um einen alternativen Pfad anzugeben. |
| Repository | .github/copilot/settings.json | Konfiguration des freigegebenen Repositorys (im Repository festgeschrieben). |
| Lokal | .github/copilot/settings.local.json | Persönliche Außerkraftsetzungen (fügen Sie diese hinzu)..gitignore |
Benutzereinstellungen (~/.copilot/config.json)
| Key | Typ | Default | Description |
|---|---|---|---|
allowed_urls | string[] | [] | URLs oder Domänen, die ohne Aufforderung zulässig sind. |
alt_screen | boolean | false | Verwenden Sie den alternativen Terminalbildschirmpuffer. |
auto_update | boolean | true | Cli-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.
| Key | Typ | Zusammenführungsverhalten | Description |
|---|---|---|---|
companyAnnouncements | string[] | Ersetzt – Repository hat Vorrang | Nachrichten, die beim Start zufällig angezeigt werden. |
enabledPlugins | Record<string, boolean> | Zusammengeführt – Repository setzt benutzer für denselben Schlüssel außer Kraft | Automatische Installation des deklarativen Plug-Ins. |
marketplaces | Record<string, {...}> | Zusammengeführt – Repository setzt benutzer für denselben Schlüssel außer Kraft | Plug-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
}
]
}
}
| Feld | Typ | Erforderlich | Description |
|---|---|---|---|
type | "command" | Ja | Muss "command" sein. |
bash | Schnur | Einer von bash/powershell | Shell-Befehl für Unix. |
powershell | Schnur | Einer von bash/powershell | Shellbefehl für Windows. |
cwd | Schnur | Nein | Arbeitsverzeichnis für den Befehl (relativ zum Repositorystamm oder absolut). |
env | Objekt | Nein | Festzulegende Umgebungsvariablen (unterstützt variable Erweiterung). |
timeoutSec | number | Nein | Timeout 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"
}
]
}
}
| Feld | Typ | Erforderlich | Description |
|---|---|---|---|
type | "prompt" | Ja | Muss "prompt" sein. |
prompt | Schnur | Ja | Text zum Einreichen – kann eine Nachricht in natürlicher Sprache oder ein Slash-Befehl sein. |
Hook-Ereignisse
| Event | Wird ausgelöst, wenn | Verarbeitete Ausgabe |
|---|---|---|
sessionStart | Eine neue oder fortgesetzte Sitzung beginnt. | Nein |
sessionEnd | Die Sitzung wird beendet. | Nein |
userPromptSubmitted | Der Benutzer sendet eine Eingabeaufforderung. | Nein |
preToolUse | Bevor jedes Tool ausgeführt wird. | Ja – kann zulassen, ablehnen oder ändern. |
postToolUse | Nachdem jedes Tool abgeschlossen ist. | Nein |
agentStop | Der Hauptagent beendet eine Runde. | Ja – kann die Fortsetzung blockieren und erzwingen. |
subagentStop | Ein Subagent schließt ab. | Ja – kann die Fortsetzung blockieren und erzwingen. |
errorOccurred | Wä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.
| Feld | Werte | Description |
|---|---|---|
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
| Feld | Werte | Description |
|---|---|---|
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 Tools | Description |
|---|---|
bash | Ausführen von Shellbefehlen (Unix). |
powershell | Ausführen von Shellbefehlen (Windows). |
view | Dateiinhalte lesen. |
edit | Dateiinhalte ändern. |
create | Erstellen Sie neue Dateien. |
glob | Suchen Sie Dateien nach Mustern. |
grep | Dateiinhalte durchsuchen. |
web_fetch | Webseiten abrufen. |
task | Fü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
| Typ | Description | Pflichtfelder |
|---|---|---|
local / stdio | Lokaler Prozess kommuniziert über stdin/stdout. |
`command`, `args` |
| http | Remoteserver mit streambarem HTTP-Transport. | url |
| sse | Remoteserver mit Server-Sent-Ereignisse-Übertragung. | url |
Lokale Serverkonfigurationsfelder
| Feld | Erforderlich | Description |
|---|---|---|
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 | Nein | Umgebungsvariablen. Unterstützt $VAR, ${VAR} und ${VAR:-default} Erweiterungen. |
cwd | Nein | Arbeitsverzeichnis für den Server. |
timeout | Nein | Timeout beim Aufruf des Tools in Millisekunden. |
type | Nein |
`"local"` oder `"stdio"`. Standardwert: `"local"`. |
Remote-Server-Konfigurationsfelder
| Feld | Erforderlich | Description |
|---|---|---|
type | Ja |
`"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.
| Modus | Description |
|---|---|
none | Keine Filterung. |
markdown | Formatieren Sie die Ausgabe als Markdown. |
hidden_characters | Entfernen Sie ausgeblendete Zeichen oder Steuerelementzeichen. Standard. |
Integrierte MCP-Server
Die CLI enthält integrierte MCP-Server, die ohne zusätzliche Einrichtung verfügbar sind.
| Server | Description |
|---|---|
github-mcp-server | GitHub API-Integration: Probleme, Pull Requests, 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.
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
| Feld | Typ | Erforderlich | Description |
|---|---|---|---|
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[] | Nein | 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 | Nein | Ob Benutzer den Skill /SKILL-NAMEaufrufen können. Standardwert: true. |
disable-model-invocation | boolean | Nein | Verhindern 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).
| Standort | Geltungsbereich | Description |
|---|---|---|
.github/skills/ | Projekt | Projektspezifische Fähigkeiten. |
.agents/skills/ | Projekt | Alternative Projektstandort. |
.claude/skills/ | Projekt | Claude-kompatibler Standort. |
Elternteil .github/skills/ | Geerbt | Unterstützung für das übergeordnete Verzeichnis von Monorepo. |
~/.copilot/skills/ | Personal | Persönliche Fähigkeiten für alle Projekte. |
~/.claude/skills/ | Personal | Claude-kompatibler persönlicher Standort. |
| Plug-In-Verzeichnisse | Plug-In | Fähigkeiten von installierten Plug-Ins. |
COPILOT_SKILLS_DIRS | Kundenspezifisch | Zusä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
| Vertreter | Standardmodell | Description |
|---|---|---|
code-review | claude-sonnet-4.5 | Überprüfung des Hohen Signal-zu-Rausch-Codes. Analysiert Diffs für Fehler, Sicherheitsprobleme und Logikfehler. |
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. |
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 | Description |
|---|---|---|---|
description | Schnur | Ja | Beschreibung, die in der Agentenliste und im task Tool angezeigt wird. |
infer | boolean | Nein | Automatische Delegierung durch den Hauptagenten zulassen. Standardwert: true. |
mcp-servers | Objekt | Nein | MCP-Server zum Verbinden. Verwendet dasselbe Schema wie ~/.copilot/mcp-config.json. |
model | Schnur | Nein | KI-Modell für diesen Agent. Wenn dies nicht festgelegt ist, erbt es das Modell des äußeren Agenten. |
name | Schnur | Nein | Anzeigename. Standardmäßig wird der Dateiname verwendet. |
tools | string[] | Nein | Tools, die für den Agent verfügbar sind. Standard: ["*"] (alle Tools). |
Benutzerdefinierte Agent-Standorte
| Geltungsbereich | Standort |
|---|---|
| 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.
| Key | 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.
| Flag | Tarif | Description |
|---|---|---|
AUTOPILOT_MODE | experimental | Autonomer Betriebsmodus. |
BACKGROUND_AGENTS | staff | Führen Sie Agenten im Hintergrund aus. |
QUEUED_COMMANDS | staff | Befehle in die Warteschlange stellen, während der Agent läuft. |
LSP_TOOLS | on | Sprachserver-Protokoll-Tools. |
PLAN_COMMAND | on | Interaktiver Planungsmodus. |
AGENTIC_MEMORY | on | Beständiger Arbeitsspeicher über Sitzungen hinweg. |
CUSTOM_AGENTS | on | Benutzerdefinierte Agentdefinitionen. |