Observação
CLI do GitHub Copilot está em visualização pública com proteção de dados e está sujeito a alterações.
Introdução
CLI do Copilot possui várias opções de configuração que controlam o que pode acessar e realizar em seu nome.
Este artigo mostra como definir diretórios confiáveis, configurar o acesso para ferramentas e conceder permissões para caminhos de arquivo e URLs.
Pré-requisitos
- Instale o CLI do Copilot. Confira Como instalar a CLI do GitHub Copilot.
Definindo diretórios confiáveis
Os diretórios confiáveis controlam onde CLI do Copilot pode ler, modificar e executar arquivos. Confiar em um diretório tem implicações de segurança, confira as considerações de segurança.
Optando por confiar em um diretório
Ao iniciar uma sessão da CLI do GitHub Copilot, você receberá solicitação para confirmar que confia nos arquivos no diretório e nos subdiretórios em que iniciou a CLI.
Você pode optar por confiar no diretório atual para:
- Somente a sessão atual em execução
- Esta e sessões futuras
Se você optar por confiar no diretório para sessões futuras, o prompt de diretório confiável não será exibido novamente. Você só deverá escolher a segunda opção se tiver certeza de que esse local sempre será um local seguro para o Copilot para operar.
Editando diretórios confiáveis
Você pode editar a lista de diretórios permanentemente confiáveis.
- Abra o arquivo
config.jsonda CLI. Por padrão, ele é armazenado em uma.copilotpasta no diretório base: * macOS/Linux:~/.copilot/config.json* Windows:$HOME\.copilot\config.json
Você pode alterar o local de configuração definindo a variável de XDG_CONFIG_HOME ambiente (principalmente no macOS/Linux).
- Edite o conteúdo da
trusted_foldersmatriz.
Configurando ferramentas permitidas
Você pode controlar quais ferramentas CLI do Copilot podem usar, respondendo a solicitações de aprovação quando Copilot tenta usar uma ferramenta ou especificando permissões por meio de parâmetros de linha de comando.
Lembre-se de que permitir o acesso à ferramenta tem implicações de segurança, consulte as considerações de segurança.
Nesta seção, você pode aprender a:
-
[Autorizar uma ferramenta pela primeira vez](#allowing-a-tool-for-the-first-time) -
[Permitir que as ferramentas sejam usadas sem aprovação manual](#allowing-tools-to-be-used-without-manual-approval) -
[Especificar qual ferramenta você deseja permitir ou negar](#specifying-which-tool-you-want-to-allow-or-deny) -
[Permitir algumas ferramentas ao negar outras](#allowing-some-tools-while-denying-others) -
[Limitar as ferramentas disponíveis](#limiting-available-tools)
Autorizando o uso de uma ferramenta pela primeira vez
Na primeira vez que Copilot precisar usar uma ferramenta que possa exigir aprovação, por exemplo, por exemplo, touch, chmod, node ou sed – ele perguntará se você deseja permitir que ela seja executada. Se você for solicitado pode depender da ferramenta e de como ela está sendo usada (como os argumentos fornecidos ou se a ferramenta foi aprovada anteriormente).
-
Prompt Copilot para executar uma tarefa que requer uma ferramenta. Por exemplo:
copilot -p "Create a new file called README.md with a project description" -
Escolha uma das três opções:
-
1. YesEscolha esta opção para permitir que Copilot execute este comando específico, apenas esta vez. Na próxima vez que precisar usar essa ferramenta, ele perguntará novamente.
-
2. Yes, and approve TOOL for the rest of the running sessionEscolha esta opção para permitir que Copilot use essa ferramenta durante a sessão em execução no momento. Ele solicitará sua aprovação novamente em novas sessões ou se você retomar a sessão atual no futuro. Se você escolher essa opção, permitirá que o Copilot use a ferramenta da maneira que considerar apropriada.
Por exemplo, se o Copilot solicitar que você permita que ele execute o comando
rm ./this-file.txte você escolher a opção 2, Copilot poderá executar qualquer comandorm(por exemplo,rm -rf ./*) durante a execução atual desta sessão, sem solicitar sua aprovação. -
3. No, and tell Copilot what to do differently (Esc)Escolha esta opção para cancelar o comando proposto e instrua Copilot a tentar uma abordagem diferente.
-
Permitir que as ferramentas sejam usadas sem aprovação manual
Você pode usar sinalizadores de linha de comando para designar ferramentas que Copilot podem usar sem solicitar sua aprovação.
Permitir todas as ferramentas
Use --allow-all-tools para permitir que Copilot use qualquer ferramenta sem solicitar sua aprovação.
-
Por exemplo:
copilot -p "Revert the last commit" --allow-all-tools
Negando uma ferramenta
Use --deny-tool para impedir que Copilot use uma ferramenta específica.
-
Por exemplo:
copilot --deny-tool 'shell(git push)'
Essa opção tem precedência sobre as opções --allow-all-tools e --allow-tool.
Permitir uma ferramenta
Use --allow-tool para permitir que Copilot use uma ferramenta específica sem solicitar sua aprovação.
-
Por exemplo:
copilot --allow-tool 'shell'
Especificando qual ferramenta você deseja permitir ou negar
Para usar as opções --deny-tool e --allow-tool você deve especificar que tipo de ferramenta deseja permitir ou negar.
-
[Comandos do Shell](#allowing-or-denying-shell-commands) -
[Ferramentas de 'escrita'](#allowing-or-denying-write-tools) -
[Ferramentas do servidor MCP](#allowing-or-denying-mcp-server-tools)
Permitir ou negar comandos de shell
Use shell(COMMAND) para permitir ou negar um comando de shell específico.
-
Por exemplo, para impedir Copilot de usar qualquer comando
rm, use:copilot --deny-tool 'shell(rm)'
Para comandos git e gh, especifique um subcomando de primeiro nível específico para permitir ou negar.
-
Por exemplo, para impedir que Copilot use
git push, use:copilot --deny-tool 'shell(git push)'
A especificação da ferramenta é opcional. Por exemplo, copilot --allow-tool 'shell' permite que o Copilot use qualquer comando de shell sem aprovação individual.
Permitir ou negar ferramentas 'write'
Use 'write' para permitir ou negar a ferramentas — além dos comandos de shell — a permissão para modificar arquivos.
-
Por exemplo, para permitir Copilot editar arquivos sem sua aprovação individual, use:
copilot --allow-tool 'write'
Permitindo ou negando ferramentas de servidor MCP
Use 'MCP_SERVER_NAME' para permitir ou negar uma ferramenta específica do servidor MCP especificado.
-
Por exemplo, para impedir que Copilot use a ferramenta chamada
tool_namedo servidor MCP chamadoMy-MCP-Server, use:copilot --deny-tool 'My-MCP-Server(tool_name)'`MCP_SERVER_NAME` é o nome de um servidor MCP que você configurou.
As ferramentas do servidor são especificadas entre parênteses, usando o nome da ferramenta que está registrado com o servidor de MCP.
Usar o nome do servidor sem especificar uma ferramenta permite ou nega todas as ferramentas desse servidor.
Você pode encontrar o nome de um servidor de MCP /mcp inserindo o modo interativo da CLI do Copilot e selecionando o servidor na lista exibida.
Permitindo algumas ferramentas ao negar outras
Para determinar exatamente quais ferramentas Copilot podem usar sem solicitar sua aprovação, você pode usar uma combinação de opções de aprovação. Por exemplo:
-
Para impedir que Copilot use os comandos
rmegit push, mas permitir automaticamente todas as outras ferramentas, use:copilot --allow-all-tools --deny-tool 'shell(rm)' --deny-tool 'shell(git push)' -
Para impedir que o Copilot
tool_nameuse a ferramenta do servidor de MCP denominadoMy-MCP-Server, mas permitir que todas as outras ferramentas desse servidor sejam usadas sem aprovação individual, use:copilot --allow-tool 'My-MCP-Server' --deny-tool 'My-MCP-Server(tool_name)'
Limitando as ferramentas disponíveis
Para restringir Copilot a um conjunto específico de ferramentas, use --available-tools.
Ferramentas não incluídas nesta lista não estarão disponíveis para Copilot.
Definindo permissões de caminho
As permissões de caminho controlam quais diretórios e arquivos Copilot podem acessar.
Por padrão, CLI do Copilot pode acessar o diretório de trabalho atual, seus subdiretórios e o diretório temporário do sistema.
As permissões de caminho aplicam-se a comandos do shell, operações de arquivo (criar, editar, visualizar) e ferramentas de pesquisa (como grep e padrões glob). Para comandos de shell, os caminhos são extraídos heuristicamente por meio da geração de tokens de texto de comando e da identificação de tokens que se parecem com caminhos.
Aviso
A detecção de caminho para comandos de shell tem limitações:
- Caminhos inseridos em construções de shell complexas podem não ser detectados.
- Somente um conjunto específico de variáveis de ambiente é expandido (
HOME,TMPDIRePWDsemelhante). Variáveis personalizadas como$MY_PROJECT_DIRnão são expandidas e podem não ser validadas corretamente. - Symlinks são resolvidos para arquivos existentes, mas não para arquivos que estão sendo criados.
Permitindo o acesso a todos os caminhos
Para desativar a verificação de caminho e permitir o acesso a qualquer caminho, use a referência --allow-all-paths ao iniciar CLI do Copilot.
Não permitir o acesso ao diretório temporário
Para não permitir o acesso ao diretório temporário, use --disallow-temp-dir.
Definindo permissões de URL
As permissões de URL controlam quais URLs externas Copilot podem acessar. Por padrão, todas as URLs exigem aprovação antes que o acesso seja concedido.
As permissões de URL se aplicam à ferramenta web_fetch e a uma lista de comandos de shell que acessam a rede (como curl, wget, e fetch). Para comandos de shell, as URLs são extraídas usando padrões regex.
Aviso
A detecção de URL para comandos de shell tem limitações:
- URLs no conteúdo do arquivo, arquivos de configuração ou variáveis de ambiente lidas por comandos não são detectadas.
- URLs ofuscadas (como cadeias de caracteres divididas ou sequências de escape) podem não ser detectadas.
- HTTP e HTTPS são tratados como protocolos diferentes e exigem aprovação separada.
As permissões de URL podem ser mantidas para a sessão ou permanentemente.
Desabilitando a verificação de URL
Para desabilitar a verificação de URL, use o --allow-all-urls sinalizador.
Pré-aprovação de domínios específicos
Para aprovar previamente domínios específicos, use --allow-url <domain>.
- Por exemplo,
--allow-url github.com.
Negando domínios específicos
Para negar domínios específicos, use --deny-url <domain>.
- Por exemplo,
--deny-url github.com.
Permitindo o acesso a todas as ferramentas, caminhos e URLs
Para permitir todas as ferramentas, caminhos e URLs, use --allow-all, ou seu equivalente, --yolo.
Esse sinalizador combina:
*
--allow-all-tools (ignorar aprovação da ferramenta).
*
--allow-all-paths (desabilitar a verificação de caminho).
*
--allow-all-urls (desabilita a verificação de URL).
Dica
Durante uma sessão interativa, você também pode habilitar todas as permissões com os comandos de barra /allow-all ou /yolo.
Próximas etapas
-
[AUTOTITLE](/copilot/how-tos/copilot-cli/customize-copilot)