Skip to main content

Referência de comandos da CLI do GitHub Copilot

Encontre comandos e atalhos de teclado para usar CLI do Copilot de forma eficaz.

Comandos de linha de comando

CommandPropósito
copilotInicie a interface interativa do usuário.
copilot help [topic]Exibir informações de ajuda. Os tópicos de ajuda incluem: config, , commands, environment, logginge permissions.
copilot initInicialize instruções personalizadas do Copilot para este repositório.
copilot updateBaixe e instale a versão mais recente.
copilot versionExibir informações de versão e verificar se há atualizações.
copilot loginAutentique usando Copilot através do dispositivo OAuth. Aceita --host HOST para especificar a URL do host GitHub (padrão: https://github.com).
copilot logoutSaia do GitHub e remova as credenciais armazenadas.
copilot pluginGerenciar plug-ins e mercados de plug-ins.

Atalhos globais na interface interativa

AtalhoPropósito
@ FILENAMEInclua o conteúdo do arquivo no contexto.
          <kbd>Ctrl</kbd>+<kbd>X</kbd> , em seguida, `/`  | Depois de começar a digitar um prompt, isso permite que você execute um comando de barra , por exemplo, se você quiser alterar o modelo sem precisar digitar novamente o prompt. |

| Esc | Cancele a operação atual. | | ! COMMAND | Execute um comando no shell local, ignorando Copilot. | | Ctrl+C | Cancelar a operação/limpar a entrada. Pressione duas vezes para sair. | | Ctrl+D | Desligamento. | | Ctrl+L | Limpar a tela. | | Shift+Tab | Ciclo entre o modo padrão, plano e piloto automático. |

Atalhos de linha do tempo na interface interativa

AtalhoPropósito
ctrl+oEmbora não haja nada na entrada do prompt, isso expande os itens recentes na linha do tempo de resposta de Copilot para mostrar mais detalhes.
ctrl+eEmbora não haja nada na entrada do prompt, isso expande todos os itens na linha do tempo de resposta do Copilot.
ctrl+tExpanda/recolher a exibição de raciocínio em respostas.
AtalhoPropósito
          <kbd>Ctrl</kbd>+<kbd>A</kbd>        | Ir para o início da linha (ao digitar). |

| Ctrl+B | Mova para o caractere anterior. | | Ctrl+E | Mover para o final da linha (quando se está digitando). | | Ctrl+F | Mova para o próximo caractere. | | CTRL+G | Edite o prompt em um editor externo. | | CTRL+H | Exclua o caractere anterior. | | Ctrl+K | Excluir do cursor até o final da linha. Se o cursor estiver no final da linha, exclua a quebra de linha. | | Ctrl+U | Excluir desde o cursor até o início da linha. | | Ctrl+W | Exclua a palavra anterior. | | Início | Mova para o início da linha atual. | | End | Mova para o final da linha atual. | | Ctrl+Casa | Vá para o início do texto. | | Ctrl+Fim | Mova para o final do texto. | | Meta+/ | Mova o cursor uma palavra por vez. | | / | Navegue pelo histórico de comandos. |

Comandos de barra na interface interativa

CommandPropósito
/add-dir PATHAdicione um diretório à lista de permissões para acesso ao arquivo.
/agentNavegue e selecione entre os agentes disponíveis (se houver).
          `/allow-all`, `/yolo`                               | Habilite todas as permissões (ferramentas, caminhos e URLs). |

| /clear, /new | Limpe o histórico da conversa. | | /compact | Resumir o histórico de conversas para reduzir o uso da janela de contexto. | | /context | Mostrar o uso e a visualização do token da janela de contexto. | | /cwd, /cd [PATH] | Altere o diretório de trabalho ou exiba o diretório atual. | | /delegate [PROMPT] | Delegar alterações em um repositório remoto com uma solicitação de pull gerada por IA. | | /diff | Examine as alterações feitas no diretório atual. | | /exit, /quit | Saia da CLI. | | /experimental [on\|off] | Alterne ou ative/desative recursos experimentais. | | /feedback | Forneça comentários sobre a CLI. | | /fleet [PROMPT] | Habilite a execução de subagentes paralelos de partes de uma tarefa. Consulte Executando tarefas em paralelo com o /fleet comando. | | /help | Mostrar a ajuda para comandos interativos. | | /ide | Conecte-se a um workspace do IDE. | | /init | Inicialize Copilot instruções personalizadas e funcionalidades autônomas para este repositório. | | /list-dirs | Exiba todos os diretórios para os quais o acesso ao arquivo foi permitido. | | /login | Faça login no Copilot. | | /logout | Sair de Copilot. | | /lsp [show\|test\|reload\|help] [SERVER-NAME] | Gerencie a configuração do servidor de idiomas. | | /mcp [show\|add\|edit\|delete\|disable\|enable] [SERVER-NAME] | Gerenciar a configuração do servidor MCP. | | /model, /models [MODEL] | Selecione o modelo de IA que você deseja usar. | | /plan [PROMPT] | Crie um plano de implementação antes da codificação. | | /plugin [marketplace\|install\|uninstall\|update\|list] [ARGS...] | Gerenciar plug-ins e mercados de plug-ins. | | /rename NAME | Renomeie a sessão atual (pseudônimo de /session rename). | | /reset-allowed-tools | Redefina a lista de ferramentas permitidas. | | /resume [SESSION-ID] | Alterne para uma sessão diferente escolhendo em uma lista (opcionalmente, especifique uma ID de sessão). | | /review [PROMPT] | Execute o agente de revisão de código para analisar as alterações. | | /session [checkpoints [n]\|files\|plan\|rename NAME] | Mostrar informações de sessão e um resumo do workspace. Use os subcomandos para obter detalhes. | | /share [file\|gist] [PATH] | Compartilhe a sessão em um arquivo Markdown ou um gist do GitHub. | | /skills [list\|info\|add\|remove\|reload] [ARGS...] | Gerenciar habilidades para funcionalidades aprimoradas. | | /terminal-setup | Configure o terminal para suporte de entrada multilinha (Shift+Enter e Ctrl+Enter). | | /theme [show\|set\|list] [auto\|THEME-ID] | Exibir ou configurar o tema do terminal. | | /usage | Exibir estatísticas e métricas de uso de sessão. | | /user [show\|list\|switch] | Gerencie o usuário GitHub atual. |

Para obter uma lista completa dos comandos slash disponíveis, insira /help na interface interativa da CLI.

Opções de linha de comando

OpçãoPropósito
--acpInicie o servidor de Protocolo do Cliente do Agente.
--add-dir=PATHAdicione um diretório à lista de permissões para acesso a arquivos (pode ser usado várias vezes).
--add-github-mcp-tool=TOOLAdicione uma ferramenta para habilitar o servidor GitHub MCP, em vez do subconjunto padrão da CLI (pode ser usado várias vezes). Use * para todas as ferramentas.
--add-github-mcp-toolset=TOOLSETAdicione um conjunto de ferramentas para habilitar para o servidor GitHub MCP, em vez do subconjunto padrão da CLI (pode ser usado várias vezes). Use all para todos os conjuntos de ferramentas.
--additional-mcp-config=JSONAdicione apenas um servidor MCP para esta sessão. A configuração do servidor pode ser fornecida como uma cadeia de caracteres JSON ou um caminho de arquivo (prefixo com @). Amplia a configuração de ~/.copilot/mcp-config.json. Substitui qualquer configuração de servidor MCP instalada com o mesmo nome.
--agent=AGENTEspecifique um agente personalizado a ser usado.
--allow-allHabilitar todas as permissões (equivalente a --allow-all-tools --allow-all-paths --allow-all-urls).
--allow-all-pathsDesabilite a verificação do caminho do arquivo e permita o acesso a qualquer caminho.
--allow-all-toolsPermitir que todas as ferramentas sejam executadas automaticamente sem confirmação. Necessário ao usar a CLI programaticamente (env: COPILOT_ALLOW_ALL).
--allow-all-urlsPermitir acesso a todas as URLs sem confirmação.
--allow-tool=TOOL ...Ferramentas que a CLI tem permissão para usar. Não solicitará permissão. Para várias ferramentas, use uma lista entre aspas e separada por vírgulas.
--allow-url=URL ...Permitir o acesso a URLs ou domínios específicos. Para várias URLs, use uma lista entre aspas e separada por vírgulas.
--alt-screen=VALUEUse o buffer de tela alternativo do terminal (on ou off).
--autopilotHabilite a continuação do piloto automático no modo prompt. Consulte Permitindo que GitHub Copilot CLI funcione de forma autônoma.
--available-tools=TOOL ...Somente essas ferramentas estarão disponíveis para o modelo. Para várias ferramentas, use uma lista entre aspas e separada por vírgulas.
--bannerMostrar o banner de inicialização.
--bash-envHabilite suporte para BASH_ENV em shells bash.
--config-dir=PATHDefina o diretório de configuração (padrão: ~/.copilot).
--continueRetome a sessão mais recente.
--deny-tool=TOOL ...Ferramentas que a CLI não tem permissão para usar. Não solicitará permissão. Para várias ferramentas, use uma lista entre aspas e separada por vírgulas.
--deny-url=URL ...Negar acesso a URLs ou domínios específicos, tem precedência sobre --allow-url. Para várias URLs, use uma lista entre aspas e separada por vírgulas.
--disable-builtin-mcpsDesabilitar todos os servidores MCP internos (atualmente: github-mcp-server).
--disable-mcp-server=SERVER-NAMEDesabilite um servidor MCP específico (pode ser usado várias vezes).
--disable-parallel-tools-executionDesabilitar a execução paralela de ferramentas (o LLM ainda pode fazer chamadas de ferramenta paralelas, mas elas serão executadas sequencialmente).
--disallow-temp-dirImpedir o acesso automático ao diretório temporário do sistema.
--enable-all-github-mcp-toolsHabilite todas as ferramentas de servidor GitHub mcp, em vez do subconjunto padrão da CLI. Substitui as opções --add-github-mcp-toolset e --add-github-mcp-tool.
--excluded-tools=TOOL ...Essas ferramentas não estarão disponíveis para o modelo. Para várias ferramentas, use uma lista entre aspas e separada por vírgulas.
--experimentalHabilitar recursos experimentais (use --no-experimental para desabilitar).
          `-h`, `--help`                     | Exibir ajuda. |

| -i PROMPT, --interactive=PROMPT | Inicie uma sessão interativa e execute esse prompt automaticamente. | | --log-dir=DIRECTORY | Defina o diretório do arquivo de log (padrão: ~/.copilot/logs/). | | --log-level=LEVEL | Defina o nível de log (opções: none, , , error, warning, info, , debug). all``default | | --max-autopilot-continues=COUNT | Número máximo de mensagens de continuação no modo de piloto automático (padrão: ilimitado). Consulte Permitindo que GitHub Copilot CLI funcione de forma autônoma. | | --model=MODEL | Defina o modelo de IA que você deseja usar. | | --no-alt-screen | Desabilite o buffer de tela alternativo do terminal. | | --no-ask-user | Desabilite a ask_user ferramenta (o agente funciona de forma autônoma sem fazer perguntas). | | --no-auto-update | Desabilite o download de atualizações da CLI automaticamente. | | --no-bash-env | Desative o suporte BASH_ENV para shells bash. | | --no-color | Desative toda a saída de cor. | | --no-custom-instructions | Desabilite o carregamento de instruções personalizadas de AGENTS.md e arquivos relacionados. | | --no-experimental | Desabilitar recursos experimentais. | | --output-format=FORMAT | FORMAT pode ser text (padrão) ou json (saídas JSONL: um objeto JSON por linha). | | -p PROMPT, --prompt=PROMPT | Execute um prompt programaticamente (sai após a conclusão). | | --plain-diff | Desabilite a renderização de diferenciação avançada (realce de sintaxe por meio da ferramenta de diferenciação especificada pela configuração git). | | --resume=SESSION-ID | Retome uma sessão interativa anterior escolhendo em uma lista (opcionalmente, especifique uma ID de sessão). | | -s, --silent | Gerar somente a resposta do agente (sem estatísticas de uso), útil para scripts com -p. | | --screen-reader | Habilitar otimizações de leitor de tela. | | --secret-env-vars=VAR ... | Uma variável de ambiente cujo valor você deseja redigir na saída. Para várias variáveis, use uma lista entre aspas e separada por vírgulas. Os valores nas variáveis de ambiente GITHUB_TOKEN e COPILOT_GITHUB_TOKEN são redigidos por padrão. | | --share=PATH | Compartilhe uma sessão em um arquivo Markdown após a conclusão de uma sessão programática (caminho padrão: ./copilot-session-<ID>.md). | | --share-gist | Compartilhe uma sessão em um GitHub gist privado após concluir uma sessão programática. | | --stream=MODE | Habilitar ou desabilitar o modo de streaming (opções de modo: on ou off). | | -v, --version | Mostrar informações de versão. | | --yolo | Habilitar todas as permissões (equivalente a --allow-all). |

Para obter uma lista completa de comandos e opções, execute copilot help.

Padrões de permissão de ferramenta

As opções --allow-tool e --deny-tool aceitam padrões de permissão no formato Kind(argument). O argumento é opcional: omiti-lo corresponde a todas as ferramentas desse tipo.

VarianteDescriçãoPadrões de exemplo
shellExecução de comando do Shell
          `shell(git push)`, `shell(git:*)`, `shell` |

| write | Criação ou modificação de arquivo | write, write(src/*.ts) | | read | Leituras de arquivo ou diretório | read, read(.env) | | SERVER-NAME | Invocação da ferramenta de servidor MCP | MyMCP(create_issue), MyMCP | | url | Acesso à URL por meio de web-fetch ou shell | url(github.com), url(https://*.api.com) | | memory | Armazenando fatos na memória do agente | memory |

Para as shell regras, o sufixo :* corresponde ao comando principal seguido por um espaço, impedindo correspondências parciais. Por exemplo, shell(git:*) corresponde git push e git pull não corresponde gitea.

As regras de negação sempre têm precedência sobre as regras de permissão, mesmo quando --allow-all estão definidas.

# Allow all git commands except git push
copilot --allow-tool='shell(git:*)' --deny-tool='shell(git push)'

# Allow a specific MCP server tool
copilot --allow-tool='MyMCP(create_issue)'

# Allow all tools from a server
copilot --allow-tool='MyMCP'

Variáveis de ambiente

VariableDescrição
COPILOT_MODELDefina o modelo de IA.
COPILOT_ALLOW_ALLConfigure para true permitir todas as permissões automaticamente (equivalente a --allow-all).
COPILOT_AUTO_UPDATEDefina como false para desabilitar atualizações automáticas.
COPILOT_CUSTOM_INSTRUCTIONS_DIRSLista separada por vírgulas de diretórios adicionais para instruções personalizadas.
COPILOT_SKILLS_DIRSLista separada por vírgulas de diretórios adicionais para habilidades.
COPILOT_EDITORComando do editor para edição interativa (checado após $VISUAL e $EDITOR). Assume o valor padrão de vi se nenhum for definido.
COPILOT_GITHUB_TOKENToken de autenticação. Tem precedência sobre GH_TOKEN e GITHUB_TOKEN.
COPILOT_HOMESobrescreva a configuração e o diretório de estado. Padrão: $HOME/.copilot.
GH_TOKENToken de autenticação. Tem precedência sobre GITHUB_TOKEN.
GITHUB_TOKENToken de autenticação.
USE_BUILTIN_RIPGREPDefina como false para usar o ripgrep do sistema em vez da versão agrupada.
PLAIN_DIFFDefinir para true para desativar a renderização rica de diferença.
COLORFGBGOpção de contingência para detecção de plano de fundo do terminal escuro/claro.
COPILOT_CLI_ENABLED_FEATURE_FLAGSLista separada por vírgulas de sinalizadores de recursos para habilitar (por exemplo, "SOME_FEATURE,SOME_OTHER_FEATURE").

Configurações do arquivo de configuração

As configurações são aplicadas em cascata, do usuário para o repositório e depois para o local, com níveis mais específicos substituindo os mais gerais. Sinalizadores de linha de comando e variáveis de ambiente sempre têm a precedência mais alta.

ScopeLocalidadePropósito
Usuário~/.copilot/config.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 (comitada no repositório).
Local.github/copilot/settings.local.jsonSubstituições pessoais (adicione-as a .gitignore).

Configurações do usuário (~/.copilot/config.json)

ChaveTipoDefaultDescrição
allowed_urlsstring[][]URLs ou domínios permitidos sem solicitação.
alt_screenbooleanfalseUse o buffer de tela alternativo do terminal.
auto_updatebooleantrueBaixe automaticamente as atualizações da CLI.
banner
          `"always"`
          \|
          `"once"`
          \|
          `"never"`
         | `"once"` | Frequência de exibição de banner animado. |

| bash_env | boolean | false | Habilite suporte para BASH_ENV em shells bash. | | beep | boolean | true | Reproduza um bipe audível quando a atenção é necessária. | | compact_paste | boolean | true | Compactar conteúdos grandes em tokens compactos. | | custom_agents.default_local_only | boolean | false | Use apenas agentes personalizados locais. | | denied_urls | string[] | [] | URLs ou domínios bloqueados (tem precedência sobre allowed_urls). | | experimental | boolean | false | Habilitar recursos experimentais. | | include_coauthor | boolean | true | Adicione um trailer Co-authored-by às confirmações do git feitas pelo agente. | | companyAnnouncements | string[] | [] | Mensagens personalizadas mostradas aleatoriamente na inicialização. | | log_level | "none" | "error" | "warning" | "info" | "debug" | "all" | "default" | "default" | Verbosidade de registro em log. | | model | string | varies | Modelo de IA a ser usado (consulte o /model comando). | | powershell_flags | string[] | ["-NoProfile", "-NoLogo"] | Sinalizadores passados para o PowerShell (pwsh) na inicialização. Apenas para Windows. | | reasoning_effort | "low" | "medium" | "high" | "xhigh" | "medium" | Nível de esforço de raciocínio para o pensamento aprofundado. Níveis mais altos usam mais computação. | | render_markdown | boolean | true | Renderizar Markdown na saída do terminal. | | screen_reader | boolean | false | Habilitar otimizações de leitor de tela. | | stream | boolean | true | Habilitar respostas de streaming. | | store_token_plaintext | boolean | false | Armazene tokens de autenticação em texto não criptografado no arquivo de configuração quando nenhum conjunto de chaves do sistema estiver disponível. | | streamer_mode | boolean | false | Ocultar nomes de modelos de pré-visualização e detalhes de cotas (o que é útil ao gravar). | | theme | "auto" | "dark" | "light" | "auto" | Tema de cor do terminal. | | trusted_folders | string[] | [] | Pastas com acesso a arquivos pré-autorizado. | | update_terminal_title | boolean | true | Mostrar a intenção atual no título do terminal. |

Configurações do repositório (.github/copilot/settings.json)

As configurações do repositório se aplicam a todos que trabalham no repositório. Há suporte apenas para um subconjunto de configurações no nível do repositório. Chaves sem suporte são ignoradas.

ChaveTipoComportamento de mesclagemDescrição
companyAnnouncementsstring[]Substituído — o repositório assume precedênciaMensagens mostradas aleatoriamente na inicialização.
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.
marketplacesRecord<string, {...}>Mesclado — o repositório tem prioridade sobre o usuário para a mesma chaveMarketplaces de plugins (obsoletos — use extraKnownMarketplaces).

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 comitadas. 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.

Referência de ganchos

Ganchos são comandos externos que são executados em pontos de ciclo de vida específicos durante uma sessão, permitindo automação personalizada, controles de segurança e integrações. Os arquivos de configuração de gancho .github/hooks/*.json são carregados automaticamente a partir de seu repositório.

Formato de configuração do gancho

Os arquivos de configuração do gancho usam o formato JSON com a versão 1.

Ganchos de comando

Os ganchos de comando executam scripts de shell e têm suporte em todos os tipos de gancho.

{
  "version": 1,
  "hooks": {
    "preToolUse": [
      {
        "type": "command",
        "bash": "your-bash-command",
        "powershell": "your-powershell-command",
        "cwd": "optional/working/directory",
        "env": { "VAR": "value" },
        "timeoutSec": 30
      }
    ]
  }
}
CampoTipoObrigatórioDescrição
type"command"SimDeve ser "command".
bashcadeiaUm dos bash/powershellComando shell para Unix.
powershellcadeiaUm dos bash/powershellComando shell para Windows.
cwdcadeiaNoDiretório de trabalho para o comando (relativo à raiz do repositório ou absoluto).
envobjetoNoVariáveis de ambiente a serem definidas (dá suporte à expansão variável).
timeoutSecnúmeroNoTempo limite em segundos. Padrão: 30.

Ganchos de prompt

Prompt hooks enviam automaticamente o texto como se o usuário tivesse digitado. Eles têm suporte apenas em sessionStart e são executados antes que qualquer prompt inicial seja passado via --prompt. O texto pode ser uma solicitação em linguagem natural ou um comando de barra.

{
  "version": 1,
  "hooks": {
    "sessionStart": [
      {
        "type": "prompt",
        "prompt": "Your prompt text or /slash-command"
      }
    ]
  }
}
CampoTipoObrigatórioDescrição
type"prompt"SimDeve ser "prompt".
promptcadeiaSimO texto a ser enviada pode ser uma mensagem de linguagem natural ou um comando de barra.

Eventos de intercepção

AcontecimentoAcionado quandoA saída foi processada
sessionStartUma sessão nova ou retomada começa.No
sessionEndA sessão é encerrada.No
userPromptSubmittedO usuário envia um prompt.No
preToolUseAntes de executar cada ferramenta.Sim — pode permitir, negar ou modificar.
postToolUseApós a conclusão de cada ferramenta.No
agentStopO agente principal conclui um turno.Sim – pode bloquear e forçar a continuação.
subagentStopUm subagente completa.Sim – pode bloquear e forçar a continuação.
errorOccurredOcorre um erro durante a execução.No

          `preToolUse` controle de decisão

O preToolUse gancho pode controlar a execução da ferramenta escrevendo um objeto JSON para stdout.

CampoValoresDescrição
permissionDecision
          `"allow"`, `"deny"`, `"ask"` | Se a ferramenta é executada. A saída vazia usa o comportamento padrão. |

| permissionDecisionReason | cadeia | Motivo mostrado ao agente. Obrigatório quando a decisão é "deny". | | modifiedArgs | objeto | Substitua os argumentos da ferramenta para serem usados no lugar dos originais. |

          `agentStop`
           / 
          `subagentStop` controle de decisão
CampoValoresDescrição
decision
          `"block"`, `"allow"` | 
          `"block"` obriga outro agente a fazer um turno usando `reason` como prompt. |

| reason | cadeia | Solicite a próxima rodada quando decision for "block". |

Nomes de ferramentas para correspondência de hooks

Nome da ferramentaDescrição
bashExecute comandos de shell (Unix).
powershellExecute comandos de shell (Windows).
viewLer o conteúdo do arquivo.
editModificar o conteúdo do arquivo.
createCrie novos arquivos.
globLocalizar arquivos por padrão.
grepPesquisar conteúdo do arquivo.
web_fetchRecuperar páginas da Web.
taskExecutar tarefas de subagente.

Se vários ganchos do mesmo tipo forem configurados, eles serão executados em ordem. Para preToolUse, se algum gancho retornar "deny", a ferramenta será bloqueada. Falhas de gancho (códigos de saída ou tempos limite diferentes de zero) são registradas e ignoradas– elas nunca bloqueiam a execução do agente.

Configuração do servidor MCP

Os servidores MCP fornecem ferramentas adicionais para o agente da CLI. Configurar servidores persistentes em ~/.copilot/mcp-config.json. Use --additional-mcp-config para adicionar servidores para uma única sessão.

Tipos de transporte

TipoDescriçãoCampos obrigatórios
local / stdioProcesso local comunicando-se por meio de stdin/stdout.
          `command`, `args` |

| http | Servidor remoto utilizando transporte HTTP transmissível. | url | | sse | Servidor remoto usando o transporte de eventos Server-Sent. | url |

Campos de configuração do servidor local

CampoObrigatórioDescrição
commandSimComando para iniciar o servidor.
argsSimArgumentos de comando (array).
toolsSimFerramentas para habilitar: ["*"] para todos ou uma lista de nomes de ferramentas específicos.
envNoVariáveis de ambiente. Dá suporte a $VAR, ${VAR} e ${VAR:-default} expansão.
cwdNoDiretório de trabalho para o servidor.
timeoutNoTempo limite de chamada de ferramenta em milissegundos.
typeNo
          `"local"` ou `"stdio"`. Padrão: `"local"`. |

Campos de configuração de servidor remoto

CampoObrigatórioDescrição
typeSim
          `"http"` ou `"sse"`. |

| url | Sim | URL do servidor. | | tools | Sim | Ferramentas para habilitar. | | headers | No | Cabeçalhos HTTP. Dá suporte à expansão variável. | | oauthClientId | No | ID do cliente OAuth estático (ignora o registro dinâmico). | | oauthPublicClient | No | Se o cliente OAuth é público. Padrão: true. | | timeout | No | Tempo limite de chamada de ferramenta em milissegundos. |

Mapeamento de filtro

Controlar como a saída da ferramenta MCP é processada usando o filterMapping campo na configuração de um servidor.

ModoDescrição
noneSem filtragem.
markdownFormatar saída como Markdown.
hidden_charactersRemova caracteres ocultos ou de controle. Padrão.

Servidores MCP internos

A CLI inclui servidores MCP internos que estão disponíveis sem configuração adicional.

ServidorDescrição
github-mcp-serverGitHub Integração da API: problemas, pull requests, commits, pesquisa de código e GitHub Actions.
playwrightAutomação do navegador: navegar, clicar, digitar, captura de tela e manipulação de formulários.
fetchSolicitações HTTP pela ferramenta fetch.
timeUtilitários de tempo: get_current_time e convert_time.

Use --disable-builtin-mcps para desabilitar todos os servidores internos ou --disable-mcp-server SERVER-NAME desabilitar um específico.

Níveis de confiança do servidor MCP

Os servidores MCP são carregados de várias fontes, cada uma com um nível de confiança diferente.

FonteNível de confiançaRevisão necessária
InternoAltoNo
Repositório (.github/mcp.json)MediumRecomendado
Workspace (.mcp.json, .vscode/mcp.json)MediumRecomendado
Contêiner de desenvolvimento (.devcontainer/devcontainer.json)MediumRecomendado
Configuração do usuário (~/.copilot/mcp-config.json)User-definedResponsabilidade do usuário
Servidores remotosBaixoSempre

Todas as invocações da ferramenta MCP exigem permissão explícita. Isso se aplica até mesmo a operações somente leitura em serviços externos.

Referência de habilidades

As habilidades são arquivos markdown que estendem o que a CLI pode fazer. Cada habilidade reside em seu próprio diretório que contém um SKILL.md arquivo. Quando invocado (via /SKILL-NAME ou automaticamente pelo agente), o conteúdo da habilidade é injetado na conversa.

Campos de frontmatter de habilidades

CampoTipoObrigatórioDescrição
namecadeiaSimIdentificador exclusivo para a habilidade. Somente letras, números e hifens. Máximo de 64 caracteres.
descriptioncadeiaSimO que a habilidade faz e quando usá-la. Máximo de 1024 caracteres.
allowed-toolsstring ou string[]NoLista separada por vírgulas ou matriz yaml de ferramentas que são automaticamente permitidas quando a habilidade está ativa. Use "*" para todas as ferramentas.
user-invocablebooleanNoSe os usuários podem invocar a habilidade com /SKILL-NAME. Padrão: true.
disable-model-invocationbooleanNoImpedir que o agente invoque automaticamente essa habilidade. Padrão: false.

Localizações de habilidades

As habilidades são carregadas desses locais em ordem de prioridade (o primeiro encontrado vence para nomes duplicados).

LocalidadeScopeDescrição
.github/skills/ProjetoHabilidades específicas do projeto.
.agents/skills/ProjetoLocal alternativo do projeto.
.claude/skills/ProjetoLocal compatível com Claude.
Pai .github/skills/HerdadoSuporte para diretório raiz do Monorepo.
~/.copilot/skills/PessoalHabilidades pessoais para todos os projetos.
~/.claude/skills/PessoalLocalização pessoal compatível com o sistema Claude.
Diretórios de plug-inPlug-inHabilidades de complementos instalados.
COPILOT_SKILLS_DIRSPersonalizadoDiretórios adicionais (separados por vírgula).

Comandos (formato de habilidade alternativa)

Os comandos são uma alternativa às habilidades armazenadas como arquivos individuais .md em .claude/commands/. O nome do comando é derivado do nome do arquivo. Os arquivos de comando usam um formato simplificado (nenhum name campo necessário) e dão suporte description, allowed-toolse disable-model-invocation. Os comandos têm prioridade menor do que as habilidades com o mesmo nome.

Referência de agentes personalizados

Agentes personalizados são agentes de IA especializados definidos em arquivos Markdown. O nome do arquivo (extensão menos) torna-se a ID do agente. Use .agent.md ou .md como a extensão de arquivo.

Agentes integrados

AgenteModelo padrãoDescrição
code-reviewclaude-sonnet-4.5Revisão de código com alta relação sinal/ruído. Analisa as diferenças em busca de bugs, problemas de segurança e erros lógicos.
exploreclaude-haiku-4.5Exploração rápida da base de código. Pesquisa arquivos, lê código e responde a perguntas. Retorna respostas focadas em menos de 300 palavras. Seguro para ser executado em paralelo.
general-purposeclaude-sonnet-4.5Agente de funcionalidade completa para tarefas complexas de várias etapas. É executado em uma janela de contexto separada.
researchclaude-sonnet-4.6Agente de pesquisa profunda. Gera um relatório com base em informações em sua base de código, em repositórios relevantes e na Web.
taskclaude-haiku-4.5Execução de comandos (testes, builds, lints). Retorna um breve resumo em caso de sucesso, saída completa em caso de falha.

Campos de frontmatter personalizados do agente

CampoTipoObrigatórioDescrição
descriptioncadeiaSimDescrição mostrada na lista de agentes e na ferramenta task.
inferbooleanNoPermitir a delegação automática pelo agente principal. Padrão: true.
mcp-serversobjetoNoServidores MCP para conectar. Usa o mesmo esquema que ~/.copilot/mcp-config.json.
modelcadeiaNoModelo de IA para este agente. Quando não definido, herda o modelo do agente externo.
namecadeiaNoNome de exibição. O padrão é o nome do arquivo.
toolscadeia de caracteres[]NoFerramentas disponíveis para o agente. Padrão: ["*"] (todas as ferramentas).

Locais do agente personalizado

ScopeLocalidade
Projeto
          `.github/agents/` ou `.claude/agents/` |

| Usuário | ~/.copilot/agents/ ou ~/.claude/agents/ | | Plug-in | <plugin>/agents/ |

Os agentes de nível de projeto têm precedência sobre agentes no nível do usuário. Os agentes de plug-in têm a prioridade mais baixa.

Respostas de aprovação de permissão

Quando a CLI solicita permissão para executar uma operação, você pode responder com as seguintes chaves.

ChaveEfeito
yPermitir essa solicitação específica uma vez.
nNegar essa solicitação específica uma vez.
!Permitir todas as solicitações semelhantes para o restante da sessão.
#Negar todas as solicitações semelhantes para o restante da sessão.
?Mostrar informações detalhadas sobre a solicitação.

As aprovações de sessão são redefinidas quando você executa /clear ou inicia uma nova sessão.

FlagCamadaDescrição
AUTOPILOT_MODEexperimentalModo de operação autônoma.
BACKGROUND_AGENTSstaffExecute agentes em segundo plano.
QUEUED_COMMANDSstaffComandos de fila enquanto o agente está em execução.
LSP_TOOLSonFerramentas de Protocolo do Servidor de Idiomas.
PLAN_COMMANDonModo de planejamento interativo.
AGENTIC_MEMORYonMemória persistente entre sessões.
CUSTOM_AGENTSonDefinições de agentes personalizados.

Monitoramento do OpenTelemetry

CLI do Copilot pode exportar rastros e métricas por meio do OpenTelemetry (OTel), proporcionando visibilidade em interações de agentes, chamadas LLM, execuções de ferramentas e uso de token. Todos os nomes de sinal e atributos seguem as Convenções Semânticas do OTel GenAI.

O OTel está desativado por padrão sem sobrecarga. Ele é ativado quando qualquer uma das seguintes condições é atendida:

  • COPILOT_OTEL_ENABLED=true
  •         `OTEL_EXPORTER_OTLP_ENDPOINT` está definido
    
  •         `COPILOT_OTEL_FILE_EXPORTER_PATH` está definido
    

Variáveis de ambiente OTel

VariableDefaultDescrição
COPILOT_OTEL_ENABLEDfalseHabilite explicitamente o OTel. Não é necessário se OTEL_EXPORTER_OTLP_ENDPOINT estiver definido.
OTEL_EXPORTER_OTLP_ENDPOINTURL do ponto de extremidade OTLP. Definir isso habilita automaticamente o OTel.
COPILOT_OTEL_EXPORTER_TYPEotlp-httpTipo de exportador: otlp-http ou file. Seleciona automaticamente file quando COPILOT_OTEL_FILE_EXPORTER_PATH está definido.
OTEL_SERVICE_NAMEgithub-copilotNome do serviço em atributos de recurso.
OTEL_RESOURCE_ATTRIBUTESAtributos de recursos extras como pares separados por vírgula key=value . Use a codificação por porcentagem para caracteres especiais.
OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENTfalseCapture o conteúdo completo do prompt e da resposta. Consulte a captura de conteúdo.
OTEL_LOG_LEVELNível do log de diagnóstico OTel: NONE, ERROR, WARN, INFO, DEBUG, VERBOSE, ALL.
COPILOT_OTEL_FILE_EXPORTER_PATHEscreva todos os sinais neste arquivo como linhas JSON. Definir isso habilita automaticamente o OTel.
COPILOT_OTEL_SOURCE_NAMEgithub.copilotNome do escopo de instrumentação para rastreador e medidor.
OTEL_EXPORTER_OTLP_HEADERSCabeçalhos de autenticação para o exportador OTLP (por exemplo, Authorization=Bearer token).

Vestígios

O runtime emite uma árvore de intervalo hierárquica para cada interação do agente. Cada árvore contém um invoke_agent intervalo raiz, com chat e execute_tool intervalos filho.

          `invoke_agent` atributos de 'span'

Encapsula toda a invocação do agente: todas as chamadas LLM e execuções de ferramentas para uma mensagem de usuário. Tipo de intervalo: CLIENT.

AttributeDescrição
gen_ai.operation.nameinvoke_agent
gen_ai.provider.nameProvedor (por exemplo, github, anthropic)
gen_ai.agent.idIdentificador de sessão
gen_ai.agent.nameNome do agente (somente subagentes)
gen_ai.agent.descriptionDescrição do agente (somente subagentes)
gen_ai.agent.versionVersão de execução
gen_ai.conversation.idIdentificador de sessão
gen_ai.request.modelModelo solicitado
gen_ai.response.modelModelo resolvido
gen_ai.response.idID da última resposta
gen_ai.response.finish_reasons
          `["stop"]` ou `["error"]` |

| gen_ai.usage.input_tokens | Total de tokens de entrada (todas as voltas) | | gen_ai.usage.output_tokens | Total de tokens de saída (todas as voltas) | | gen_ai.usage.cache_read.input_tokens | Leitura de tokens de entrada armazenados em cache | | gen_ai.usage.cache_creation.input_tokens | Tokens de entrada em cache criados | | github.copilot.turn_count | Número de viagens de ida e volta de LLM | | github.copilot.cost | Custo monetário | | github.copilot.aiu | Unidades de IA consumidas | | server.address | Nome do host do servidor | | server.port | Porta do servidor | | error.type | Nome da classe de erro (em caso de erro) | | gen_ai.input.messages | Mensagens de entrada completas como JSON (somente captura de conteúdo) | | gen_ai.output.messages | Mensagens de saída completas como JSON (somente captura de conteúdo) | | gen_ai.system_instructions | Conteúdo da solicitação do sistema como JSON (captura de conteúdo somente) | | gen_ai.tool.definitions | Esquemas de ferramentas como JSON (somente captura de conteúdo) |

          `chat` atributos de 'span'

Um intervalo por solicitação LLM. Tipo de intervalo: CLIENT.

AttributeDescrição
gen_ai.operation.namechat
gen_ai.provider.nameNome do provedor
gen_ai.request.modelModelo solicitado
gen_ai.conversation.idIdentificador de sessão
gen_ai.response.idID de resposta
gen_ai.response.modelModelo resolvido
gen_ai.response.finish_reasonsRazões de parada
gen_ai.usage.input_tokensTokens de entrada desta vez
gen_ai.usage.output_tokensTokens de saída neste turno
gen_ai.usage.cache_read.input_tokensLeitura de tokens armazenados em cache
gen_ai.usage.cache_creation.input_tokensTokens em cache criados
github.copilot.costCusto de turno
github.copilot.aiuAs unidades de IA foram consumidas neste turno
github.copilot.server_durationDuração no lado do servidor
github.copilot.initiatorIniciador de solicitação
github.copilot.turn_idHabilitar o identificador
github.copilot.interaction_idIdentificador de interação
server.addressNome do host do servidor
server.portPorta do servidor
error.typeNome da classe de erro (em caso de erro)
gen_ai.input.messagesMensagens completas de prompt como JSON (captura de conteúdo apenas)
gen_ai.output.messagesMensagens de resposta completas como JSON (somente captura de conteúdo)
gen_ai.system_instructionsConteúdo da solicitação do sistema como JSON (captura de conteúdo somente)

          `execute_tool` atributos de 'span'

Um intervalo por chamada de ferramenta. Tipo de intervalo: INTERNAL.

AttributeDescrição
gen_ai.operation.nameexecute_tool
gen_ai.provider.nameNome do provedor (quando disponível)
gen_ai.tool.nameNome da ferramenta (por exemplo, readFile)
gen_ai.tool.typefunction
gen_ai.tool.call.idIdentificador de chamada de ferramenta
gen_ai.tool.descriptionDescrição da ferramenta
error.typeNome da classe de erro (em caso de erro)
gen_ai.tool.call.argumentsArgumentos de entrada da ferramenta como JSON (apenas captura de conteúdo)
gen_ai.tool.call.resultSaída da ferramenta como JSON (somente captura de conteúdo)

Métricas

Métricas de convenção do GenAI

MétricaTipoUnidadeDescrição
gen_ai.client.operation.durationHistogramasDuração da chamada à API LLM e da invocação do agente
gen_ai.client.token.usageHistogramatokensContagens de token por tipo (input/output)
gen_ai.client.operation.time_to_first_chunkHistogramasHora de receber a primeira parte de streaming
gen_ai.client.operation.time_per_output_chunkHistogramasLatência entre fragmentos após a primeira parte

Métricas específicas do fornecedor

MétricaTipoUnidadeDescrição
github.copilot.tool.call.countContadorchamadasInvocações de ferramenta por gen_ai.tool.name e success
github.copilot.tool.call.durationHistogramasLatência de execução da ferramenta por gen_ai.tool.name
github.copilot.agent.turn.countHistogramaGiraCiclos de ida e volta de LLM por chamada de agente

Eventos de intervalo

Eventos de ciclo de vida registrados no intervalo ativo entre chat e invoke_agent.

AcontecimentoDescriçãoAtributos de chave
github.copilot.session.truncationO histórico de conversas foi truncado
          `github.copilot.token_limit`, `github.copilot.pre_tokens`, `github.copilot.post_tokens`, , `github.copilot.tokens_removed``github.copilot.messages_removed` |

| github.copilot.session.compaction_start | Compactação de histórico iniciada | Nenhum | | github.copilot.session.compaction_complete | Compactação de histórico concluída | github.copilot.success, github.copilot.pre_tokens, github.copilot.post_tokens, , github.copilot.tokens_removed``github.copilot.messages_removed | | github.copilot.skill.invoked | Uma habilidade foi invocada | github.copilot.skill.name, github.copilot.skill.path, , github.copilot.skill.plugin_name``github.copilot.skill.plugin_version | | github.copilot.session.shutdown | A sessão está sendo fechada | github.copilot.shutdown_type, github.copilot.total_premium_requests, github.copilot.lines_added, , github.copilot.lines_removed``github.copilot.files_modified_count | | github.copilot.session.abort | O usuário cancelou a operação atual | github.copilot.abort_reason | | exception | Erro de sessão | github.copilot.error_type, github.copilot.error_status_code, github.copilot.error_provider_call_id |

Atributos de recursos

Todos os sinais carregam esses atributos de recurso.

AttributeValor
service.name
          `github-copilot` (configurável via `OTEL_SERVICE_NAME`) |

| service.version | Versão de execução |

Captura de conteúdo

Por padrão, nenhum conteúdo de prompt, respostas ou argumentos de ferramenta são capturados– somente metadados como nomes de modelo, contagens de token e durações. Para capturar o conteúdo completo, defina OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT=true.

Aviso

A captura de conteúdo pode incluir informações confidenciais, como código, conteúdo de arquivo e prompts do usuário. Habilite isso apenas em ambientes confiáveis.

Quando a captura de conteúdo é habilitada, os atributos a seguir são preenchidos.

AttributeConteúdo
gen_ai.input.messagesMensagens de prompt completo (JSON)
gen_ai.output.messagesMensagens de resposta completas (JSON)
gen_ai.system_instructionsConteúdo do prompt do sistema (JSON)
gen_ai.tool.definitionsEsquemas de ferramentas (JSON)
gen_ai.tool.call.argumentsArgumentos de entrada da ferramenta
gen_ai.tool.call.resultSaída da ferramenta

Leitura adicional

  •         [AUTOTITLE](/copilot/how-tos/copilot-cli)
    
  •         [AUTOTITLE](/copilot/reference/copilot-cli-reference/cli-plugin-reference)
    
  •         [AUTOTITLE](/copilot/reference/copilot-cli-reference/cli-programmatic-reference)