{"meta":{"title":"Referencia programática de la CLI de GitHub Copilot","intro":"Busque opciones para ejecutar CLI de Copilot mediante programación.","product":"GitHub Copilot","breadcrumbs":[{"href":"/es/copilot","title":"GitHub Copilot"},{"href":"/es/copilot/reference","title":"Referencia"},{"href":"/es/copilot/reference/copilot-cli-reference","title":"Referencia CLI de Copilot"},{"href":"/es/copilot/reference/copilot-cli-reference/cli-programmatic-reference","title":"Referencia programática de la Interfaz de Línea de Comandos (CLI)"}],"documentType":"article"},"body":"# Referencia programática de la CLI de GitHub Copilot\n\nBusque opciones para ejecutar CLI de Copilot mediante programación.\n\nAdemás de ejecutar CLI de Copilot de forma interactiva, también puede enviar un comando directamente a la CLI en un solo comando, sin entrar en una sesión interactiva. Esto le permite usar Copilot mediante programación en scripts, canalizaciones de CI/CD y flujos de trabajo de automatización. Para obtener más información, vea [Ejecución CLI de GitHub Copilot de forma programática](/es/copilot/how-tos/copilot-cli/automate-copilot-cli/run-cli-programmatically).\n\nEn este artículo se describen las opciones de línea de comandos y las variables de entorno que son especialmente relevantes al ejecutarse CLI de Copilot mediante programación.\n\nPara ver una lista completa de las opciones disponibles, consulte [Referencia de comandos de la CLI de GitHub Copilot](/es/copilot/reference/copilot-cli-reference/cli-command-reference#command-line-options) o escriba el siguiente comando en el terminal:\n\n```shell copy\ncopilot help\n```\n\n## Opciones de línea de comandos\n\nHay una serie de opciones de línea de comandos que son especialmente útiles al ejecutarse CLI de Copilot mediante programación.\n\n| Opción                      | Descripción                                                                                                                                                                                                                                                                                                                   |\n| --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `-p PROMPT`                 | Ejecute un comando en modo no interactivo. La CLI ejecuta la instrucción y se cierra al terminar.                                                                                                                                                                                                                             |\n| `-s`                        | Suprima estadísticas y decoración, para que se vea únicamente la respuesta del agente. Ideal para canalizar salidas en scripts.                                                                                                                                                                                               |\n| `--add-dir=DIRECTORY`       | Agregue un directorio a la lista de rutas de acceso permitidas. Esto se puede usar varias veces para agregar varios directorios. Resulta útil cuando el agente necesita leer y escribir fuera del directorio de trabajo actual.                                                                                               |\n| `--agent=AGENT`             | Especifique un agente personalizado que se va a usar.                                                                                                                                                                                                                                                                         |\n| `--allow-all` (o `--yolo`)  | Permitir todos los permisos de la CLI. Equivalente a `--allow-all-tools --allow-all-paths --allow-all-urls`.                                                                                                                                                                                                                  |\n| `--allow-all-paths`         | Desactivar por completo la verificación de la ruta de acceso del archivo. Alternativa más sencilla a `--add-dir` cuando no se necesitan restricciones de ruta de acceso.                                                                                                                                                      |\n| `--allow-all-tools`         | Permitir que todas las herramientas se ejecuten sin permiso explícito para cada herramienta.                                                                                                                                                                                                                                  |\n| `--allow-all-urls`          | Permitir el acceso a todas las direcciones URL sin permiso explícito para cada dirección URL.                                                                                                                                                                                                                                 |\n| `--allow-tool=TOOL ...`     | Conceda de forma selectiva permiso para una herramienta específica. Para varias herramientas, use una lista entrecomillada y separada por comas.                                                                                                                                                                              |\n| `--allow-url=URL ...`       | Permitir que el agente capture una dirección URL o un dominio específicos. Resulta útil cuando un flujo de trabajo necesita acceso web a puntos de conexión conocidos. Para varias direcciones URL, use una lista entrecomillada y separada por comas.                                                                        |\n| `--deny-tool=TOOL ...`      | Denegar una herramienta específica. Resulta útil para restringir lo que el agente puede hacer en un flujo de trabajo bloqueado. Para varias herramientas, use una lista entrecomillada y separada por comas.                                                                                                                  |\n| `--model=MODEL`             | Elija el modelo de IA (por ejemplo, `gpt-5.2` o `claude-sonnet-4.6`). Resulta útil para anclar un modelo en flujos de trabajo reproducibles. Consulte [Elección de un modelo](#choosing-a-model) a continuación.                                                                                                              |\n| `--no-ask-user`             | Impida que el agente se detenga para buscar entradas de usuario adicionales.                                                                                                                                                                                                                                                  |\n| `--secret-env-vars=VAR ...` | Variable de entorno cuyo valor desea ocultar en la salida. Para varias variables, use una lista entrecomillada y separada por comas. Esencial para evitar que los secretos se expongan en los registros. Los valores de las `GITHUB_TOKEN` variables de entorno y `COPILOT_GITHUB_TOKEN` se redactan de forma predeterminada. |\n| `--share=PATH`              | Exporte la transcripción de sesión a un archivo markdown después de la finalización no interactiva (el valor predeterminado es `./copilot-session-<ID>.md`). Resulta útil para auditar o archivar lo que hizo el agente. Tenga en cuenta que las transcripciones de sesión pueden contener información confidencial.          |\n| `--share-gist`              | Publique la transcripción de la sesión como un Gist secreto de GitHub al finalizar. Ideal para compartir resultados de CI. Tenga en cuenta que las transcripciones de sesión pueden contener información confidencial.                                                                                                        |\n\n## Herramientas para la `--allow-tool` opción\n\nPuede especificar varios tipos de herramientas con la `--allow-tool` opción .\n\n| Tipo de herramienta | Qué controla                                                                                                                                                                                                                                                                 |\n| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| shell               | Ejecución de comandos de shell.                                                                                                                                                                                                                                              |\n| write               | Crear o modificar archivos.                                                                                                                                                                                                                                                  |\n| leer                | Leer archivos o directorios.                                                                                                                                                                                                                                                 |\n| url                 | Capturar contenido de una dirección URL.                                                                                                                                                                                                                                     |\n| memoria             | Almacenar nuevos hechos en la memoria persistente del agente. Esto no afecta al uso de memorias existentes. Consulte [Acerca de la memoria agente para GitHub Copilot](/es/copilot/concepts/agents/copilot-memory).                                                          |\n| MCP-SERVER          | Invocar herramientas desde un servidor MCP específico. Use el nombre configurado del servidor como identificador, por ejemplo, `github`. Consulte [Adición de servidores MCP para CLI de GitHub Copilot](/es/copilot/how-tos/copilot-cli/customize-copilot/add-mcp-servers). |\n\n### Filtros de herramientas\n\nLos `shell`tipos de herramientas de servidor , `write`, `url`y MCP permiten especificar un filtro, entre paréntesis, para controlar qué herramientas específicas se permiten.\n\n<!-- markdownlint-disable -->\n\n| Tipo de herramienta | Ejemplo                                  | Explicación del ejemplo                                                                             |\n| ------------------- | ---------------------------------------- | --------------------------------------------------------------------------------------------------- |\n| **shell**           | `shell(git:*)`                           | Permitir todos los subcomandos de Git (`git push`, `git status`, etc.).                             |\n|                     | `shell(npm test)`                        | Permita el comando exacto `npm test`.                                                               |\n| **escribir**        | `write(.github/copilot-instructions.md)` | Permitir que la CLI escriba en esta ruta de acceso específica.                                      |\n|                     | `write(README.md)`                       | Permitir que la CLI escriba en cualquier archivo cuya ruta de acceso termine con `/README.md`.      |\n| **url**             | `url(github.com)`                        | Permitir que la CLI acceda a direcciones URL HTTPS en github.com.                                   |\n|                     | `url(http://localhost:3000)`             | Permitir que la CLI acceda al servidor de desarrollo local con el protocolo y el puerto explícitos. |\n|                     | `url(https://*.github.com)`              | Permitir que la CLI acceda a cualquier GitHub subdominio (por ejemplo, `api.github.com`).           |\n|                     | `url(https://docs.github.com/copilot/*)` | Permitir el acceso a la Copilot documentación en este sitio.                                        |\n| **MCP-SERVER**      | `github(create_issue)`                   | Permita solo la herramienta `create_issue` del servidor MCP de `github`.                            |\n\n<!-- markdownlint-enable -->\n\n> \\[!NOTE]\n> Los caracteres comodín solo se admiten en `shell` para que coincidan con todos los subcomandos de una herramienta determinada y en `url` al principio del nombre de host para que coincida con cualquier subdominio, o al final de una ruta para que coincida con cualquier sufijo de ruta, tal y como se muestra en la tabla anterior.\n\n## Variables de entorno\n\nPuede usar variables de entorno para configurar varios aspectos del comportamiento de la CLI al ejecutarse mediante programación. Esto resulta especialmente útil para establecer la configuración en flujos de trabajo de CI/CD u otros entornos automatizados en los que es posible que no desee especificar determinadas opciones directamente en la línea de comandos.\n\n| Variable               | Descripción                                                                                                |\n| ---------------------- | ---------------------------------------------------------------------------------------------------------- |\n| `COPILOT_ALLOW_ALL`    | Establézcalo en `true` para permisos completos                                                             |\n| `COPILOT_MODEL`        | Establecer el modelo (por ejemplo, `gpt-5.2`, `claude-sonnet-4.5`)                                         |\n| `COPILOT_HOME`         | Establecer el directorio para el archivo de configuración de la CLI (`~/.copilot` de forma predeterminada) |\n| `COPILOT_GITHUB_TOKEN` | Token de autenticación (prioridad más alta)                                                                |\n| `GH_TOKEN`             | Token de autenticación (segunda prioridad)                                                                 |\n| `GITHUB_TOKEN`         | Token de autenticación (tercera prioridad)                                                                 |\n\nPara obtener detalles completos de las variables de entorno para CLI de Copilot, use el comando `copilot help environment` en el terminal.\n\n## Elección de un modelo\n\nCuando se envía una solicitud a CLI de Copilot en modo no interactivo, el modelo que usa la CLI para generar una respuesta se muestra en la salida de la respuesta (si no se usa la `-s`opción , o `--silent`).\n\nPuede usar la `--model` opción para especificar qué modelo de IA debe usar la CLI. Esto te permite elegir un modelo que se adapte mejor a tu consulta, equilibrando factores como la velocidad, el costo y la capacidad.\n\nPor ejemplo, para tareas sencillas, como explicar código o generar un resumen, puede elegir un modelo de costo rápido y menor, como un modelo de Claude Haiku:\n\n```bash copy\ncopilot -p \"What does this project do?\" -s --model claude-haiku-4.5\n```\n\nPara tareas más complejas que requieren un razonamiento más profundo (como depuración o refactorización de código), puede elegir un modelo más eficaz, como un modelo GPT Codex:\n\n```bash copy\ncopilot -p \"Fix the race condition in the worker pool\" \\\n  --model gpt-5.3-codex \\\n  --allow-tool='write, shell'\n```\n\n> \\[!NOTE]\n> Puede encontrar las cadenas de modelo para todos los modelos disponibles en la descripción de la opción `--model` al escribir `copilot help` en terminal.\n\nComo alternativa, puede establecer la `COPILOT_MODEL` variable de entorno para especificar un modelo durante la sesión del shell.\n\nPara conservar una selección de modelo entre sesiones de shell, puede establecer la `model` clave en el archivo de configuración de la CLI. Este archivo se encuentra en `~/.copilot/config.json` (o `$COPILOT_HOME/.copilot/config.json` si ha establecido la `COPILOT_HOME` variable de entorno). Algunos modelos también permiten establecer un nivel de esfuerzo de razonamiento, que controla cuánto tiempo dedica el modelo a pensar antes de responder.\n\n```json copy\n{\n  \"model\": \"gpt-5.3-codex\",\n  \"reasoning_effort\": \"low\"\n}\n```\n\n> \\[!TIP]\n> La manera más fácil de establecer un modelo de forma persistente en el archivo de configuración es con el `/model` comando de barra diagonal en una sesión interactiva. La elección que elija con este comando se escribe en el archivo de configuración.\n\n### Prioridad del modelo\n\nAl determinar qué modelo se va a usar para un mensaje determinado, la CLI comprueba las especificaciones del modelo en el siguiente orden de prioridad (de mayor a menor):\n\n* Donde se usa un agente personalizado: el modelo especificado en la definición del agente personalizado (si existe).\n* Opción de línea de comandos `--model`.\n* Variable de entorno `COPILOT_MODEL`.\n* Clave `model` del archivo de configuración (`~/.copilot/config.json` o `$COPILOT_HOME/.copilot/config.json`).\n* Modelo predeterminado de la CLI.\n\n## Uso de agentes personalizados\n\nPuede delegar el trabajo en un agente especializado mediante la `--agent` opción . Para obtener más información, vea [Creación y uso de agentes personalizados para CLI de GitHub Copilot](/es/copilot/how-tos/copilot-cli/customize-copilot/create-custom-agents-for-cli).\n\nEn este ejemplo, se usa el `code-review` agente. Esto requiere que se haya creado un agente personalizado con este nombre.\n\n```bash\ncopilot -p \"Review the latest commit\" \\\n  --allow-tool='shell' \\\n  --agent code-review\n```\n\n## Lectura adicional\n\n* [CLI de GitHub Copilot](/es/copilot/how-tos/copilot-cli)\n* [Referencia de comandos de la CLI de GitHub Copilot](/es/copilot/reference/copilot-cli-reference/cli-command-reference)\n* [Referencia del plugin CLI de GitHub Copilot](/es/copilot/reference/copilot-cli-reference/cli-plugin-reference)"}