Skip to main content

GitHub Copilot CLI-Konfigurationsverzeichnis

Hier finden Sie Informationen zum ~/.copilot Verzeichnis, in dem Copilot CLI Konfigurations-, Sitzungsdaten und Anpassungen gespeichert werden.

          Copilot CLI speichert die Konfiguration, den Sitzungsverlauf, Protokolle und Anpassungen in einem einzigen Verzeichnis auf Ihrem Computer. Dieses Verzeichnis ist standardmäßig `~/.copilot` (d. h. `$HOME/.copilot`).

In diesem Artikel werden die Inhalte dieses Verzeichnisses und deren Verwendung beschrieben.

Verzeichnisübersicht

Das ~/.copilot Verzeichnis enthält die folgenden Elemente der obersten Ebene.

PfadTypBeschreibung
settings.jsonDateiIhre persönlichen Konfigurationseinstellungen
copilot-instructions.mdDateiPersönliche benutzerdefinierte Anweisungen (auf alle Sitzungen angewendet)
instructions/VerzeichnisWeitere persönliche *.instructions.md Dateien
mcp-config.jsonDateiMCP-Serverdefinitionen auf Benutzerebene
lsp-config.jsonDateiLSP-Serverdefinitionen auf Benutzerebene
permissions-config.jsonDateiGespeicherte Tool- und Verzeichnisberechtigungen pro Projekt
agents/VerzeichnisPersönliche benutzerdefinierte Agentdefinitionen
skills/VerzeichnisPersönliche benutzerdefinierte Qualifikationsdefinitionen
hooks/VerzeichnisHook-Skripts auf Benutzerebene
logs/VerzeichnisSitzungsprotokolldateien
session-state/VerzeichnisSitzungsverlauf und Arbeitsbereichsdaten
session-store.dbDateiSQLite-Datenbank für sitzungsübergreifende Daten
installed-plugins/VerzeichnisInstallierte Plug-In-Dateien
plugin-data/VerzeichnisPersistente Daten für installierte Plug-Ins
ide/VerzeichnisIDE-Integrationsstatus

Hinweis

Nicht alle diese Elemente werden sofort angezeigt. Einige werden auf Abruf erstellt, wenn Sie ein bestimmtes Feature zum ersten Mal verwenden, z.B. wird installed-plugins/ erst nach der Installation Ihres ersten Plugins angezeigt.

Bearbeitbare Dateien

Die folgenden Dateien sind so konzipiert, dass sie von Ihnen direkt bearbeitet oder über CLI-Befehle verwaltet werden.

settings.json

Dies ist die primäre Konfigurationsdatei für Copilot CLI. Sie können ihn direkt in einem Text-Editor bearbeiten oder z. B. interaktive Befehle wie /model und /theme verwenden, um bestimmte Werte innerhalb einer Sitzung zu ändern. Die Datei unterstützt JSON mit Kommentaren (JSONC).

Hinweis

Die Konfigurationsdatei wurde von config.json zu settings.json umbenannt. Vorhandene Einstellungen werden beim Start automatisch von ~/.copilot/config.json migriert.

Die vollständige Liste der Einstellungen und deren Interaktion mit der Konfiguration auf Repositoryebene finden Sie weiter unten in diesem Artikel unter Konfigurationsdateieinstellungen .

Tipp

Führen Sie copilot help config in Ihrem Terminal für eine schnelle Referenz aus.

copilot-instructions.md

Persönliche benutzerdefinierte Anweisungen, die für alle Ihre Sitzungen gelten, unabhängig davon, in welchem Projekt Sie arbeiten. Diese Datei funktioniert auf die gleiche Weise wie eine Repositoryebene copilot-instructions.md , gilt aber global.

Weitere Informationen findest du unter Hinzufügen von benutzerdefinierten Repositoryanweisungen für GitHub Copilot.

instructions/

Speichern Sie hier zusätzliche persönliche Anweisungsdateien als *.instructions.md Dateien. Diese werden zusammen mit copilot-instructions.md geladen und gelten für alle Ihre Sitzungen. Sie können Anweisungen nach Themen organisieren, z. B. ~/.copilot/instructions/code-style.instructions.md.

mcp-config.json

Definiert MCP-Server (Model Context Protocol), die auf Benutzerebene verfügbar sind. Diese Server sind in allen Ihren Sitzungen verfügbar, unabhängig davon, in welchem Projektverzeichnis Sie sich befinden. Projekt-Ebene-MCP-Konfigurationen (in .mcp.json oder .github/mcp.json) haben Vorrang vor Definitionen auf Benutzerebene, wenn Servernamen in Konflikt stehen.

Weitere Informationen findest du unter Hinzufügen von MCP-Servern für GitHub Copilot-CLI.

lsp-config.json

Definiert LSP-Server (Language Server Protocol), die auf Benutzerebene verfügbar sind. Diese Server stellen dem Agent Sprachintelligenz (Diagnose, Fertigstellungen usw.) bereit. Verwalten Sie diese Datei mithilfe des /lsp Schrägstrichbefehls, oder bearbeiten Sie sie direkt.

Weitere Informationen findest du unter Hinzufügen von LSP-Servern für GitHub Copilot-CLI.

agents/

Speichern Sie hier persönliche benutzerdefinierte Agentdefinitionen als .agent.md Dateien. Agents, die in diesem Verzeichnis platziert sind, sind in allen Ihren Sitzungen verfügbar. Project-Agents (in .github/agents/) haben Vorrang vor persönlichen Agents, wenn sie denselben Namen haben.

Weitere Informationen findest du unter Erstellen und Verwenden von benutzerdefinierten Agenten für GitHub Copilot-CLI.

skills/

Speichern Sie hier persönliche benutzerdefinierte Qualifikationsdefinitionen. Jede Fähigkeit befindet sich in einem Unterverzeichnis, das eine SKILL.md Datei enthält, ~/.copilot/skills/my-skill/SKILL.mdz. B. . Persönliche Skills sind in allen Ihren Sitzungen verfügbar. Projektfähigkeiten haben Vorrang vor persönlichen Fähigkeiten, wenn beide denselben Namen tragen.

Weitere Informationen findest du unter Hinzufügen von Agent-Fähigkeiten für GitHub Copilot-CLI.

hooks/

Speichern Sie hier Benutzerebene-Hook-Skripte. Diese Hooks gelten für alle Ihre Sitzungen. Sie können Hooks auch direkt in Ihrer Benutzerkonfigurationsdatei (~/.copilot/config.json) mit dem hooks-Schlüssel definieren. Hooks auf Repositoryebene (in .github/hooks/) werden zusammen mit Hooks auf Benutzerebene geladen.

Weitere Informationen findest du unter Verwenden von Hooks mit GitHub Copilot-CLI.

Automatisch verwaltete Dateien

Die folgenden Elemente werden von der CLI verwaltet. Im Allgemeinen sollten Sie sie nicht manuell bearbeiten.

permissions-config.json

Speichert Ihre gespeicherten Entscheidungen über Tool- und Verzeichnisberechtigungen, organisiert nach Projektstandort. Wenn Sie ein Tool genehmigen oder Zugriff auf ein Verzeichnis gewähren, zeichnet die CLI die Entscheidung hier auf, sodass Sie im selben Projekt nicht erneut aufgefordert werden.

Hinweis

Wenn Sie Berechtigungen für ein Projekt zurücksetzen möchten, können Sie den entsprechenden Eintrag aus dieser Datei löschen. Das Bearbeiten der Datei während der Ausführung einer Sitzung kann jedoch zu unerwartetem Verhalten führen.

session-state/

Enthält Sitzungsverlaufsdaten, organisiert nach Sitzungs-ID in Unterverzeichnissen. Jedes Sitzungsverzeichnis speichert ein Ereignisprotokoll (events.jsonl) und Arbeitsbereichsartefakte (Pläne, Prüfpunkte, nachverfolgte Dateien). Diese Daten ermöglichen den Fortsetzen der Sitzung (--resume oder --continue).

session-store.db

Eine SQLite-Datenbank, die von der CLI für sitzungsübergreifende Daten verwendet wird, z. B. Prüfpunktindizierung und Suche. Diese Datei wird automatisch verwaltet und sollte nicht bearbeitet werden.

logs/

Enthält Protokolldateien für CLI-Sitzungen. Jede Sitzung erstellt eine Protokolldatei mit dem Namen process-{timestamp}-{pid}.log. Diese Dateien sind hilfreich beim Debuggen von Problemen.

Tipp

Um die Protokolldatei für Ihre aktuelle Sitzung zu finden, geben Sie /session in einer interaktiven Sitzung ein. Die Ausgabe enthält den vollständigen Pfad zur Protokolldatei sowie andere Sitzungsdetails wie sitzungs-ID, Dauer und Arbeitsverzeichnis.

installed-plugins/

Enthält die Dateien für Plug-Ins, die Sie installiert haben. Plugins, die auf einem Marketplace installiert sind, werden unter installed-plugins/{marketplace-name}/{plugin-name}/gespeichert. Direkt installierte Plugins werden unter installed-plugins/_direct/gespeichert. Verwalten Sie Plug-Ins mithilfe der copilot plugin Befehle, anstatt dieses Verzeichnis direkt zu bearbeiten.

Weitere Informationen findest du unter GitHub Copilot CLI-Plug-In-Referenz.

plugin-data/

Enthält persistente Daten für installierte Plug-Ins, organisiert nach Marketplace- und Plugin-Namen. Diese Daten werden von den Plug-Ins selbst verwaltet und sollten nicht manuell bearbeitet werden.

ide/

Enthält Sperrdateien und Zustand für IDE-Integrationen (zum Beispiel, wenn Copilot CLI mit Visual Studio Code verbunden ist). Dieses Verzeichnis wird automatisch verwaltet.

Ändern des Speicherorts des Konfigurationsverzeichnisses

Sie können den Standardspeicherort ~/.copilot auf zwei verschiedene Weisen außer Kraft setzen:

  •         **Umgebungsvariable**: Legen Sie `COPILOT_HOME` den Pfad des Verzeichnisses fest, das Sie verwenden möchten.
    
    Bash
    export COPILOT_HOME=/path/to/my/copilot-config
    
  •         **Befehlszeilenoption**: Beim Starten der CLI verwenden `--config-dir` .
    
    Bash
    copilot --config-dir /path/to/my/copilot-config
    

Die --config-dir-Option hat Vorrang vor COPILOT_HOME, das wiederum Vorrang vor dem Standardspeicherort ~/.copilot hat.

Zu beachtende Dinge

Was Sie sicher löschen können

ElementSicher zu löschen?Auswirkung
agents/, skills/``hooks/Nicht empfohlenSie verlieren Ihre persönlichen Anpassungen. Sichern Sie zuerst.
copilot-instructions.md, instructions/Nicht empfohlenIhre persönlichen benutzerdefinierten Anweisungen gehen verloren. Sichern Sie zuerst.
installed-plugins/Nicht empfohlenVerwenden Sie copilot plugin uninstall stattdessen, um sicherzustellen, dass Plug-In-Metadaten settings.json konsistent bleiben.
logs/JaProtokolldateien werden jede Sitzung neu erstellt. Das Löschen hat keine funktionalen Auswirkungen.
lsp-config.jsonNicht empfohlenIhre LSP-Serverdefinitionen auf Benutzerebene gehen verloren. Sichern Sie zuerst.
mcp-config.jsonNicht empfohlenIhre MCP-Serverdefinitionen auf Benutzerebene gehen verloren. Sichern Sie zuerst.
permissions-config.jsonMit VorsichtSetzt alle gespeicherten Berechtigungen zurück. Die CLI fordert Sie erneut zur Eingabe von Tool- und Verzeichnisgenehmigungen auf.
plugin-data/JaPersistente Plug-In-Daten werden nach Bedarf neu erstellt.
session-state/Mit VorsichtDurch das Löschen wird die Sitzungshistorie entfernt. Sie können vergangene Sitzungen nicht mehr fortsetzen.
session-store.dbMit VorsichtBeim Löschen werden sitzungsübergreifende Daten entfernt. Die Datei wird automatisch neu erstellt.
settings.jsonMit VorsichtSetzt alle Konfigurationen auf Standardwerte zurück. Sie müssen Ihre Einstellungen neu konfigurieren und erneut authentifizieren.

Konfigurationsdateieinstellungen

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

ScopeLocationPurpose
Benutzer~/.copilot/settings.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).
Local.github/copilot/settings.local.jsonPersönliche Außerkraftsetzungen (fügen Sie diese hinzu)..gitignore

Benutzereinstellungen (~/.copilot/settings.json)

Diese Einstellungen gelten für alle Ihre Sitzungen und Repositorys. Sie können diese Datei direkt bearbeiten oder Schrägstrichbefehle verwenden, um einzelne Werte zu aktualisieren.

SchlüsselTypDefaultBeschreibung
allowedUrlsstring[][]URLs oder Domänen, die ohne Aufforderung zulässig sind. Unterstützt genaue URLs, Domänenmuster und Wildcard-Unterdomänen (z. B "*.github.com". ).
askUserbooleantrueErlauben Sie dem Agenten, Klarstellungsfragen zu stellen. Auf false für den vollständig autonomen Betrieb einstellen. Kann auch mit --no-ask-user eingestellt werden.
autoUpdatebooleantrueCli-Updates automatisch herunterladen.
autoUpdatesChannel
          `"stable"`
          \|
          `"prerelease"`
         | `"stable"` | Kanal aktualisieren. Um Vorabversionen zu erhalten, auf `"prerelease"` festlegen. |

| banner | "always" | "once" | "never" | "once" | Animierte Banneranzeigehäufigkeit. | | bashEnv | boolean | false | Aktivieren Sie BASH_ENV die Unterstützung für Bash-Shells. Kann auch mit --bash-env oder --no-bash-env. | | beep | boolean | true | Spielen Sie einen hörbaren Signalton, wenn Aufmerksamkeit nötig ist. | | colorMode | "default" | "dim" | "high-contrast" | "colorblind" | "default" | Farbkontrastmodus. Verwaltet durch den /theme Schrägstrichbefehl. | | compactPaste | boolean | true | Kompaktieren Sie große Einfügungen (mehr als 10 Zeilen) in kompakte Token. | | companyAnnouncements | string[] | [] | Benutzerdefinierte Nachrichten, die beim Start zufällig angezeigt werden. Eine Nachricht wird bei jedem Start der CLI zufällig ausgewählt. Nützlich für Teamankündigungen oder Erinnerungen. | | continueOnAutoMode | boolean | false | Wechselt automatisch in den automatischen Modus, wenn die Rate begrenzt ist. Wenn true, berechtigte Ratenlimit-Fehler einen automatischen Wechsel in den Auto-Modus auslösen und einen erneuten Versuch starten. Gilt nicht für globale Tarifgrenzwerte oder BYOK-Anbieter. | | copyOnSelect | boolean | true (macOS), false (andere) | Kopieren Sie automatisch den mit der Maus markierten Text in die Systemablage im alternativen Bildschirmmodus. | | customAgents.defaultLocalOnly | boolean | false | Verwenden Sie nur lokale benutzerdefinierte Agents (keine Remoteorganisation oder Unternehmens-Agents). | | deniedUrls | string[] | [] | URLs oder Domänen, die immer verweigert werden. Die Ablehnungsregeln haben Vorrang vor den Zulassungsregeln. | | disableAllHooks | boolean | false | Alle Hooks deaktivieren (sowohl Repositoryebene als auch Benutzerebene). | | disabledMcpServers | string[] | [] | MCP-Servernamen, die deaktiviert werden sollen. Aufgelistete Server sind konfiguriert, aber nicht gestartet. | | disabledSkills | string[] | [] | Zu deaktivierende Skillnamen. Aufgelistete Fähigkeiten werden entdeckt, aber nicht geladen. | | effortLevel | string | "medium" | Begründungsaufwand für erweitertes Denken: "low", , "medium", "high", oder "xhigh". Höhere Ebenen verwenden mehr Rechenleistung. | | enabledMcpServers | string[] | [] | Aktivieren Sie integrierte MCP-Server, die standardmäßig deaktiviert sind (z. B "computer-use". ). | | enabledPlugins | Record<string, boolean> | {} | Automatische Installation des deklarativen Plug-Ins. Schlüssel sind Plug-In-Spezifikationen; Werte sind true (aktiviert) oder false (deaktiviert). | | experimental | boolean | false | Aktivieren Sie experimentelle Features. Kann auch mit der --experimental Befehlszeilenoption oder dem /experimental Schrägstrichbefehl aktiviert werden. | | extraKnownMarketplaces | Record<string, {...}> | {} | Zusätzliche Plug-In-Marketplaces. Jeder Schlüssel ist ein Marktplatzname; der Wert gibt die Quelle ("directory", "git"oder "github") an. | | footer | object | — | Steuert, welche Elemente in der Statuszeile angezeigt werden. Unterschlüssel: showModelEffort, showDirectory, showBranch, showContextWindow, showQuota, showAgent (alle boolean). Wird durch den /statusline Slash-Befehl verwaltet. | | hooks | object | — | Inline-Hookdefinitionen auf Benutzerebene, schlüsselt nach Ereignisname. Verwendet dasselbe Schema wie .github/hooks/*.json Dateien. Siehe Verwenden von Hooks mit GitHub Copilot-CLI. | | ide.autoConnect | boolean | true | Automatische Verbindung mit einem IDE-Arbeitsbereich beim Start herstellen. Wenn false, können Sie mithilfe des /ide Befehls weiterhin eine manuelle Verbindung herstellen. | | ide.openDiffOnEdit | boolean | true | Öffnen Von Dateibearbeitungs-Diffs in der verbundenen IDE zur Genehmigung. Wenn false, werden Dateiänderungsfreigaben nur im Terminal angezeigt. | | includeCoAuthoredBy | boolean | true | Fügen Sie einen Co-authored-by-Trailer zu git-Commits hinzu, die vom Agenten vorgenommen wurden. | | logLevel | "none" | "error" | "warning" | "info" | "debug" | "all" | "default" | "default" | Ausführliche Protokollierung. | | mergeStrategy | "rebase" | "merge" | — | Konfliktlösungsstrategie für /pr fix conflicts. Bei Festlegung auf "rebase", werden Konflikte durch erneutes Basieren auf der Basisverzweigung aufgelöst. Wenn auf "merge" eingestellt, wird der Basiszweig in den Feature-Zweig zusammengeführt. Wenn sie nicht konfiguriert ist, wird ein Auswahldialogfeld angezeigt. | | model | string | variiert | Zu verwendende KI-Modell. Legen Sie "auto" fest, um Copilot das beste verfügbare Modell automatisch auswählen zu lassen. Verwaltet durch den /model Slash-Befehl. | | mouse | boolean | true | Aktivieren Sie die Mausunterstützung im alternativen Bildschirmmodus. Kann auch mit --mouse oder --no-mouse. | | powershellFlags | string[] | ["-NoProfile", "-NoLogo"] | Flags, die beim Start an PowerShell (pwsh) übergeben werden. Nur Windows. | | renderMarkdown | boolean | true | Markdown in der Terminal-Ausgabe rendern. | | respectGitignore | boolean | true | Schließen Sie gitignored-Dateien aus der @ Datei-Erwähnungsauswahl aus. Wenn der Picker false Dateien enthält, die normalerweise von .gitignore ausgeschlossen sind. | | screenReader | boolean | false | Aktivieren Sie Bildschirmleser-Optimierungen. | | skillDirectories | string[] | [] | Zusätzliche Verzeichnisse für die Suche nach benutzerdefinierten Qualifikationsdefinitionen (zusätzlich zu ~/.copilot/skills/). | | statusLine | object | — | Benutzerdefinierte Statuszeilenanzeige. type: muss sein "command". command: Pfad zu einem ausführbaren Skript, das Sitzungs-JSON für Stdin empfängt und gibt Statusinhalte auf Stdout aus. padding: Optionale Anzahl von Leerzeichen für den linken Abstand. | | storeTokenPlaintext | boolean | false | Speichern Sie Authentifizierungstoken in Nur-Text in der Konfigurationsdatei, wenn kein Systemschlüsselbund verfügbar ist. | | stream | boolean | true | Streamingantworten aktivieren. | | streamerMode | boolean | false | Blenden Sie Vorschaumodellnamen und Kontingentdetails aus. Hilfreich beim Präsentieren von Copilot CLI oder bei der Bildschirmfreigabe. | | theme | "auto" | "dark" | "light" | "auto" | Terminalfarbthema. "auto" erkennt den Terminalhintergrund und wählt entsprechend aus. | | updateTerminalTitle | boolean | true | Zeigen Sie die aktuelle Absicht auf der Terminalregisterkarte oder im Fenstertitel an. |

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

Repositoryeinstellungen gelten für alle Personen, die im Repository arbeiten. Sie werden im Repository gespeichert und mit Kollaboratoren geteilt.

Nur die in der folgenden Tabelle aufgeführten Schlüssel werden auf Repositoryebene unterstützt. Alle anderen Schlüssel , einschließlich der Schlüssel, die in der Benutzerkonfigurationsdatei gültig sind, werden automatisch ignoriert.

SchlüsselTypZusammenführungsverhaltenBeschreibung
companyAnnouncementsstring[]Ersetzt – Repository hat VorrangNachrichten, die beim Start zufällig angezeigt werden.
disableAllHooksbooleanRepository hat VorrangAlle Hooks deaktivieren.
enabledPluginsRecord<string, boolean>Zusammengeführt – Repository setzt benutzer für denselben Schlüssel außer KraftAutomatische Installation des deklarativen Plug-Ins.
extraKnownMarketplacesRecord<string, {...}>Zusammengeführt – Repository setzt benutzer für denselben Schlüssel außer KraftPlug-In-Marketplaces, die in diesem Repository verfügbar sind.
hooksobjectVerkettet: Repository-Hooks werden nach Benutzer-Hooks ausgeführtHook-Definitionen, die auf dieses Repository beschränkt sind. Siehe Verwenden von Hooks mit GitHub Copilot-CLI.
mergeStrategy
          `"rebase"`
          \|
          `"merge"`
         | Repository hat Vorrang | Konfliktlösungsstrategie für `/pr fix conflicts`. |

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 sollen. Fügen Sie diese Datei zu .gitignore.

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

Weiterführende Lektüre