Introducción
La interfaz de la línea de comandos (CLI) para GitHub Copilot permite usar Copilot directamente desde el terminal. Puede usarlo para responder a preguntas, escribir y depurar código e interactuar con GitHub.com. Por ejemplo, puede pedir que Copilot realice algunos cambios en un proyecto y cree una solicitud de incorporación de cambios.
CLI de GitHub Copilot proporciona acceso rápido a un agente de IA eficaz, sin tener que salir del terminal. Puede ayudarle a completar tareas más rápidamente trabajando en su nombre y puede trabajar iterativamente con CLI de GitHub Copilot para compilar el código que necesita.
Sistemas operativos compatibles
- Linux
- macOS
- Windows en PowerShell y Subsistema de Windows para Linux (WSL)
Para conocer las instrucciones de instalación, consulta Instalación de la CLI de GitHub Copilot.
Modos de uso
CLI de GitHub Copilot tiene dos interfaces de usuario: interactivas y mediante programación.
Interfaz interactiva
Para iniciar una sesión interactiva, escriba copilot. Dentro de una sesión interactiva, puede tener una conversación con Copilot. Puede pedir que Copilot realice una o varias tareas, y puede enviar sus comentarios y dirigir la dirección del trabajo.

La interfaz interactiva tiene dos modos. Además del modo predeterminado ask/execute, también hay un modo de plan en el que Copilot se creará un plan de implementación estructurado para una tarea que desea completar.
Presione Mayús+Tab para alternar entre los modos. En el modo de plan, Copilot analiza la solicitud, formula preguntas aclarantes para comprender el ámbito y los requisitos, y crea un plan antes de escribir cualquier código. Esto le ayuda a detectar malentendidos antes de escribir cualquier código y mantener el control de tareas complejas y de varios pasos.
Interfaz de programación
También puede pasar a la CLI una única solicitud directamente en la línea de comandos. La CLI completa la tarea y, a continuación, se cierra.
Para usar la CLI mediante programación, incluya la -p opción de línea de comandos o --prompt en el comando. Para permitir Copilot modificar y ejecutar archivos, también debe usar una de las opciones de aprobación que se describen más adelante en este artículo, consulte Permitir que las herramientas se usen sin aprobación manual ). Por ejemplo:
copilot -p "Show me this week's commits and summarize them" --allow-tool='shell(git)'
copilot -p "Show me this week's commits and summarize them" --allow-tool='shell(git)'
Como alternativa, puedes usar un script para generar opciones de línea de comandos y canalizar esto a copilot. Por ejemplo:
./script-outputting-options.sh | copilot
./script-outputting-options.sh | copilot
Precaución
Si usa una opción de aprobación automática como --allow-all-tools, Copilot tiene el mismo acceso que en los archivos del equipo y puede ejecutar cualquier comando de shell que pueda ejecutar, sin obtener la aprobación previa. Consulta Consideraciones de seguridad, más adelante en este artículo.
Casos de uso para CLI de GitHub Copilot
En las secciones siguientes se proporcionan ejemplos de tareas que puede completar con CLI de GitHub Copilot.
Tareas locales
-
Desde un directorio del proyecto, puede pedir que Copilot realice un cambio en el código del proyecto. Por ejemplo:
Change the background-color of H1 headings to dark blueCopilot busca el archivo CSS donde se definen los encabezados H1 y cambia el valor de color. -
Pida Copilot que le informe sobre los cambios en un archivo:
Show me the last 5 changes made to the CHANGELOG.md file. Who changed the file, when, and give a brief summary of the changes they made -
Use Copilot para ayudarle a mejorar el código o la documentación del proyecto.
-
Suggest improvements to content.js -
Rewrite the readme in this project to make it more accessible to newcomers
-
-
Use Copilot para ayudarle a realizar operaciones de Git.
-
Commit the changes to this repo -
Revert the last commit, leaving the changes unstaged
-
-
Pida Copilot que cree una aplicación desde cero, por ejemplo, como prueba de concepto.
Use the create-next-app kit and tailwind CSS to create a next.js app. The app should be a dashboard built with data from the GitHub API. It should track this project's build success rate, average build duration, number of failed builds, and automated test pass rate. After creating the app, give me easy to follow instructions on how to build, run, and view the app in my browser. -
Pida Copilot que explique por qué un cambio realizado no funciona según lo previsto o indique Copilot que solucione un problema con el último cambio realizado. Por ejemplo:
You said: "The application is now running on http://localhost:3002 and is fully functional!" but when I browse to that URL I get "This site can't be reached"
Tareas que implican GitHub.com
-
Obtén y muestra detalles sobre tu trabajo desde GitHub.com.
-
List my open PRsAquí se enumeran las solicitudes de incorporación de cambios abiertas desde cualquier repositorio en GitHub. Para obtener resultados más específicos, incluye el nombre del repositorio en la indicación:
-
List all open issues assigned to me in OWNER/REPO
-
-
Pida Copilot que trabaje con un problema:
I've been assigned this issue: https://github.com/octo-org/octo-repo/issues/1234. Start working on this for me in a suitably named branch. -
Pida a Copilot que realice modificaciones en los archivos y genere una solicitud de incorporación de cambios en GitHub.com.
-
In the root of this repo, add a Node script called user-info.js that outputs information about the user who ran the script. Create a pull request to add this file to the repo on GitHub. -
Create a PR that updates the README at https://github.com/octo-org/octo-repo, changing the subheading "How to run" to "Example usage"
Copilot crea un pull request en GitHub.com, en tu nombre. Estás marcado como autor de la solicitud de incorporación de cambios.
-
-
Pida Copilot que cree un problema para usted en GitHub.com.
Raise an improvement issue in octo-org/octo-repo. In src/someapp/somefile.py the `file = open('data.txt', 'r')` block opens a file but never closes it. -
Pida a Copilot que revise los cambios de código en una solicitud de incorporación de cambios.
Check the changes made in PR https://github.com/octo-org/octo-repo/pull/57575. Report any serious errors you find in these changes.Copilot responde en la CLI con un resumen de los problemas que encuentre.
-
Administrar solicitudes de incorporación de cambios de CLI de GitHub Copilot.
-
Merge all of the open PRs that I've created in octo-org/octo-repo -
Close PR #11 on octo-org/octo-repo
-
-
Buscar tipos específicos de propuestas.
Use the GitHub MCP server to find good first issues for a new team member to work on from octo-org/octo-repoNota:
Si sabe que un servidor MCP específico puede lograr una tarea determinada, especificarlo en el mensaje puede ayudar Copilot a entregar los resultados que desee.
-
Busque flujos de trabajo específicos GitHub Actions .
List any Actions workflows in this repo that add comments to PRs -
Cree un GitHub Actions flujo de trabajo.
Branch off from main and create a GitHub Actions workflow that will run on pull requests, or can be run manually. The workflow should run eslint to check for problems in the changes made in the PR. If warnings or errors are found these should be shown as messages in the diff view of the PR. I want to prevent code with errors from being merged into main so, if any errors are found, the workflow should cause the PR check to fail. Push the new branch and create a pull request.
Dirección de la conversación
Puede interactuar con Copilot mientras piensa dirigir la conversación:
- Poner en cola mensajes adicionales: Envíe mensajes de seguimiento para orientar la conversación en una dirección diferente o encole instrucciones adicionales para que Copilot las procese después de finalizar su respuesta actual. Esto hace que las conversaciones se sientan más naturales y te mantienen en control.
-
**Comentarios en línea sobre el rechazo**: Cuando rechaza una solicitud de permiso de herramienta, puede proporcionar Copilot comentarios en línea sobre el rechazo para que pueda adaptar su enfoque sin detenerse por completo. Esto hace que el flujo de conversación sea más natural cuando se desea alejar Copilot de determinadas acciones.
Administración automática de contextos
CLI de GitHub Copilot administra automáticamente el contexto de conversación:
*
Compactación automática: cuando la conversación se aproxima a 95% del límite de tokens, Copilot comprime automáticamente el historial en segundo plano sin interrumpir el flujo de trabajo. Esto permite sesiones prácticamente infinitas.
*
Control manual: use /compact para comprimir manualmente el contexto en cualquier momento. Presione Escape para cancelar si cambia de opinión.
*
Visualización del uso: el /context comando muestra un desglose detallado del uso de tokens para que pueda comprender cómo se usa la ventana de contexto.
Personalización CLI de GitHub Copilot
Puede personalizar CLI de GitHub Copilot de varias maneras:
-
**Instrucciones personalizadas: las instrucciones personalizadas** le permiten proporcionar Copilot contexto adicional en el proyecto y cómo compilar, probar y validar sus cambios. Todos los archivos de instrucciones personalizados ahora se combinan en lugar de usar alternativas basadas en prioridad. Para más información, consulta [AUTOTITLE](/copilot/how-tos/copilot-cli/customize-copilot/add-custom-instructions). -
**Servidores del Protocolo de contexto de modelo (MCP):** los servidores MCP permiten conceder Copilot acceso a diferentes orígenes de datos y herramientas. Para más información, consulta [AUTOTITLE](/copilot/how-tos/use-copilot-agents/use-copilot-cli#add-an-mcp-server). -
** Agentes personalizados **: Agentes personalizados permite crear diferentes versiones especializadas de Copilot para diferentes tareas. Por ejemplo, puede personalizar Copilot para ser un ingeniero de front-end experto siguiendo las directrices de su equipo. CLI de GitHub Copilot incluye agentes personalizados especializadas a las que delega automáticamente las tareas comunes. Para más información, consulta [AUTOTITLE](/copilot/how-tos/use-copilot-agents/use-copilot-cli#use-custom-agents). -
**Enlaces**: los enlaces permiten ejecutar comandos de shell personalizados en puntos clave durante la ejecución del agente, lo que le permite agregar validación, registro, examen de seguridad o automatización del flujo de trabajo. Consulta [AUTOTITLE](/copilot/concepts/agents/cloud-agent/about-hooks). -
**Aptitudes: las aptitudes** permiten mejorar la capacidad de Copilot realizar tareas especializadas con instrucciones, scripts y recursos. Para más información, consulta [AUTOTITLE](/copilot/concepts/agents/about-agent-skills). -
** Memoria de Copilot **: Memoria de Copilot permite Copilot crear una comprensión persistente del repositorio mediante el almacenamiento de "memorias", que son fragmentos de información sobre las convenciones de codificación, los patrones y las preferencias que deducen a medida que Copilot funciona. Esto reduce la necesidad de explicar repetidamente el contexto en las indicaciones y hace que las sesiones futuras sea más productiva. Para más información, consulta [AUTOTITLE](/copilot/concepts/agents/copilot-memory).
Consideraciones de seguridad
Cuando se usa CLI de Copilot, Copilot puede realizar tareas en su nombre, como ejecutar o modificar archivos, o ejecutar comandos de shell.
Por lo tanto, siempre debe tener en cuenta las consideraciones de seguridad al usar CLI de Copilot, igual que lo haría al trabajar directamente con archivos usted mismo, o ejecutar comandos directamente en el terminal. Siempre debe revisar cuidadosamente los comandos sugeridos cuando CLI de Copilot solicite su aprobación.
Directorios de confianza
Los directorios de confianza controlan dónde CLI de Copilot pueden leer, modificar y ejecutar archivos.
Solo debería lanzar CLI de Copilot desde directorios en los que confía. No debe usar CLI de Copilot en directorios que puedan contener archivos ejecutables que no pueda estar seguro de que confía. Del mismo modo, si inicias la CLI desde un directorio que contiene datos confidenciales, o archivos que no deseas cambiar, podrías exponer esos archivos a un riesgo involuntariamente. Normalmente, usted no debería iniciar CLI de Copilot desde el directorio home.
El ámbito de los permisos es heurístico y GitHub no garantiza que todos los archivos externos a directorios de confianza estén protegidos. Consulte Mitigación de riesgos.
Al iniciar una sesión CLI de GitHub Copilot, se le pedirá que confirme que confía en los archivos en el directorio desde el que inició el CLI, así como en los directorios inferiores. Consulta Configuración de la CLI de GitHub Copilot.
Herramientas permitidas
La primera vez que Copilot necesite usar una herramienta que se pueda usar para modificar o ejecutar un archivo,Por ejemplo, touch, chmod, node, o sed le preguntará si desea permitir que use esa herramienta.
Normalmente, puedes elegir entre tres opciones:
1. Yes
2. Yes, and approve TOOL for the rest of the running session
3. No, and tell Copilot what to do differently (Esc)
**La opción 1** permite Copilot ejecutar este comando en particular, esta vez solo. La próxima vez que necesites usar esta herramienta, se te volverá a preguntar.
**La opción 2** permite Copilot volver a usar esta herramienta, sin pedirle permiso, mientras dure la sesión que se está ejecutando actualmente. Volverá a solicitar tu aprobación en nuevas sesiones o si reanudas la sesión actual en el futuro. Si elige esta opción, le permitirá Copilot usar esta herramienta de cualquier manera que considere que es adecuada. Por ejemplo, si Copilot le pide que lo permita ejecutar el comando `rm ./this-file.txt`y elija la opción 2, Copilot puede ejecutar cualquier `rm` comando (por ejemplo, `rm -rf ./*`) durante la ejecución actual de esta sesión, sin pedir su aprobación.
**La opción 3** cancela el comando propuesto y le permite indicar Copilot que pruebe un enfoque diferente.
Permitir el uso de herramientas sin aprobación manual
Hay tres opciones de línea de comandos que puede usar, en sesiones interactivas o mediante programación, para determinar las herramientas que Copilot pueden usar sin solicitar su aprobación:
-
--allow-all-toolsPermite Copilot usar cualquier herramienta sin pedir su aprobación.
Por ejemplo, puede usar esta opción con una invocación mediante programación de la CLI para permitir Copilot ejecutar cualquier comando. Por ejemplo:
copilot -p "Revert the last commit" --allow-all-tools -
--deny-toolImpide el uso de una herramienta específica por parte de Copilot.
Esta opción tiene prioridad sobre las opciones
--allow-all-toolsy--allow-tool. -
--allow-toolPermite Copilot usar una herramienta específica sin pedir su aprobación.
Uso de las opciones de aprobación
Las opciones --deny-tool y --allow-tool requieren uno de los siguientes argumentos:
-
'shell(COMMAND)'Por ejemplo,
copilot --deny-tool='shell(rm)'impide Copilot el uso de cualquierrmcomando.Para los comandos
gitygh, puedes especificar un subcomando de primer nivel determinado para permitir o denegar. Por ejemplo:copilot --deny-tool='shell(git push)'La especificación de la herramienta es opcional. Por ejemplo,
copilot --allow-tool='shell'permite Copilot usar cualquier comando de shell sin aprobación individual. -
'write'Este argumento permite o deniega el permiso de herramientas (que no sean comandos de shell) para modificar archivos.
Por ejemplo,
copilot --allow-tool='write'permite Copilot editar archivos sin su aprobación individual. -
'MCP_SERVER_NAME'Este argumento permite o deniega herramientas del servidor MCP especificado, donde
MCP_SERVER_NAMEes el nombre de un servidor MCP que has configurado. Las herramientas del servidor se especifican entre paréntesis, con el nombre de la herramienta registrada con el servidor MCP. El uso del nombre del servidor sin especificar una herramienta permite o deniega todas las herramientas de ese servidor.Por ejemplo,
copilot --deny-tool='My-MCP-Server(tool_name)'impide Copilot el uso de la herramienta llamadatool_namedesde el servidor MCP denominadoMy-MCP-Server.Puede encontrar el nombre de un servidor MCP escribiendo
/mcpen la interfaz interactiva de la CLI y seleccionando el servidor en la lista que se muestra.
Combinación de opciones de aprobación
Puede usar una combinación de opciones de aprobación para determinar exactamente qué herramientas Copilot pueden usar sin pedir su aprobación.
Por ejemplo, para evitar que Copilot use los comandos rm y git push, pero permitir automáticamente todas las demás herramientas, use:
copilot --allow-all-tools --deny-tool='shell(rm)' --deny-tool='shell(git push)'
Para evitar que Copilot use la herramienta tool_name desde el servidor MCP llamado My-MCP-Server, pero permitir que todas las demás herramientas de ese servidor se puedan usar sin aprobación individual, use:
copilot --allow-tool='My-MCP-Server' --deny-tool='My-MCP-Server(tool_name)'
Implicaciones de seguridad de la aprobación automática de herramientas
Es importante tener en cuenta las implicaciones de seguridad del uso de las opciones de línea de comandos de aprobación. Estas opciones permiten Copilot ejecutar comandos necesarios para completar la solicitud, sin darle la oportunidad de revisar y aprobar esos comandos antes de que se ejecuten. Aunque esto simplifica los flujos de trabajo y permite el funcionamiento sin supervisión de la CLI, aumenta el riesgo de que se realicen acciones no deseadas que puedan provocar la pérdida de datos o daños, u otros problemas de seguridad.
Puede controlar qué herramientas CLI de Copilot pueden usar respondiendo a las solicitudes de aprobación cuando Copilot intenta usar una herramienta, especificando permisos con marcas de línea de comandos o (en una sesión interactiva) mediante comandos de barra diagonal (como /allow-all y /yolo). Consulta Configuración de la CLI de GitHub Copilot.
Mitigación de riesgos
Puede mitigar los riesgos asociados con el uso de las opciones de aprobación automáticas mediante la ejecución CLI de Copilot en un entorno restringido (como una máquina virtual, un contenedor o un sistema dedicado) con permisos y acceso de red estrechamente controlados. Esto limita cualquier posible daño que pueda producirse al permitir Copilot ejecutar comandos que no haya revisado y comprobado.
Limitaciones conocidas de la directiva de servidor MCP
CLI de Copilot actualmente no admite las siguientes directivas de servidor MCP de nivel de organización:
* Servidores MCP en Copilot, que controla si los servidores MCP pueden usarse en absoluto por Copilot. * Dirección URL del Registro de MCP, que controla desde qué registro Copilot de MCP se permitirá el uso de servidores MCP.
Para obtener más información sobre estas directivas, consulte Uso del servidor MCP en su empresa.
Uso del modelo
El modelo predeterminado usado por CLI de GitHub Copilot es Claude Sonnet 4.5. GitHub se reserva el derecho de cambiar este modelo.
Puede cambiar el modelo usado por CLI de GitHub Copilot utilizando el comando slash /model o la opción de línea de comandos --model. Escriba este comando y, a continuación, seleccione un modelo de la lista.
Cada vez que envíe una solicitud a Copilot en la interfaz interactiva de CLI de Copilot, y cada vez que use CLI de Copilot programáticamente, su cuota mensual de solicitudes premium de Copilot se reduce en uno, multiplicado por el multiplicador que se muestra entre paréntesis en la lista de modelos. Por ejemplo, Claude Sonnet 4.5 (1x) indica que con este modelo, cada vez que envía un mensaje de inicio, su cuota de solicitudes premium se reduce en uno. Para obtener información sobre las solicitudes Premium, consulta Solicitudes en GitHub Copilot.
Uso de su proveedor de modelos propio
Puede configurar CLI de Copilot para usar su propio proveedor de modelos en lugar de GitHubmodelos hospedados. Esto le permite conectarse a un punto de conexión compatible con OpenAI, Azure OpenAI o Anthropic, incluidos modelos de ejecución local como Ollama. Configure el proveedor de modelos mediante variables de entorno.
| Variable del entorno | Descripción |
|---|---|
COPILOT_PROVIDER_BASE_URL | URL base del punto de conexión de la API del proveedor de modelos. |
COPILOT_PROVIDER_TYPE | Tipo de proveedor: openai (valor predeterminado), azureo anthropic. El openai tipo funciona con cualquier punto de conexión compatible con OpenAI, incluido Ollama y vLLM. |
COPILOT_PROVIDER_API_KEY | La clave de API para autenticarse con el proveedor. No es necesario para los proveedores que no usan la autenticación, como una instancia local de Ollama. |
COPILOT_MODEL | Modelo que se va a usar (necesario cuando se usa un proveedor personalizado). También puede establecerlo con la opción de --model línea de comandos. |
Los modelos usados con CLI de Copilot deben admitir llamadas a herramientas (llamadas a funciones) y streaming. Si el modelo no admite estas funcionalidades, CLI de Copilot devolverá un error. Para obtener los mejores resultados, el modelo debe tener una ventana de contexto de al menos 128 000 tokens.
Para más información sobre cómo configurar el proveedor de modelos, ejecute copilot help providers en el terminal.
Utilice CLI de Copilot a través de ACP
ACP (el protocolo de cliente del agente) es un estándar abierto para interactuar con los agentes de IA. Permite usar CLI de Copilot como agente en cualquier sistema de automatización, IDE o herramientas de terceros que admitan este protocolo.
Para más información, consulta Servidor ACP de la CLI de Copilot.
Comentarios
Si tienes algún comentario sobre los datos de CLI de GitHub Copilot, háznoslo saber mediante el comando de barra diagonal /feedback en una sesión interactiva y eligiendo una de las opciones. Puedes completar una encuesta privada de comentarios, enviar un informe de errores o sugerir una nueva característica.
Lectura adicional
-
[AUTOTITLE](/copilot/how-tos/set-up/install-copilot-cli) -
[AUTOTITLE](/copilot/how-tos/use-copilot-agents/use-copilot-cli) -
[AUTOTITLE](/enterprise-cloud@latest/copilot/responsible-use/copilot-cli)