Copilot CLI reference - Config files
Copilot CLI config files and locations
Copilot CLI documents 49 config files, including ~/.copilot, ~/.copilot/settings.json and ~/.copilot/config.json. These are the files and directories Copilot CLI reads its configuration from. Each row gives the docs' description, accepted values and an example where one is documented.
Last verified 5 official pagesFull Copilot CLI reference
| Path | Description | Example |
|---|---|---|
~/.copilot | Directory where the CLI stores configuration, session history, logs, and customizations. Relocate with COPILOT_HOME. Docs: ~/.copilot | -no example |
~/.copilot/settings.json | Primary user configuration file (JSONC) with global defaults for all repositories. Invalid or unknown keys are listed in the /settings Problems tab; symlinked files are written through. Docs: ~/.copilot/settings.json | -no example |
~/.copilot/config.json | Automatically managed application state (authentication, installed plugins, trusted folders). User settings left here are ignored. Docs: ~/.copilot/config.json | -no example |
~/.copilot/copilot-instructions.md | Personal custom instructions applied to all sessions. Docs: ~/.copilot/copilot-instructions.md | -no example |
~/.copilot/instructions/ | Additional personal *.instructions.md files loaded alongside copilot-instructions.md for all sessions. Docs: ~/.copilot/instructions/ | -no example |
~/.copilot/mcp-config.json | User-level MCP server definitions (mcpServers key), available in all sessions; lowest priority among MCP sources. Docs: ~/.copilot/mcp-config.json | -no example |
~/.copilot/lsp-config.json | User-level LSP server definitions under an lspServers key; manage with /lsp or edit directly. Docs: ~/.copilot/lsp-config.json | -no example |
~/.copilot/providers.json | User-level BYOK provider and model registry with providers and models keys; overridden in location by COPILOT_PROVIDERS_CONFIG. Docs: ~/.copilot/providers.json | -no example |
~/.copilot/agents/ | Personal custom agent definitions (.agent.md files); highest priority custom agent location. Docs: ~/.copilot/agents/ | -no example |
~/.copilot/skills/ | Personal skills, each in a subdirectory with a SKILL.md file; project skills of the same name take precedence. Docs: ~/.copilot/skills/ | -no example |
~/.copilot/hooks/ | User-level hook configuration *.json files applied to all sessions ($COPILOT_HOME/hooks/ when set). Docs: ~/.copilot/hooks/ | -no example |
~/.copilot/extensions/ | User-level extension files available across sessions. Docs: ~/.copilot/extensions/ | -no example |
~/.copilot/permissions-config.json | Saved tool and directory approvals keyed by absolute location path (locations.<key>.tool_approvals and allowed_directories). Does not support deny, ask, or URL rules. Docs: ~/.copilot/permissions-config.json | -no example |
~/.copilot/session-state/ | Session history by session ID (events.jsonl plus plans, checkpoints, tracked files); enables --resume and --continue. Docs: ~/.copilot/session-state/ | -no example |
~/.copilot/command-history-state/ | Command history used for Ctrl+R reverse search and history navigation; managed automatically. Docs: ~/.copilot/command-history-state/ | -no example |
~/.copilot/session-store.db | SQLite database for cross-session data such as checkpoint indexing and search; rebuild with /chronicle reindex. Docs: ~/.copilot/session-store.db | -no example |
~/.copilot/logs/ | Session log files named process-{timestamp}-{pid}.log, plus extension logs under logs/extensions/. Docs: ~/.copilot/logs/ | -no example |
~/.copilot/installed-plugins/ | Installed plugin files: installed-plugins/{marketplace-name}/{plugin-name}/ for marketplace installs and installed-plugins/_direct/ for direct installs. Docs: ~/.copilot/installed-plugins/ | -no example |
~/.copilot/plugin-data/ | Persistent data for installed plugins, managed by the plugins themselves. Docs: ~/.copilot/plugin-data/ | -no example |
~/.copilot/ide/ | Lock files and state for IDE integrations; managed automatically. Docs: ~/.copilot/ide/ | -no example |
~/.copilot/mcp-oauth-config/ | MCP OAuth token, registration, and PKCE fallback files when keychain storage is unavailable. Docs: ~/.copilot/mcp-oauth-config/ | -no example |
~/.copilot/mcp-secrets/ | Fallback storage and index for MCP secret placeholders when keychain storage is unavailable. Docs: ~/.copilot/mcp-secrets/ | -no example |
.github/copilot/settings.json | Repository settings committed and shared with collaborators; only a fixed set of keys is supported, each with a fail-closed merge policy. Docs: .github/copilot/settings.json | -no example |
.github/copilot/settings.local.json | Personal repository overrides that should not be committed (add to .gitignore); same schema as repository settings and takes precedence over them. Docs: .github/copilot/settings.local.json | -no example |
.claude/settings.json | Read (with .claude/settings.local.json) for the shared cross-tool subset of repository settings, such as companyAnnouncements, disableAllHooks, enabledPlugins, extraKnownMarketplaces, and hooks. Docs: .claude/settings.json | -no example |
.github/allowed_models.txt | Plain-text allowlist restricting which built-in models a repository can use: glob lines, # comments, and exactly one fallback: MODEL-ID. Does not filter BYOK models. Docs: .github/allowed_models.txt | fallback: gpt-6-astra |
.mcp.json | Workspace MCP server configuration loaded from the working directory up to the Git root when the folder is trusted. Migrate from .vscode/mcp.json by remapping servers to mcpServers. Docs: .mcp.json | jq '{mcpServers: .servers}' .vscode/mcp.json > .mcp.json |
.github/mcp.json | Repository MCP server configuration (medium trust), loaded like .mcp.json for trusted folders. Docs: .github/mcp.json | -no example |
.github/lsp.json | Project LSP server configuration applying to everyone in the repository; can disable a server with "disabled": true. Docs: .github/lsp.json | -no example |
.github/hooks/*.json | Repository-level hook configuration files (JSON, version 1). Docs: .github/hooks/*.json | -no example |
/etc/github-copilot/policy.d/*.json | Machine-wide policy hooks (Windows: C:\ProgramData\GitHub\Copilot\policy.d\*.json or HKLM\Software\Policies\GitHub\Copilot). Load first and cannot be disabled by disableAllHooks. Docs: /etc/github-copilot/policy.d/*.json | -no example |
managed-settings.json | File-based MDM managed settings: /etc/github-copilot/managed-settings.json (Linux), /Library/Application Support/GitHubCopilot/managed-settings.json (macOS), %ProgramFiles%\GitHubCopilot\managed-settings.json (Windows). Rejected on POSIX if a symlink, not root-owned, or world-writable. Docs: managed-settings.json | -no example |
com.github.copilot | macOS MDM plist domain for managed settings. Docs: com.github.copilot | -no example |
HKLM\SOFTWARE\Policies\GitHubCopilot | Windows MDM registry location for managed settings. Docs: HKLM\SOFTWARE\Policies\GitHubCopilot | -no example |
.github/copilot-instructions.md | Repository custom instructions read from the Git root and cwd; created or updated by copilot init and /init. Supports @path imports. Docs: .github/copilot-instructions.md | -no example |
AGENTS.md | Custom instructions file read from the Git root and cwd; supports @path imports. Docs: AGENTS.md | -no example |
CLAUDE.md | Custom instructions file read from the Git root and cwd; supports @path imports. Docs: CLAUDE.md | -no example |
GEMINI.md | Custom instructions file read from the Git root and cwd. Docs: GEMINI.md | -no example |
.github/instructions/**/*.instructions.md | Path-scoped instruction files read from the Git root and cwd; scope with paths or applyTo frontmatter. Docs: .github/instructions/**/*.instructions.md | -no example |
.claude/rules/**/*.md | Claude Code rule files read like .github/instructions files; scope with paths (or applyTo) frontmatter. Docs: .claude/rules/**/*.md | -no example |
.github/skills/ | Project skills location (highest priority), also inherited from parent directories in monorepos. Docs: .github/skills/ | -no example |
.agents/skills/ | Alternative project skills location. Docs: .agents/skills/ | -no example |
.claude/skills/ | Claude-compatible project skills location. Docs: .claude/skills/ | -no example |
~/.agents/skills/ | Personal agent skills shared across all projects. Docs: ~/.agents/skills/ | -no example |
.github/agents/ | Project custom agents, loaded from the cwd upward to the Git root (priority 2). Docs: .github/agents/ | -no example |
.claude/agents/ | Project custom agents, loaded from the cwd upward to the Git root after all .github/agents/ directories (priority 3). Docs: .claude/agents/ | -no example |
.claude/commands/ | Commands stored as individual .md files, an alternative skill format named after the file; lower priority than same-named skills. Docs: .claude/commands/ | -no example |
plugin.json | Plugin manifest. Agent Plugins plugins use plugin.json at the root; legacy plugins check .plugin/plugin.json, plugin.json, .github/plugin/plugin.json, .claude-plugin/plugin.json in order. Docs: plugin.json | -no example |
marketplace.json | Plugin marketplace manifest, checked as marketplace.json, .plugin/marketplace.json, .github/plugin/marketplace.json, .claude-plugin/marketplace.json in order; requires name, owner, plugins. Docs: marketplace.json | copilot plugin marketplace add /PATH/TO/my-marketplace |
The rest of the Copilot CLI reference
FAQ
How many config files does Copilot CLI have?
The official Copilot CLI docs list 49 config files, including ~/.copilot, ~/.copilot/settings.json and ~/.copilot/config.json. All of them are in the table above, in the docs' order.
What does ~/.copilot do in Copilot CLI?
Directory where the CLI stores configuration, session history, logs, and customizations. Relocate with COPILOT_HOME.
Where are Copilot CLI config files documented?
On 5 official docs pages at docs.github.com, last read on October 17, 2026. Every row in the table links the exact section it came from.
More on Copilot CLI
- Copilot CLI in the tools directoryWhat it is, who makes it and how it fits next to other coding agents.
- Copilot CLI errors and fixes12 error messages, quoted verbatim, with the documented fix for each.
- GitHub Copilot premium requests and usage limitsPlan and tier limits for this tool, copied from the official docs.
Use other models in Copilot CLI
Setup guides from the model-in-tool directory, each with the env vars and base URL from official docs.
Sources
Last verified . Names and examples are copied verbatim from the 5 official pages below, and every row above links the exact section it came from.
- docs.github.com/en/copilot/reference/copilot-cli-reference/cli-config-dir-reference28 items
- docs.github.com/en/copilot/reference/hooks-reference3 items
- docs.github.com/en/copilot/reference/copilot-cli-reference/cli-command-reference15 items
- docs.github.com/en/copilot/how-tos/copilot-cli/set-up-copilot-cli/add-lsp-servers1 item
- docs.github.com/en/copilot/reference/copilot-cli-reference/cli-plugin-reference2 items
Newsletter
Know when your tools change
One email per week. New coding agent releases, the flags and commands they add, and what they mean for how you work.