{"meta":{"title":"Configurando GitHub Copilot CLI","intro":"Configurar diretórios confiáveis, acesso à ferramenta e permissões de caminho e URL para Copilot CLI","product":"GitHub Copilot","breadcrumbs":[{"href":"/pt/copilot","title":"GitHub Copilot"},{"href":"/pt/copilot/how-tos","title":"Instruções"},{"href":"/pt/copilot/how-tos/copilot-cli","title":"Copilot CLI"},{"href":"/pt/copilot/how-tos/copilot-cli/set-up-copilot-cli","title":"Configurar a CLI do Copilot"},{"href":"/pt/copilot/how-tos/copilot-cli/set-up-copilot-cli/configure-copilot-cli","title":"Configurar a CLI do Copilot"}],"documentType":"article"},"body":"# Configurando GitHub Copilot CLI\n\nConfigurar diretórios confiáveis, acesso à ferramenta e permissões de caminho e URL para Copilot CLI\n\n## Introdução\n\nCopilot CLI tem várias opções de configuração que controlam o que ele pode acessar e fazer em seu nome.\n\nEste artigo mostra como definir diretórios confiáveis, configurar o acesso para ferramentas e conceder permissões para caminhos de arquivo e URLs.\n\n### Pré-requisitos\n\n* Instale os Copilot CLI. Confira [Instalando a CLI do GitHub Copilot](/pt/copilot/how-tos/copilot-cli/set-up-copilot-cli/install-copilot-cli).\n\n## Definindo diretórios confiáveis\n\nOs diretórios confiáveis controlam onde Copilot CLI podem ler, modificar e executar arquivos. Confiar em um diretório tem implicações de segurança, confira [as considerações de segurança](/pt/copilot/concepts/agents/copilot-cli/about-copilot-cli#security-considerations).\n\n### Optando por confiar em um diretório\n\nQuando você inicia uma sessão do GitHub Copilot CLI, será solicitado que você confirme que confia nos arquivos dentro e abaixo do diretório a partir do qual você iniciou a CLI.\n\nVocê pode optar por confiar no diretório atual para:\n\n* Somente a sessão atual em execução\n* Esta e sessões futuras\n\nSe 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 essa segunda opção se tiver certeza de que esse local sempre será um local seguro para Copilot operar.\n\n### Editando diretórios confiáveis\n\nVocê pode editar a lista de diretórios permanentemente confiáveis. Os diretórios confiáveis são armazenados no arquivo gerenciado `config.json` automaticamente.\n\n1. Abra o arquivo `config.json` do CLI. Por padrão, ele é armazenado em uma `.copilot` pasta no diretório base:\n\n   * **macOS/Linux**: `~/.copilot/config.json`\n   * **Windows**:`$HOME\\.copilot\\config.json`\n\nVocê pode alterar o local da configuração definindo a variável de `COPILOT_HOME` ambiente. Isso alteraria `~/.copilot/` e `$HOME\\.copilot\\` nos caminhos acima.\n\n1. Edite o conteúdo da `trustedFolders` matriz.\n\n## Configurando ferramentas permitidas\n\nVocê pode controlar quais ferramentas Copilot CLI podem usar, respondendo a prompts de aprovação quando Copilot tenta usar uma ferramenta ou especificando permissões por meio de sinalizadores de linha de comando.\n\nLembre-se de que permitir o acesso à ferramenta tem implicações de segurança, consulte [as considerações de segurança](/pt/copilot/concepts/agents/copilot-cli/about-copilot-cli#security-considerations).\n\nNesta seção, você pode aprender a:\n\n* [Autorizar uma ferramenta pela primeira vez](#allowing-a-tool-for-the-first-time)\n* [Permitir que as ferramentas sejam usadas sem aprovação manual](#allowing-tools-to-be-used-without-manual-approval)\n* [Especificar qual ferramenta você deseja permitir ou negar](#specifying-which-tool-you-want-to-allow-or-deny)\n* [Permitir algumas ferramentas ao negar outras](#allowing-some-tools-while-denying-others)\n* [Limitar as ferramentas disponíveis](#limiting-available-tools)\n\n### Autorizando o uso de uma ferramenta pela primeira vez\n\nNa primeira vez que Copilot precisar usar uma ferramenta que possa exigir aprovação,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).\n\n1. Acione Copilot para executar uma tarefa que requer uma ferramenta. Por exemplo:\n\n   ```shell\n   copilot -p \"Create a new file called README.md with a project description\"\n   ```\n\n2. Escolha uma das três opções:\n\n   * `1. Yes`\n\n     Escolha esta opção para permitir Copilot a execução deste comando específico, somente desta vez. Na próxima vez que precisar usar essa ferramenta, ele perguntará novamente.\n\n   * `2. Yes, and approve TOOL for the rest of the running session`\n\n     Escolha essa opção para permitir Copilot o uso dessa 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á Copilot usar essa ferramenta de qualquer maneira que ela achar apropriada.\n\n     Por exemplo, se Copilot pedir que você permita que ele execute o comando `rm ./this-file.txt` e você escolher a opção 2, então Copilot pode executar qualquer comando `rm` (por exemplo, `rm -rf ./*`) durante a execução atual desta sessão, sem solicitar sua aprovação.\n\n   * `3. No, and tell Copilot what to do differently (Esc)`\n\n     Escolha essa opção para cancelar o comando proposto e instrua Copilot a tentar uma abordagem diferente.\n\n### Permitir que as ferramentas sejam usadas sem aprovação manual\n\nVocê pode usar sinalizadores de linha de comando para designar ferramentas que Copilot podem usar sem solicitar sua aprovação.\n\n#### Permitir todas as ferramentas\n\nUse `--allow-all-tools` para permitir que Copilot use qualquer ferramenta sem solicitar sua aprovação.\n\n* Por exemplo:\n\n  ```shell\n  copilot -p \"Revert the last commit\" --allow-all-tools\n  ```\n\n#### Negando uma ferramenta\n\nUse `--deny-tool` para impedir o Copilot uso de uma ferramenta específica.\n\n* Por exemplo:\n\n  ```shell\n  copilot --deny-tool='shell(git push)'\n  ```\n\nEssa opção tem precedência sobre as opções `--allow-all-tools` e `--allow-tool`.\n\n#### Permitir uma ferramenta\n\nUse `--allow-tool` para permitir o Copilot uso de uma ferramenta específica sem solicitar sua aprovação.\n\n* Por exemplo:\n\n  ```shell\n  copilot --allow-tool='shell'\n  ```\n\n### Especificando qual ferramenta você deseja permitir ou negar\n\nPara usar as opções `--deny-tool` e `--allow-tool` você deve especificar que tipo de ferramenta deseja permitir ou negar.\n\n* [Comandos do Shell](#allowing-or-denying-shell-commands)\n* [Ferramentas de 'escrita'](#allowing-or-denying-write-tools)\n* [Ferramentas do servidor MCP](#allowing-or-denying-mcp-server-tools)\n\n#### Permitir ou negar comandos de shell\n\nUse `shell(COMMAND)` para permitir ou negar um comando de shell específico.\n\n* Por exemplo, para impedir que Copilot use qualquer comando `rm`, use:\n\n  ```shell\n  copilot --deny-tool='shell(rm)'\n  ```\n\nPara comandos `git` e `gh`, especifique um subcomando de primeiro nível específico para permitir ou negar.\n\n* Por exemplo, para impedir que Copilot use `git push`, use:\n\n  ```shell\n  copilot --deny-tool='shell(git push)'\n  ```\n\nA especificação da ferramenta é opcional. Por exemplo, `copilot --allow-tool='shell'` permite Copilot usar qualquer comando de shell sem aprovação individual.\n\n#### Permitir ou negar ferramentas `'write'`\n\nUse `'write'` para permitir ou negar a ferramentas — além dos comandos de shell — a permissão para modificar arquivos.\n\n* Por exemplo, para permitir Copilot a edição de arquivos sem sua aprovação individual, use:\n\n  ```shell\n  copilot --allow-tool='write'\n  ```\n\n#### Permitindo ou negando ferramentas de servidor MCP\n\nUse `'MCP_SERVER_NAME'` para permitir ou negar uma ferramenta específica do servidor MCP especificado.\n\n* Por exemplo, para impedir que Copilot use a ferramenta chamada `tool_name` do servidor MCP chamado `My-MCP-Server`, use:\n\n  ```shell\n  copilot --deny-tool='My-MCP-Server(tool_name)'\n  ```\n\n`MCP_SERVER_NAME` é o nome de um servidor MCP que você configurou.\n\nAs ferramentas do servidor são especificadas entre parênteses, usando o nome da ferramenta que está registrado com o servidor de MCP.\n\nUsar o nome do servidor sem especificar uma ferramenta permite ou nega todas as ferramentas desse servidor.\n\nVocê pode encontrar o nome de um servidor MCP inserindo `/mcp` no modo Copilot CLI interativo e selecionando o servidor na lista exibida.\n\n### Permitindo algumas ferramentas ao negar outras\n\nPara determinar exatamente quais ferramentas podem ser usadas Copilot sem solicitar sua aprovação, você pode usar uma combinação de opções de aprovação. Por exemplo:\n\n* Para impedir Copilot de usar os comandos `rm` e `git push`, mas permitir automaticamente todas as outras ferramentas, use:\n\n  ```shell\n  copilot --allow-all-tools --deny-tool='shell(rm)' --deny-tool='shell(git push)'\n  ```\n\n* Para impedir Copilot o uso da ferramenta `tool_name` do servidor MCP nomeado `My-MCP-Server`, mas permitir que todas as outras ferramentas desse servidor sejam usadas sem aprovação individual, use:\n\n  ```shell\n  copilot --allow-tool='My-MCP-Server' --deny-tool='My-MCP-Server(tool_name)'\n  ```\n\n### Limitando as ferramentas disponíveis\n\nPara restringir Copilot a um conjunto específico de ferramentas, use `--available-tools`.\n\nAs ferramentas não incluídas nesta lista não estarão disponíveis para Copilot.\n\n## Definindo permissões de caminho\n\nAs permissões de caminho controlam quais diretórios e arquivos Copilot podem acessar.\n\nPor padrão, Copilot CLI pode acessar o diretório de trabalho atual, seus subdiretórios e o diretório temporário do sistema.\n\nAs 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.\n\n> \\[!WARNING]\n> A detecção de caminho para comandos de shell tem limitações:\n>\n> * Caminhos inseridos em construções de shell complexas podem não ser detectados.\n> * Somente um conjunto específico de variáveis de ambiente é expandido (`HOME`, `TMPDIR`e `PWD`semelhante). Variáveis personalizadas como `$MY_PROJECT_DIR` não são expandidas e podem não ser validadas corretamente.\n> * Symlinks são resolvidos para arquivos existentes, mas não para arquivos que estão sendo criados.\n\n### Permitindo o acesso a todos os caminhos\n\nPara desabilitar a verificação de caminho e permitir o acesso a qualquer caminho, use o `--allow-all-paths` sinalizador ao iniciar Copilot CLI.\n\n### Não permitir o acesso ao diretório temporário\n\nPara não permitir o acesso ao diretório temporário, use `--disallow-temp-dir`.\n\n## Definindo permissões de URL\n\nAs 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.\n\nAs 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.\n\n> \\[!WARNING]\n> A detecção de URL para comandos de shell tem limitações:\n>\n> * URLs no conteúdo do arquivo, arquivos de configuração ou variáveis de ambiente lidas por comandos não são detectadas.\n> * URLs ofuscadas (como cadeias de caracteres divididas ou sequências de escape) podem não ser detectadas.\n> * HTTP e HTTPS são tratados como protocolos diferentes e exigem aprovação separada.\n\nAs permissões de URL podem ser mantidas para a sessão ou permanentemente.\n\n### Desabilitando a verificação de URL\n\nPara desabilitar a verificação de URL, use o `--allow-all-urls` sinalizador.\n\n### Pré-aprovação de domínios específicos\n\nPara aprovar previamente domínios específicos, use `--allow-url=DOMAIN`.\n\n* Por exemplo, `--allow-url=github.com`.\n\n### Negando domínios específicos\n\nPara negar domínios específicos, use `--deny-url=DOMAIN`.\n\n* Por exemplo, `--deny-url=github.com`.\n\n## Permitindo o acesso a todas as ferramentas, caminhos e URLs\n\nPara permitir todas as ferramentas, caminhos e URLs, use `--allow-all`, ou seu equivalente, `--yolo`.\n\nEsse sinalizador combina:\n\n* `--allow-all-tools` (ignorar aprovação da ferramenta).\n* `--allow-all-paths` (desabilitar a verificação de caminho).\n* `--allow-all-urls` (desabilita a verificação de URL).\n\nDurante uma sessão interativa, você também pode habilitar todas as permissões com os comandos de barra `/allow-all` ou `/yolo`.\n\n> \\[!NOTE] Se você tiver uma licença Copilot Business ou Copilot Enterprise, esses comandos poderão ser bloqueados por um administrador da empresa.\n\n## Restringir o acesso a arquivos\n\nAs várias `--allow-all...` opções salvam você de ter que decidir se deseja permitir o Copilot acesso a ferramentas, arquivos e URLs individuais. No entanto, usá-los amplia o escopo para Copilot executar ações que talvez você não queira que elas façam, por exemplo, alterar arquivos fora do repositório em que você está trabalhando.\n\nPara atenuar esse risco, você pode instruir a CLI a proteger seus comandos (área restrita local) ou executar toda Copilot CLI a sessão em um ambiente remoto e em área restrita (área restrita de nuvem). Para obter mais informações, consulte [Sobre a nuvem e as áreas restritas locais para GitHub Copilot](/pt/copilot/concepts/about-cloud-and-local-sandboxes).\n\n## Leitura adicional\n\n* [Personalizar GitHub Copilot CLI](/pt/copilot/how-tos/copilot-cli/customize-copilot)\n* [Diretório de configuração do GitHub Copilot CLI](/pt/copilot/reference/copilot-cli-reference/cli-config-dir-reference)"}