CLI do Copilot armazena sua configuração, histórico de sessão, logs e personalizações em um único diretório em seu computador. Por padrão, esse diretório é ~/.copilot (ou seja, $HOME/.copilot).
Este artigo descreve o conteúdo deste diretório e como você pode usá-los.
Visão geral do diretório
O ~/.copilot diretório contém os seguintes itens de nível superior.
| Caminho | Tipo | Descrição |
|---|---|---|
agents/ | Diretório | Definições de agente personalizado pessoal |
config.json | Arquivo | Estado do aplicativo gerenciado automaticamente (autenticação, plug-ins instalados e outros dados internos) |
copilot-instructions.md | Arquivo | Instruções personalizadas pessoais (aplicadas a todas as sessões) |
extensions/ | Diretório | Extensões pessoais carregadas pela CLI |
hooks/ | Diretório | Scripts de gancho no nível do usuário |
ide/ | Diretório | Estado de integração do IDE |
installed-plugins/ | Diretório | Arquivos de plug-in instalados |
instructions/ | Diretório | Arquivos pessoais adicionais *.instructions.md |
logs/ | Diretório | Arquivos de log de sessão |
lsp-config.json | Arquivo | Definições de servidor LSP no nível do usuário |
mcp-config.json | Arquivo | Definições de servidor MCP no nível do usuário |
mcp-oauth-config/ | Diretório | Armazenamento de contingência para token OAuth e registro do MCP |
mcp-secrets/ | Diretório | Armazenamento de fallback local e índice para espaços reservados secretos do MCP |
permissions-config.json | Arquivo | Permissões de ferramenta e diretório salvas por projeto |
plugin-data/ | Diretório | Dados persistentes para plug-ins instalados |
session-state/ | Diretório | Histórico de sessão e dados do workspace |
command-history-state/ | Diretório | Dados do histórico de comandos |
session-store.db | Arquivo | Banco de dados SQLite para dados entre sessões |
settings.json | Arquivo | Suas configurações pessoais |
skills/ | Diretório | Definições de habilidades personalizadas pessoais |
Observação
Nem todos esses itens aparecem imediatamente. Alguns são criados sob demanda na primeira vez que você usa um recurso específico— por exemplo, installed-plugins/ aparece somente depois de instalar seu primeiro plug-in.
Arquivos editáveis pelo usuário
Os arquivos a seguir foram projetados para serem editados diretamente por você ou gerenciados por meio de comandos da CLI.
settings.json
Este é o arquivo de configuração principal para CLI do Copilot. Em uma sessão, você pode usar o comando interativo /settings para alterar valores específicos ou executar /settings KEY VALUE para definir um único valor ou editar o arquivo diretamente em um editor de texto. O arquivo dá suporte a JSON com comentários (JSONC).
Observação
As configurações editáveis pelo usuário foram armazenadas originalmente em config.json. Eles foram transferidos para settings.json. Todas as configurações de usuário presentes na config.json inicialização são migradas automaticamente para settings.json.
Para obter a lista completa de configurações e como elas interagem com a configuração no nível do repositório, consulte configurações de arquivo mais adiante neste artigo.
Dica
Execute copilot help config em seu terminal para obter uma referência rápida.
copilot-instructions.md
Instruções personalizadas pessoais que se aplicam a todas as suas sessões, independentemente de em qual projeto você está trabalhando. Esse arquivo funciona da mesma maneira que um nível copilot-instructions.md de repositório, mas se aplica globalmente.
Para obter mais informações, consulte Adicionando instruções personalizadas do repositório para GitHub Copilot.
instructions/
Armazene aqui arquivos de instrução pessoal adicionais como arquivos *.instructions.md. Elas são carregadas junto com copilot-instructions.md e se aplicam a todas as suas sessões. Você pode organizar instruções por tópico, por exemplo, ~/.copilot/instructions/code-style.instructions.md.
mcp-config.json
Define os servidores MCP (Protocolo de Contexto de Modelo) disponíveis no nível do usuário. Esses servidores estão disponíveis em todas as suas sessões, independentemente de qual diretório de projeto você esteja. As configurações MCP de nível de projeto (em .mcp.json ou .github/mcp.json) têm precedência sobre definições no nível do usuário quando os nomes de servidor entram em conflito.
Para obter mais informações, consulte Adicionando servidores MCP para CLI do GitHub Copilot.
lsp-config.json
Define servidores LSP (Language Server Protocol) disponíveis no nível do usuário. Esses servidores fornecem inteligência de linguagem (diagnóstico, conclusões etc.) para o agente. Gerencie este arquivo usando o /lsp comando de barra, ou edite-o diretamente.
Para obter mais informações, consulte Adicionando servidores LSP para CLI do GitHub Copilot.
agents/
Armazene as definições de agente personalizado pessoal aqui como .agent.md arquivos. Os agentes colocados neste diretório estão disponíveis em todas as suas sessões. Agentes de nível de projeto (dentro de .github/agents/) têm precedência sobre agentes pessoais se compartilharem o mesmo nome.
Para obter mais informações, consulte Criando e usando agentes personalizados para CLI do GitHub Copilot.
skills/
Armazene as definições de habilidades personalizadas pessoais aqui. Cada habilidade reside em um subdiretório que contém um SKILL.md arquivo, por exemplo, ~/.copilot/skills/my-skill/SKILL.md. As habilidades pessoais estão disponíveis em todas as suas sessões. Habilidades de nível de projeto têm prioridade sobre habilidades pessoais caso compartilhem o mesmo nome.
Para obter mais informações, consulte Adicionando habilidades de agente para CLI do GitHub Copilot.
hooks/
Armazene os scripts de gancho no nível do usuário aqui. Esses ganchos se aplicam a todas as suas sessões. Você também pode definir ganchos em linha no arquivo de configuração do usuário (~/.copilot/settings.json) usando a chave hooks. Os ganchos no nível do repositório (in .github/hooks/) são carregados junto com ganchos no nível do usuário.
Para obter mais informações, consulte Usando ganchos com CLI do GitHub Copilot.
extensions/
Armazene arquivos de extensão no nível do usuário aqui. As extensões neste diretório estão disponíveis entre sessões.
Você pode criar arquivos neste diretório manualmente ou criar uma extensão e editar o arquivo gerado.
Arquivos gerenciados automaticamente
Os itens a seguir são gerenciados pela CLI. Você geralmente não deve editá-los manualmente.
config.json
Armazena o estado do aplicativo interno que é gerenciado automaticamente pela CLI, incluindo dados de autenticação, metadados de plug-in instalados e outras informações de runtime. Normalmente, não é necessário editar esse arquivo.
Observação
Versões anteriores de CLI do Copilot armazenavam tanto as configurações do usuário quanto o estado do aplicativo em config.json. As configurações editáveis pelo usuário agora estão localizadas em settings.json. Todas as configurações de usuário na config.json inicialização são migradas automaticamente para settings.json. Os campos de estado do aplicativo, como loggedInUsers, installedPlugins, firstLaunchAt, e staff, permanecem em config.json e não são migrados.
permissions-config.json
Armazena as suas decisões de permissão de ferramenta e diretório salvas, organizadas pelo local do projeto. Quando você aprova uma ferramenta ou concede acesso a um diretório para o local atual, a CLI registra a decisão aqui para que você não seja solicitado novamente no mesmo repositório ou diretório.
Observação
Se você quiser redefinir permissões para um projeto, poderá excluir a entrada relevante desse arquivo. No entanto, editar o arquivo enquanto uma sessão está em execução pode causar um comportamento inesperado. A CLI remove automaticamente as entradas cujo caminho de localização não existe mais no disco.
Local do arquivo
CLI do Copilot resolve o arquivo do diretório de configuração.
| Prioridade | Source | Arquivo usado |
|---|---|---|
| 1 | --config-dir=DIRECTORY | DIRECTORY/ |
| 2 | COPILOT_HOME | $COPILOT_HOME/ |
| 3 | Default | ~/ |
A --config-dir opção é uma opção herdada. Prefira COPILOT_HOME quando precisar alterar o diretório de configuração.
No Windows, o arquivo padrão normalmente é:
C:\Users\YOUR-USER\.copilot\permissions-config.json
Builds mais antigos usavam um arquivo sem extensão chamado permissions-config. Se permissions-config.json não existir, mas o arquivo sem extensão existir, a CLI ainda continuará usando o arquivo legado. Use permissions-config.json para novas edições.
Os locais anteriores de configuração baseados em XDG são migrados para ~/.copilot na inicialização quando COPILOT_HOME não está definido.
Chaves de localização
O objeto de nível locations superior é chaveado por um caminho absoluto.
- Para um repositório Git, use a raiz do Git como base para definir o escopo das permissões.
- As worktrees vinculadas apontam para a raiz do repositório principal, portanto compartilham permissões com a worktree principal.
- Os submódulos usam seu próprio diretório de trabalho.
- Para um diretório que não esteja em um repositório Git, use o diretório de trabalho atual normalizado.
A chave deve corresponder ao local em que CLI do Copilot está em execução. Se a chave não corresponder, as aprovações salvas não serão aplicadas.
A CLI carrega as aprovações do local correspondente quando uma sessão é iniciada e quando o diretório de trabalho ativo é alterado.
Schema
O arquivo deve conter um objeto JSON.
| Campo | Tipo | Obrigatório | Default | Valores permitidos | Descrição |
|---|---|---|---|---|---|
locations | Object | No | {} | Chaves de caminho absolutas | Mapa de chaves de localização para aprovações salvas. |
locations.<key> | Object | No | {} | Qualquer chave de localização absoluta | Aprovações salvas para um repositório ou diretório. |
locations.<key>.tool_approvals | Array | No | [] | Objetos de aprovação | Ferramentas aprovadas para esse local. |
locations.<key>.allowed_directories | Matriz de cadeias de caracteres | No | [] | Caminhos absolutos de diretório | Diretórios extras que a porta de caminho pode acessar para esse local. Cada diretório deve existir quando a CLI aplica a configuração. |
locations.<key>.tool_approvals[].kind | String | Sim | None | ||
commands, read, write, mcp, , mcp-sampling, memory, custom-tool, , extension-management``extension-permission-access | Seleciona o tipo de aprovação. | ||||
command | Matriz de cadeias de caracteres | Sim, para commands | None | Identificadores de comando | Identificadores de comando do Shell a serem aprovados. |
serverName | String | Sim, para mcp e mcp-sampling | None | Nome do servidor MCP | Servidor MCP para aprovação. |
toolName | String ou null | Sim, para mcp | None | Nome da ferramenta MCP ou null | Ferramenta MCP para aprovação. Use null para aprovar todas as ferramentas no servidor. |
toolName | String | Sim, para custom-tool | None | Nome da ferramenta personalizada | Ferramenta personalizada para aprovar pelo nome exato. |
operation | String | Não, para extension-management | Omitido | Nome da operação de extensão | Operação de gerenciamento de extensões a ser aprovada. Deixe este campo em branco para aprovar todas as operações de gerenciamento de extensões. |
extensionName | String | Sim, para extension-permission-access | None | Nome da extensão | Extensão cujo acesso a recursos fechados por permissão é aprovado. |
permissions-config.json não dá suporte a regras de negação, regras de "pergunta", modos padrão, regras de URL, filtragem de ferramentas ou política compartilhada local do repositório. Para esses comportamentos, use opções de linha de comando, como --deny-tool, --available-tools, , --excluded-toolse --allow-url``--deny-url. As regras de URL salvas são armazenadas em settings.json, não em permissions-config.json.
Campos desconhecidos não fazem parte do esquema. A CLI pode ignorá-las, e operações de gravação subsequentes podem removê-las.
Tipos de aprovação
Cada item em tool_approvals deve ser um dos seguintes objetos.
kind | Campos obrigatórios | Campos opcionais | Meaning |
|---|---|---|---|
commands | command | None | Aprova identificadores de comandos do shell correspondentes. |
read | None | None | Aprova solicitações de leitura da ferramenta. As sessões interativas da CLI já aprovam leituras automaticamente, portanto, isso geralmente é desnecessário. |
write | None | None | Aprova solicitações de ferramenta de criação e modificação de arquivo. Uma solicitação de caminho ainda pode ser aplicada a caminhos fora dos diretórios permitidos. |
mcp | |||
serverName, toolName | None | Aprova uma ferramenta MCP ou todas as ferramentas no servidor quando toolName é null. | |
mcp-sampling | serverName | None | Aprova solicitações de amostragem do MCP para um servidor. |
memory | None | None | Aprova solicitações de gravação de memória e de voto. |
custom-tool | toolName | None | Aprova uma ferramenta personalizada pelo nome exato. |
extension-management | None | operation | Aprova o gerenciamento de extensões. Se operation for omitido, todas as operações de gerenciamento de extensão corresponderão. |
extension-permission-access | extensionName | None | Aprova o acesso de uma extensão a recursos fechados por permissão. |
Para aprovações do MCP, serverName deve corresponder exatamente ao nome do servidor MCP configurado. Use o nome original do servidor da sua configuração do MCP, não um prefixo de nome de ferramenta sanitizado.
Correspondência de comandos do Shell
commandIdentifiers correspondem aos identificadores de comando extraídos de uma solicitação de shell. A correspondência é exata, exceto pelo :* sufixo.
| Pattern | Partidas | Não corresponde |
|---|---|---|
git status | git status | git status --short |
git:* | ||
git | ||
git status | ||
git push | ||
gitea | ||
gh pr:* | ||
gh pr | ||
gh pr view | ||
gh pr create | ||
gh repo view |
O sufixo :* não é um padrão glob genérico. Ele corresponde ao tronco exato ou ao tronco seguido por um espaço e mais texto.
Correspondência de diretórios
allowed_directories as entradas permitem CLI do Copilot acessar caminhos dentro desses diretórios sem um prompt de caminho separado. Eles não aprovam a operação da ferramenta em si. Por exemplo, editar um arquivo em um diretório permitido ainda pode exigir uma write aprovação.
Cada allowed_directories entrada deve ser um diretório absoluto, não vazio e acessível. A CLI resolve os symlinks antes de comparar caminhos, bloqueia caminhos de rede UNC, a menos que sejam caminhos locais de comprimento estendido, compara caminhos sem diferenciar maiúsculas de minúsculas em Windows e compara caminhos de forma sensível a maiúsculas de minúsculas em outras plataformas. Se uma entrada não puder ser aplicada, a CLI registrará um aviso e ignorará essa entrada.
Exemplos
Permitir todos os subcomandos git e acessar um diretório local extra:
{
"locations": {
"C:\\src\\my-repo": {
"tool_approvals": [
{
"kind": "commands",
"commandIdentifiers": ["git:*"]
}
],
"allowed_directories": ["C:\\src\\shared-docs"]
}
}
}
{
"locations": {
"C:\\src\\my-repo": {
"tool_approvals": [
{
"kind": "commands",
"commandIdentifiers": ["git:*"]
}
],
"allowed_directories": ["C:\\src\\shared-docs"]
}
}
}
Permitir comandos selecionados, enquanto ainda solicita confirmação antes de gravações em arquivos:
{
"locations": {
"/Users/YOUR-USER/src/my-repo": {
"tool_approvals": [
{
"kind": "commands",
"commandIdentifiers": [
"git status",
"git diff",
"git log",
"npm test",
"npm run build"
]
}
]
}
}
}
{
"locations": {
"/Users/YOUR-USER/src/my-repo": {
"tool_approvals": [
{
"kind": "commands",
"commandIdentifiers": [
"git status",
"git diff",
"git log",
"npm test",
"npm run build"
]
}
]
}
}
}
Aprovar gravações de arquivo e um servidor MCP para um repositório:
{
"locations": {
"/home/YOUR-USER/src/my-repo": {
"tool_approvals": [
{
"kind": "write"
},
{
"kind": "mcp",
"serverName": "github-mcp-server",
"toolName": null
}
]
}
}
}
{
"locations": {
"/home/YOUR-USER/src/my-repo": {
"tool_approvals": [
{
"kind": "write"
},
{
"kind": "mcp",
"serverName": "github-mcp-server",
"toolName": null
}
]
}
}
}
Aprove uma ferramenta MCP, gravações na memória e acesso às permissões da extensão:
{
"locations": {
"C:\\src\\my-repo": {
"tool_approvals": [
{
"kind": "mcp",
"serverName": "github-mcp-server",
"toolName": "search_code"
},
{
"kind": "memory"
},
{
"kind": "extension-permission-access",
"extensionName": "my-extension"
}
]
}
}
}
{
"locations": {
"C:\\src\\my-repo": {
"tool_approvals": [
{
"kind": "mcp",
"serverName": "github-mcp-server",
"toolName": "search_code"
},
{
"kind": "memory"
},
{
"kind": "extension-permission-access",
"extensionName": "my-extension"
}
]
}
}
}
session-state/
Contém dados de histórico de sessão, organizados por ID de sessão em subdiretórios. Cada diretório de sessão armazena um log de eventos (events.jsonl) e artefatos de workspace (planos, pontos de verificação, arquivos rastreados). Esses dados permitem que a sessão seja retomada (--resume ou --continue).
Excluir arquivos desse diretório remove apenas cópias locais. Se você tiver sincronizado sessões com sua GitHub conta, os dados sincronizados serão armazenados separadamente e não serão afetados pela exclusão de arquivo local. Você pode excluir ou ocultar sessões sincronizadas de GitHub.com. Para obter mais informações, consulte Sobre os dados de sessão CLI do GitHub Copilot.
command-history-state/
Contém dados de histórico de comandos usados para pesquisa reversa (Ctrl+R) e navegação de histórico na interface interativa. Esse diretório é gerenciado automaticamente e não deve ser editado.
session-store.db
Um banco de dados SQLite usado pela CLI para armazenamento de dados entre sessões, como indexação e buscas de checkpoints. Esse arquivo é gerenciado automaticamente e não deve ser editado.
Se você excluir esse arquivo, poderá recompilá-lo usando o /chronicle reindex comando. A reindexação também sincroniza seus dados de sessão com sua conta.
logs/
Contém arquivos de log para sessões da CLI. Cada sessão cria um arquivo de log chamado process-{timestamp}-{pid}.log. Esses arquivos são úteis na depuração de problemas.
A CLI também pode criar logs específicos de extensão em logs/extensions/.
Isso é separado do ~/.copilot/extensions/, que armazena o código de extensão criado pelo usuário.
Dica
Para localizar o arquivo de log da sessão atual, insira /session em uma sessão interativa. A saída inclui o caminho completo para o arquivo de log, juntamente com outros detalhes da sessão, como a ID da sessão, a duração e o diretório de trabalho.
installed-plugins/
Contém os arquivos para plug-ins instalados. Os plug-ins instalados de um marketplace são armazenados em installed-plugins/{marketplace-name}/{plugin-name}/. Os plug-ins instalados diretamente são armazenados em installed-plugins/_direct/. Gerencie plug-ins usando os copilot plugin comandos em vez de editar esse diretório diretamente.
Para obter mais informações, consulte referência de plugin da CLI GitHub Copilot.
plugin-data/
Contém dados persistentes para plug-ins instalados, organizados pelo marketplace e pelo nome do plug-in. Esses dados são gerenciados pelos próprios plug-ins e não devem ser editados manualmente.
ide/
Contém arquivos de bloqueio e estado para integrações de IDE (por exemplo, quando CLI do Copilot se conecta a Visual Studio Code). Esse diretório é gerenciado automaticamente.
mcp-oauth-config/
Contém arquivos de contingência do token OAuth do MCP, de registro e de PKCE quando o armazenamento com suporte do chaveiro não está disponível. Esse diretório é gerenciado automaticamente.
mcp-secrets/
Inclui armazenamento de arquivos de contingência e um índice para marcadores de posição de segredos do MCP quando o armazenamento baseado em chaveiro não está disponível. Esse diretório é gerenciado automaticamente.
Alterando o local do diretório de configuração
Para substituir o local padrão ~/.copilot , defina a COPILOT_HOME variável de ambiente para o caminho do diretório que você deseja usar.
export COPILOT_HOME=/path/to/my/copilot-config
export COPILOT_HOME=/path/to/my/copilot-config
Coisas que devem ser observadas
-
COPILOT_HOMEsubstitui todo o caminho~/.copilot. O valor definido deve ser o caminho completo para o diretório que você deseja usar para os arquivos de configuração e subdiretórios. -
Alterar o diretório significa que a configuração existente, o histórico de sessão, os plug-ins instalados e as permissões salvas não serão encontrados no novo local. Copie ou mova o conteúdo de
~/.copilotpara o novo local, para preservá-los. -
O diretório de cache (usado para caches do marketplace, pacotes de atualização automática e outros dados efêmeros) segue as convenções da plataforma e não é afetado por
COPILOT_HOME. Ele está localizado em:- macOS:
~/Library/Caches/copilot - Linux:
$XDG_CACHE_HOME/copilotou~/.cache/copilot - Windows:
%LOCALAPPDATA%/copilot
Para substituir o diretório de cache separadamente, defina
COPILOT_CACHE_HOME. - macOS:
O que você pode excluir com segurança
| Item | É seguro excluir? | Efeito |
|---|---|---|
agents/ | ||
skills/ | ||
hooks/ | ||
| Não recomendado | Você perderá suas personalizações pessoais. Faça backup primeiro. | |
config.json | Com cuidado | Redefine o estado do aplicativo, incluindo a autenticação. Você precisará se autenticar novamente e a CLI detectará novamente o estado interno na próxima inicialização. |
copilot-instructions.md, instructions/ | Não recomendado | Você perderá suas instruções personalizadas pessoais. Faça backup primeiro. |
extensions/ | Não recomendado | Você perderá suas extensões pessoais. Faça backup primeiro. |
installed-plugins/ | Não recomendado | Em vez disso, use copilot plugin uninstall para garantir que os metadados de plug-in config.json permaneçam precisos. |
logs/ | Sim | Os arquivos de log são recriados a cada sessão. Excluí-los não tem nenhum impacto funcional. |
lsp-config.json | Não recomendado | Você perderá suas definições de servidor LSP no nível do usuário. Faça backup primeiro. |
mcp-config.json | Não recomendado | Você perderá suas definições de servidor MCP no nível do usuário. Faça backup primeiro. |
mcp-oauth-config/ | Com cuidado | Limpa o estado local de reserva do OAuth do MCP. Talvez seja necessário autenticar novamente os servidores MCP. |
mcp-secrets/ | Com cuidado | Limpa o estado de contingência do segredo local do MCP e os mapeamentos. Os servidores MCP com backup secreto podem precisar de reconfiguração. |
permissions-config.json | Com cuidado | Redefine todas as permissões salvas. A CLI solicitará novamente as aprovações de ferramentas e diretórios. |
plugin-data/ | Sim | Os dados persistentes de plug-in são recriados conforme necessário. |
session-state/ | Com cuidado | A exclusão remove o histórico da sessão. Você não poderá mais retomar as sessões anteriores. |
command-history-state/ | Com cuidado | Excluir remove o histórico de comandos. Você não poderá mais pesquisar comandos anteriores com Ctrl+R. |
session-store.db | Com cuidado | A exclusão remove dados entre sessões. O arquivo é recriado automaticamente. |
settings.json | Com cuidado | Redefine todas as preferências do usuário para padrões. Você precisará reconfigurar suas configurações. |
Configurações do arquivo de configuração
As configurações são aplicadas nesta ordem (as posteriores substituem as anteriores):
- Padrões integrados
- Configurações gerenciadas por MDM (gerenciamento de dispositivos móveis)
- Configurações do usuário (
~/.copilot/settings.json) - Configurações do repositório (
.github/copilot/settings.json) - Configurações locais (
.github/copilot/settings.local.json) - Variáveis de ambiente
- Sinalizadores de linha de comando
As configurações gerenciadas por MDM são carregadas durante a inicialização e mescladas com as configurações do usuário como linha de base da política. Para a maioria das chaves, as configurações do usuário podem substituir essa linha de base. Para permissions.disableBypassPermissionsMode, um valor MDM de "disable" sempre prevalece. Para obter mais informações, consulte as configurações gerenciadas do MDM.
| Scope | Localidade | Propósito |
|---|---|---|
| Usuário | ~/ | Padrões globais para todos os repositórios. Use a variável de COPILOT_HOME ambiente para especificar um caminho alternativo. |
| Repositório | .github/ | Configuração do repositório compartilhado (confirmada no repositório). |
| Local | .github/ | Substituições pessoais (adicione-as a .gitignore). |
A interface de linha de comando também lê .claude/settings.json e .claude/settings.local.json para o subconjunto compartilhado entre ferramentas das configurações do repositório (como companyAnnouncements, disableAllHooks, enabledPlugins, extraKnownMarketplaces e hooks).
Configurações do usuário (~/.copilot/settings.json)
Essas configurações se aplicam em todas as suas sessões e repositórios. Você pode usar o /settings comando barra para executar uma caixa de diálogo interativa ou usar comandos de barra específicos para atualizar valores individuais ou editar esse arquivo diretamente.
| Chave | Tipo | Default | Descrição |
|---|---|---|---|
allowedUrls | string[] | [] | URLs ou domínios permitidos sem solicitação. Dá suporte a URLs exatas, padrões de domínio e subdomínios curinga (por exemplo, "*.github.com"). |
askUser | boolean | true | Permitir que o agente faça perguntas esclarecedoras. Defina para false para operação totalmente autônoma. Também pode ser definido com --no-ask-user. |
autoUpdate | boolean | true | Baixe automaticamente as atualizações da CLI. |
auto | |||
"stable" | |||
| | | |||
"prerelease" | |||
"stable" | Atualizar canal. Defina para "prerelease" receber atualizações de pré-lançamento. | ||
banner | |||
"always" | |||
| | | |||
"once" | |||
| | | |||
"never" | |||
"once" | Frequência de exibição de banner animado. | ||
bashEnv | boolean | false | Habilitar o suporte de BASH_ENV para shells bash. Também pode ser definido com --bash-env ou --no-bash-env. |
beep | boolean | true | Reproduza um bipe audível quando a atenção é necessária. |
beepOnSchedule | boolean | true | Emita um sinal sonoro quando uma execução agendada /every ou /after terminar. |
built | boolean | true | Ative o subagente rubber duck que fornece feedback adversarial sobre os planos do agente. |
built | boolean | false | Inclua solicitações proativas para invocação automática de pato de borracha. Defina como true para ativar lembretes adicionais do tipo “rubber duck” durante os turnos do agente. |
colorMode | |||
"default" | |||
| | | |||
"github" | |||
| | | |||
"dim" | |||
| | | |||
"high-contrast" | |||
| | | |||
"colorblind" | |||
"default" | Modo de contraste de cores. Gerenciado pelos comandos de barra /settings e /theme. | ||
compactPaste | boolean | true | Recolher colagens grandes (mais de 10 linhas) em tokens compactos. |
company | string[] | [] | Mensagens personalizadas mostradas aleatoriamente na inicialização. Uma mensagem é selecionada aleatoriamente sempre que a CLI é iniciada. Útil para anúncios ou lembretes da equipe. |
continue | boolean | false | Alterne automaticamente para o modo automático quando limitado por taxa. Quando true, os erros de limite de taxa elegíveis disparam uma troca automática para o modo automático e tentam novamente. Não se aplica a limites de taxa globais ou provedores BYOK. |
copyOnSelect | boolean | ||
true (macOS), false (outros) | Copie automaticamente o texto selecionado pelo mouse para a área de transferência do sistema. | ||
custom | boolean | false | Use apenas agentes personalizados locais (nenhuma organização remota ou agentes empresariais). |
deniedUrls | string[] | [] | URLs ou domínios que sempre são negados. As regras de negação têm precedência sobre as regras de permissão. |
disableAllHooks | boolean | false | Desabilite todos os ganchos (nível de repositório e nível de usuário). |
disabled | string[] | [] | Nomes de servidor MCP para desabilitar. Os servidores listados são configurados, mas não iniciados. |
disabledSkills | string[] | [] | Nomes de habilidade para desabilitar. As habilidades listadas foram identificadas, mas não carregadas. |
dynamicRetrieval | { skills?: boolean } | remover definição | Controle por categoria da recuperação dinâmica de instruções baseada em embeddings. Defina skills como false para desabilitar a recuperação para habilidades. Também pode ser definido com --dynamic-retrieval (por exemplo, --dynamic-retrieval skills=off); o uso do sinalizador persiste a preferência para esse arquivo. |
effortLevel | string | "medium" | Nível de esforço de raciocínio para o pensamento estendido: "low", "medium", ou "high"``"xhigh". Níveis mais altos usam mais computação. |
enabledMcpServers | string[] | [] | Habilite servidores MCP internos que estão desabilitados por padrão (por exemplo, "computer-use"). |
enabledPlugins | Record<string, boolean> | {} | Instalação automática do plug-in declarativo. As chaves são especificações de plug-in; os valores são true (habilitados) ou false (desabilitados). |
experimental | boolean | false | Habilitar recursos experimentais. Também pode ser habilitado com a opção --experimental de linha de comando ou o comando de barra /experimental. |
extra | Record<string, {...}> | {} | Marketplaces de plug-in adicionais. Cada chave é um nome do marketplace; o valor especifica a origem ("directory"ou "git"``"github"). |
footer | object | — | Controla quais itens aparecem na linha de status. As subchaves incluem showModelEffort, showDirectory, showBranch, showContextWindow, showQuota, showAgent, showAiUsed, showCodeChanges, showUsername, showSandbox, showYolo e showCustom (todas boolean). Gerenciado pelo comando de barra /statusline. |
hooks | object | — | Definições inline de ganchos no nível do usuário, chaveadas pelo nome do evento. Usa o mesmo esquema que os arquivos .github/. Consulte Usando ganchos com CLI do GitHub Copilot. |
ide.autoConnect | boolean | true | Conecte-se automaticamente a um workspace do IDE na inicialização. Quando false, você ainda pode se conectar manualmente usando o comando /ide. |
ide.open | boolean | true | Abra as diferenças de edição nos arquivos no IDE conectado para aprovação. Quando false, as aprovações de edição de arquivo são mostradas somente no terminal. |
include | boolean | true | Adicione um trailer Co-authored-by às confirmações do git feitas pelo agente. |
keepAlive | |||
"on" | |||
| | | |||
"off" | |||
| | | |||
"busy" | |||
"off" | Modo keep-alive aplicado na inicialização da CLI. | ||
"on" sempre impede que o sistema entre em modo de suspensão, "busy" impede a suspensão somente enquanto o agente está em execução, e "off" desabilita a funcionalidade de manter ativo. Também configurável com o comando de barra /keep-alive. | |||
logLevel | |||
"none" | |||
| | | |||
"error" | |||
| | | |||
"warning" | |||
| | | |||
"info" | |||
| | | |||
"debug" | |||
| | | |||
"all" | |||
| | | |||
"default" | |||
"default" | Verbosidade de registro em log. | ||
mergeStrategy | |||
"rebase" | |||
| | | |||
"merge" | |||
| — | Estratégia de resolução de conflitos para /pr fix conflicts. Quando definido como "rebase", os conflitos são resolvidos fazendo o rebasamento para a ramificação de base. Quando definido como "merge", o ramo base é mesclado no ramo de funcionalidade. Se não estiver configurado, uma caixa de diálogo de seleção será mostrada. | ||
model | string | varies | Modelo de IA a ser usado. Defina para "auto" para que Copilot selecione automaticamente o melhor modelo disponível. Gerenciado pelo comando de barra /model. |
mouse | boolean | true | Habilite o suporte ao mouse. Também pode ser definido com --mouse ou --no-mouse. |
permissions.disable | string | — | Quando definido como "disable", todos os sinalizadores de permissão (--allow-all-tools, , --allow-all-paths, --allow-all-urls, --allow-all, ) --yolosão suprimidos na inicialização e não podem ser usados para conceder permissões elevadas. |
powershellFlags | string[] | ["-NoProfile", "-NoLogo"] | Sinalizadores passados para o PowerShell na inicialização. Em Windows, a CLI prefere o PowerShell 7+ (pwsh) e volta para Windows PowerShell (powershell.exe) quando pwsh não está disponível. Apenas para Windows. |
proxy | string | remover definição | Nome principal de serviço (SPN) para autenticação de proxy Kerberos/Negotiate, substituindo o valor derivado HTTP/<proxy-host>. |
proxyUrl | string | remover definição | URL de proxy para solicitações HTTP(S) (por exemplo, http:/). Substituído pelas HTTP_PROXY variáveis de ambiente ou HTTPS_PROXY (qualquer maiúscula). |
remote | |||
"on" | |||
| | | |||
"off" | |||
"on" | Controla a sincronização de sessão e o acesso remoto. Defina para "off" manter apenas os dados de sessão locais e desabilitar o controle remoto. Também pode ser definido com --remote ou --no-remote. | ||
renderMarkdown | boolean | true | Renderizar Markdown na saída do terminal. |
remoteExport | boolean | true | Exporte sessões remotamente quando a sincronização de sessão estiver disponível. Defina como false para desativar a exportação remota por padrão. A configuração remoteSessions, quando definida como true, ou o sinalizador --remote, ainda habilita a exportação e o roteamento, independentemente dessa configuração. |
respectGitignore | boolean | true | Exclua os arquivos gitignored do seletor de menções de arquivos @. Quando false, o seletor inclui arquivos normalmente excluídos por .gitignore. |
screenReader | boolean | false | Habilitar otimizações de leitor de tela. |
scrollbar | boolean | true | Mostrar a barra de rolagem em exibições roláveis. Defina para false para ocultá-lo e usar a largura completa do terminal. |
showTipsOnStartup | boolean | true | Mostrar uma dica de comando aleatória quando a CLI for iniciada. |
skillDirectories | string[] | [] | Diretórios adicionais para pesquisar definições de habilidade personalizadas (além de ~/). |
statusLine | object | — | Exibição da linha de status personalizada. |
type: deve ser "command". | |||
command: caminho para um script executável que recebe JSON de sessão no stdin e imprime o conteúdo de status para o stdout. | |||
padding: quantidade opcional de espaços de preenchimento à esquerda. | |||
store | boolean | false | Permitir que os tokens de autenticação sejam armazenados em texto config.json sem formatação quando nenhum conjunto de chaves do sistema estiver disponível. |
stream | boolean | true | Habilitar respostas de streaming. |
streamerMode | boolean | false | Ocultar os nomes do modelo de pré-visualização e os detalhes da cota. Útil ao demonstrar CLI do Copilot ou ao compartilhar a tela. |
subagents.agents | object | {} | Configuração de modelo por agente, com chave pelo nome do agente. Cada valor é um objeto com campos opcionais model (cadeia de caracteres), effortLevel (cadeia de caracteres) e contextTier ("default", "long_context"ou "inherit") . Defina qualquer campo como "inherit" para usar o valor da sessão pai no momento do envio. Use o /subagents comando barra para definir essas configurações interativamente. |
subagents.disabled | string[] | [] | Nomes de agente para impedir a expedição. Somente o rubber-duck agente não pode ser desabilitado por meio dessa configuração. Todos os outros agentes internos , incluindo explore, task, code-review, general-purposee research``security-review- podem ser desabilitados. |
tabs.enabled | boolean | true | Mostrar a barra de abas da tela inicial. Defina como false para ocultá-lo completamente. |
tabs.hide | string[] | [] | Identificadores de tabulação a serem ocultados. Valores aceitos: "copilot", "agents", "issues", "pull-requests", "gists" (correspondência sem diferenciar maiúsculas de minúsculas). |
tabs.sort | string[] | [] | Ordem de exibição das abas. As guias não listadas mantêm sua ordem relativa padrão após as listadas. Identificadores desconhecidos são ignorados. |
terminalProgress | boolean | true | Emita indicadores de progresso do terminal OSC 9;4 enquanto o agente está em execução. Os terminais com suporte incluem Terminal do Windows, iTerm2, Ghostty e ConEmu. |
theme | |||
"auto" | |||
| | | |||
"dark" | |||
| | | |||
"light" | |||
"auto" | Tema de cor do terminal. | ||
"auto" detecta a tela de fundo do terminal e escolhe adequadamente. | |||
toolSearch | boolean | dependente do modelo e da funcionalidade | Controla a busca de ferramentas (carregamento adiado de ferramentas). Defina toolSearch: false para desativar a busca de ferramentas. |
update | boolean | true | Mostrar a intenção atual na guia do terminal ou no título da janela. |
Configurações do repositório (.github/copilot/settings.json)
As configurações do repositório se aplicam a todos que trabalham no repositório. Eles são comprometidos com o repositório e compartilhados com colaboradores.
Observação
As chaves relacionadas ao plug-in no arquivo de configuração do repositório (enabledPlugins e extraKnownMarketplaces) também são lidas por agente de nuvem Copilot, não apenas CLI do Copilot. Isso permite habilitar os mesmos plug-ins para ambos os clientes de um único arquivo. Para obter mais informações sobre plug-ins, consulte Sobre GitHub Copilot plug-ins.
Somente as chaves listadas na tabela a seguir têm suporte no nível do repositório. Todas as outras chaves, incluindo chaves válidas no arquivo de configuração do usuário, são ignoradas silenciosamente.
| Chave | Tipo | Comportamento de mesclagem | Descrição |
|---|---|---|---|
company | string[] | Substituído — o repositório assume precedência | Mensagens mostradas aleatoriamente na inicialização. |
disableAllHooks | boolean | Repositório tem precedência | Desabilite todos os ganchos. |
enabledPlugins | Record<string, boolean> | Mesclado — o repositório tem prioridade sobre o usuário para a mesma chave | Instalação automática do plug-in declarativo. |
extra | Record<string, {...}> | Mesclado — o repositório tem prioridade sobre o usuário para a mesma chave | Marketplaces de plug-in disponíveis neste repositório. |
hooks | object | Concatenados: ganchos do repositório são executados após os ganchos do usuário | Definições de gancho destinadas a este repositório. Consulte Usando ganchos com CLI do GitHub Copilot. |
mergeStrategy | |||
"rebase" | |||
| | | |||
"merge" | |||
| Repositório tem precedência | Estratégia de resolução de conflitos para /pr fix conflicts. |
Configurações locais (.github/copilot/settings.local.json)
Crie .github/copilot/settings.local.json no repositório para configurações pessoais que não devem ser confirmadas. Adicione este arquivo a .gitignore.
O arquivo de configuração local usa o mesmo esquema que o arquivo de configuração do repositório (.github/copilot/settings.json) e tem precedência sobre ele.
Configurações gerenciadas de MDM
Os administradores de TI podem implantar a política de base por meio de configurações gerenciadas por MDM (Mobile Gerenciamento de Dispositivos), em vez de exigir configuração individual por usuário. Essas configurações aplicam padrões no nível do dispositivo para chaves compatíveis e são carregadas antes das configurações do usuário.
Fontes de configurações gerenciadas do MDM
CLI do Copilot lê as configurações gerenciadas de locais específicos do MDM ou de arquivos específicos da plataforma.
| Platform | Tipo de origem | Localidade |
|---|---|---|
| macOS | Plist do MDM | com.github.copilot |
| macOS | Arquivo | / |
| Windows | Registro MDM | HKLM\ |
| Windows | Arquivo | %Program |
| Linux | Arquivo | / |
Observação
Em sistemas POSIX, CLI do Copilot rejeita configurações gerenciadas baseadas em arquivos que sejam links simbólicos, que não sejam de propriedade do root ou que sejam graváveis por qualquer usuário.
Formato de arquivo
Escreva configurações gerenciadas baseadas em arquivo como JSON.
{
"permissions": {
"disableBypassPermissionsMode": "disable"
}
}
Chaves com suporte
Somente as chaves a seguir têm suporte nas configurações gerenciadas do MDM.
| Chave | Descrição |
|---|---|
enabledPlugins | Habilitar ou desabilitar plug-ins específicos |
extra | Adicionar marketplaces de plug-in confiáveis |
model | Definir um modelo padrão para todos os usuários (substituído pelo --model sinalizador ou por um modelo de sessão retomada) |
permissions | Definir permissões gerenciadas, incluindo disable |
strict | Restringir plug-ins a marketplaces conhecidos |