Skip to main content

Diretório de configuração do GitHub Copilot CLI

Encontre informações sobre o ~/.copilot diretório, onde CLI do Copilot armazena configuração, dados de sessão e personalizações.

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.

CaminhoTipoDescrição
agents/DiretórioDefinições de agente personalizado pessoal
config.jsonArquivoEstado do aplicativo gerenciado automaticamente (autenticação, plug-ins instalados e outros dados internos)
copilot-instructions.mdArquivoInstruções personalizadas pessoais (aplicadas a todas as sessões)
extensions/DiretórioExtensões pessoais carregadas pela CLI
hooks/DiretórioScripts de gancho no nível do usuário
ide/DiretórioEstado de integração do IDE
installed-plugins/DiretórioArquivos de plug-in instalados
instructions/DiretórioArquivos pessoais adicionais *.instructions.md
logs/DiretórioArquivos de log de sessão
lsp-config.jsonArquivoDefinições de servidor LSP no nível do usuário
mcp-config.jsonArquivoDefinições de servidor MCP no nível do usuário
mcp-oauth-config/DiretórioArmazenamento de contingência para token OAuth e registro do MCP
mcp-secrets/DiretórioArmazenamento de fallback local e índice para espaços reservados secretos do MCP
permissions-config.jsonArquivoPermissões de ferramenta e diretório salvas por projeto
plugin-data/DiretórioDados persistentes para plug-ins instalados
session-state/DiretórioHistórico de sessão e dados do workspace
command-history-state/DiretórioDados do histórico de comandos
session-store.dbArquivoBanco de dados SQLite para dados entre sessões
settings.jsonArquivoSuas configurações pessoais
skills/DiretórioDefiniçõ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.

PrioridadeSourceArquivo usado
1--config-dir=DIRECTORYDIRECTORY/permissions-config.json
2COPILOT_HOME$COPILOT_HOME/permissions-config.json
3Default~/.copilot/permissions-config.json

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.

CampoTipoObrigatórioDefaultValores permitidosDescrição
locationsObjectNo{}Chaves de caminho absolutasMapa de chaves de localização para aprovações salvas.
locations.<key>ObjectNo{}Qualquer chave de localização absolutaAprovações salvas para um repositório ou diretório.
locations.<key>.tool_approvalsArrayNo[]Objetos de aprovaçãoFerramentas aprovadas para esse local.
locations.<key>.allowed_directoriesMatriz de cadeias de caracteresNo[]Caminhos absolutos de diretórioDiretó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[].kindStringSimNone
commands, read, write, mcp, , mcp-sampling, memory, custom-tool, , extension-management``extension-permission-accessSeleciona o tipo de aprovação.
commandIdentifiersMatriz de cadeias de caracteresSim, para commandsNoneIdentificadores de comandoIdentificadores de comando do Shell a serem aprovados.
serverNameStringSim, para mcp e mcp-samplingNoneNome do servidor MCPServidor MCP para aprovação.
toolNameString ou nullSim, para mcpNoneNome da ferramenta MCP ou nullFerramenta MCP para aprovação. Use null para aprovar todas as ferramentas no servidor.
toolNameStringSim, para custom-toolNoneNome da ferramenta personalizadaFerramenta personalizada para aprovar pelo nome exato.
operationStringNão, para extension-managementOmitidoNome da operação de extensãoOperaçã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.
extensionNameStringSim, para extension-permission-accessNoneNome da extensãoExtensã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.

kindCampos obrigatóriosCampos opcionaisMeaning
commandscommandIdentifiersNoneAprova identificadores de comandos do shell correspondentes.
readNoneNoneAprova solicitações de leitura da ferramenta. As sessões interativas da CLI já aprovam leituras automaticamente, portanto, isso geralmente é desnecessário.
writeNoneNoneAprova 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, toolNameNoneAprova uma ferramenta MCP ou todas as ferramentas no servidor quando toolName é null.
mcp-samplingserverNameNoneAprova solicitações de amostragem do MCP para um servidor.
memoryNoneNoneAprova solicitações de gravação de memória e de voto.
custom-tooltoolNameNoneAprova uma ferramenta personalizada pelo nome exato.
extension-managementNoneoperationAprova o gerenciamento de extensões. Se operation for omitido, todas as operações de gerenciamento de extensão corresponderão.
extension-permission-accessextensionNameNoneAprova 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.

PatternPartidasNão corresponde
git statusgit statusgit 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:

JSON
{
  "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:

JSON
{
  "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:

JSON
{
  "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:

JSON
{
  "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.

Bash
export COPILOT_HOME=/path/to/my/copilot-config

Coisas que devem ser observadas

  • COPILOT_HOME substitui 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 ~/.copilot para 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/copilot ou ~/.cache/copilot
    • Windows:%LOCALAPPDATA%/copilot

    Para substituir o diretório de cache separadamente, defina COPILOT_CACHE_HOME.

O que você pode excluir com segurança

ItemÉ seguro excluir?Efeito
agents/
skills/
hooks/
Não recomendadoVocê perderá suas personalizações pessoais. Faça backup primeiro.
config.jsonCom cuidadoRedefine 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 recomendadoVocê perderá suas instruções personalizadas pessoais. Faça backup primeiro.
extensions/Não recomendadoVocê perderá suas extensões pessoais. Faça backup primeiro.
installed-plugins/Não recomendadoEm vez disso, use copilot plugin uninstall para garantir que os metadados de plug-in config.json permaneçam precisos.
logs/SimOs arquivos de log são recriados a cada sessão. Excluí-los não tem nenhum impacto funcional.
lsp-config.jsonNão recomendadoVocê perderá suas definições de servidor LSP no nível do usuário. Faça backup primeiro.
mcp-config.jsonNão recomendadoVocê perderá suas definições de servidor MCP no nível do usuário. Faça backup primeiro.
mcp-oauth-config/Com cuidadoLimpa o estado local de reserva do OAuth do MCP. Talvez seja necessário autenticar novamente os servidores MCP.
mcp-secrets/Com cuidadoLimpa 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.jsonCom cuidadoRedefine todas as permissões salvas. A CLI solicitará novamente as aprovações de ferramentas e diretórios.
plugin-data/SimOs dados persistentes de plug-in são recriados conforme necessário.
session-state/Com cuidadoA exclusão remove o histórico da sessão. Você não poderá mais retomar as sessões anteriores.
command-history-state/Com cuidadoExcluir remove o histórico de comandos. Você não poderá mais pesquisar comandos anteriores com Ctrl+R.
session-store.dbCom cuidadoA exclusão remove dados entre sessões. O arquivo é recriado automaticamente.
settings.jsonCom cuidadoRedefine 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):

  1. Padrões integrados
  2. Configurações gerenciadas por MDM (gerenciamento de dispositivos móveis)
  3. Configurações do usuário (~/.copilot/settings.json)
  4. Configurações do repositório (.github/copilot/settings.json)
  5. Configurações locais (.github/copilot/settings.local.json)
  6. Variáveis de ambiente
  7. 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.

ScopeLocalidadePropósito
Usuário~/.copilot/settings.jsonPadrões globais para todos os repositórios. Use a variável de COPILOT_HOME ambiente para especificar um caminho alternativo.
Repositório.github/copilot/settings.jsonConfiguração do repositório compartilhado (confirmada no repositório).
Local.github/copilot/settings.local.jsonSubstituiçõ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.

ChaveTipoDefaultDescrição
allowedUrlsstring[][]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").
askUserbooleantruePermitir 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.
autoUpdatebooleantrueBaixe automaticamente as atualizações da CLI.
autoUpdatesChannel
"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.
bashEnvbooleanfalseHabilitar o suporte de BASH_ENV para shells bash. Também pode ser definido com --bash-env ou --no-bash-env.
beepbooleantrueReproduza um bipe audível quando a atenção é necessária.
beepOnSchedulebooleantrueEmita um sinal sonoro quando uma execução agendada /every ou /after terminar.
builtInAgents.rubberDuckbooleantrueAtive o subagente rubber duck que fornece feedback adversarial sobre os planos do agente.
builtInAgents.rubberDuckAutoInvokebooleanfalseInclua 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.
compactPastebooleantrueRecolher colagens grandes (mais de 10 linhas) em tokens compactos.
companyAnnouncementsstring[][]Mensagens personalizadas mostradas aleatoriamente na inicialização. Uma mensagem é selecionada aleatoriamente sempre que a CLI é iniciada. Útil para anúncios ou lembretes da equipe.
continueOnAutoModebooleanfalseAlterne 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.
copyOnSelectboolean
true (macOS), false (outros)Copie automaticamente o texto selecionado pelo mouse para a área de transferência do sistema.
customAgents.defaultLocalOnlybooleanfalseUse apenas agentes personalizados locais (nenhuma organização remota ou agentes empresariais).
deniedUrlsstring[][]URLs ou domínios que sempre são negados. As regras de negação têm precedência sobre as regras de permissão.
disableAllHooksbooleanfalseDesabilite todos os ganchos (nível de repositório e nível de usuário).
disabledMcpServersstring[][]Nomes de servidor MCP para desabilitar. Os servidores listados são configurados, mas não iniciados.
disabledSkillsstring[][]Nomes de habilidade para desabilitar. As habilidades listadas foram identificadas, mas não carregadas.
dynamicRetrieval{ skills?: boolean }remover definiçãoControle 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.
effortLevelstring"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.
enabledMcpServersstring[][]Habilite servidores MCP internos que estão desabilitados por padrão (por exemplo, "computer-use").
enabledPluginsRecord<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).
experimentalbooleanfalseHabilitar recursos experimentais. Também pode ser habilitado com a opção --experimental de linha de comando ou o comando de barra /experimental.
extraKnownMarketplacesRecord<string, {...}>{}Marketplaces de plug-in adicionais. Cada chave é um nome do marketplace; o valor especifica a origem ("directory"ou "git"``"github").
footerobjectControla 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.
hooksobjectDefinições inline de ganchos no nível do usuário, chaveadas pelo nome do evento. Usa o mesmo esquema que os arquivos .github/hooks/*.json. Consulte Usando ganchos com CLI do GitHub Copilot.
ide.autoConnectbooleantrueConecte-se automaticamente a um workspace do IDE na inicialização. Quando false, você ainda pode se conectar manualmente usando o comando /ide.
ide.openDiffOnEditbooleantrueAbra 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.
includeCoAuthoredBybooleantrueAdicione 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.
modelstringvariesModelo de IA a ser usado. Defina para "auto" para que Copilot selecione automaticamente o melhor modelo disponível. Gerenciado pelo comando de barra /model.
mousebooleantrueHabilite o suporte ao mouse. Também pode ser definido com --mouse ou --no-mouse.
permissions.disableBypassPermissionsModestringQuando 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.
powershellFlagsstring[]["-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.
proxyKerberosServicePrincipalstringremover definiçãoNome principal de serviço (SPN) para autenticação de proxy Kerberos/Negotiate, substituindo o valor derivado HTTP/<proxy-host>.
proxyUrlstringremover definiçãoURL de proxy para solicitações HTTP(S) (por exemplo, http://proxy.corp.example:3128). 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.
renderMarkdownbooleantrueRenderizar Markdown na saída do terminal.
remoteExportbooleantrueExporte 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.
respectGitignorebooleantrueExclua os arquivos gitignored do seletor de menções de arquivos @. Quando false, o seletor inclui arquivos normalmente excluídos por .gitignore.
screenReaderbooleanfalseHabilitar otimizações de leitor de tela.
scrollbarbooleantrueMostrar a barra de rolagem em exibições roláveis. Defina para false para ocultá-lo e usar a largura completa do terminal.
showTipsOnStartupbooleantrueMostrar uma dica de comando aleatória quando a CLI for iniciada.
skillDirectoriesstring[][]Diretórios adicionais para pesquisar definições de habilidade personalizadas (além de ~/.copilot/skills/).
statusLineobjectExibiçã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.
storeTokenPlaintextbooleanfalsePermitir 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.
streambooleantrueHabilitar respostas de streaming.
streamerModebooleanfalseOcultar 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.agentsobject{}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.disabledSubagentsstring[][]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.enabledbooleantrueMostrar a barra de abas da tela inicial. Defina como false para ocultá-lo completamente.
tabs.hidestring[][]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.sortstring[][]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.
terminalProgressbooleantrueEmita 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.
toolSearchbooleandependente do modelo e da funcionalidadeControla a busca de ferramentas (carregamento adiado de ferramentas). Defina toolSearch: false para desativar a busca de ferramentas.
updateTerminalTitlebooleantrueMostrar 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.

ChaveTipoComportamento de mesclagemDescrição
companyAnnouncementsstring[]Substituído — o repositório assume precedênciaMensagens mostradas aleatoriamente na inicialização.
disableAllHooksbooleanRepositório tem precedênciaDesabilite todos os ganchos.
enabledPluginsRecord<string, boolean>Mesclado — o repositório tem prioridade sobre o usuário para a mesma chaveInstalação automática do plug-in declarativo.
extraKnownMarketplacesRecord<string, {...}>Mesclado — o repositório tem prioridade sobre o usuário para a mesma chaveMarketplaces de plug-in disponíveis neste repositório.
hooksobjectConcatenados: ganchos do repositório são executados após os ganchos do usuárioDefinições de gancho destinadas a este repositório. Consulte Usando ganchos com CLI do GitHub Copilot.
mergeStrategy
"rebase"
|
"merge"
Repositório tem precedênciaEstraté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.

PlatformTipo de origemLocalidade
macOSPlist do MDMcom.github.copilot
macOSArquivo/Library/Application Support/GitHubCopilot/managed-settings.json
WindowsRegistro MDMHKLM\SOFTWARE\Policies\GitHubCopilot
WindowsArquivo%ProgramFiles%\GitHubCopilot\managed-settings.json
LinuxArquivo/etc/github-copilot/managed-settings.json

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.

ChaveDescrição
enabledPluginsHabilitar ou desabilitar plug-ins específicos
extraKnownMarketplacesAdicionar marketplaces de plug-in confiáveis
modelDefinir um modelo padrão para todos os usuários (substituído pelo --model sinalizador ou por um modelo de sessão retomada)
permissionsDefinir permissões gerenciadas, incluindo disableBypassPermissionsMode
strictKnownMarketplacesRestringir plug-ins a marketplaces conhecidos

Leitura adicional