---
title: Scripting y automatización con la CLI
url: https://platform.claude.com/docs/es/cli-sdks-libraries/cli/scripting
description: Controla versiones de recursos de la API como archivos con ant apply, encadena comandos de la CLI ant en scripts, opera sobre recursos desde Claude Code y autentica llamadas curl con credenciales de la CLI.
---

Esta página cubre flujos de trabajo orientados a tareas construidos sobre la CLI `ant`. Para conocer los flags subyacentes y las opciones de salida, consulta [Uso de la CLI](https://platform.claude.com/docs/es/cli-sdks-libraries/cli/using).

## Control de versiones de recursos de la API

Para mantener agentes, entornos y otros recursos de Claude Managed Agents como archivos en tu repositorio, consulta [Gestionar recursos como código con ant apply](https://platform.claude.com/docs/es/cli-sdks-libraries/cli/apply).

### Ejecutar el agente aplicado desde la shell

Una vez que existen un agente y un entorno, puedes dirigir una sesión desde la shell:

<Steps>
  <Step title="Iniciar una sesión">
    Pasa los ID del agente y del entorno al comando de creación de sesión. Después de `ant apply`, léelos de `claude-lock.json`: cada entrada bajo `resources` tiene un `id`, y para el proyecto de [Gestionar recursos como código con ant apply](https://platform.claude.com/docs/es/cli-sdks-libraries/cli/apply) las entradas son `./agents/summarizer.md` y `./environments/cloud.yaml`.

    ```bash
    ant beta:sessions create \
      --agent agent_011CYm1BLqPXpQRk5khsSXrs \
      --environment-id env_01595EKxaaTTGwwY3kyXdtbs \
      --title "Summarization task"
    ```

    ```json Output
    {
      "id": "session_01JZCh78XvmxJjiXVy3oSi7K",
      "status": "running"
      /* ... */
    }
    ```
  </Step>

  <Step title="Envía un mensaje de usuario">
    Copia el `id` de la sesión de la salida anterior en `--session-id`:

    ```bash
    ant beta:sessions:events send \
      --session-id session_01JZCh78XvmxJjiXVy3oSi7K \
      --event '{type: user.message, content: [{type: text, text: "Summarize the benefits of type safety in one sentence."}]}'
    ```
  </Step>

  <Step title="Lee la conversación">
    Una vez que el agente haya respondido, lista los eventos. `--transform` se ejecuta sobre cada evento listado, por lo que esto imprime el texto de cada mensaje en orden. `--format auto` anula el explorador interactivo que los comandos de listado abren de forma predeterminada en una terminal:

    ```bash
    ant beta:sessions:events list \
      --session-id session_01JZCh78XvmxJjiXVy3oSi7K \
      --transform 'content.0.text' \
      --raw-output \
      --format auto
    ```

    ```text Output wrap
    Summarize the benefits of type safety in one sentence.
    Type safety catches errors at compile time rather than runtime, reducing bugs, improving code clarity, enabling better tooling support, and making codebases easier to maintain and refactor with confidence.
    ```

    <Tip>
      Para observar una sesión mientras se ejecuta, usa `ant beta:sessions:events stream --session-id session_01JZCh78XvmxJjiXVy3oSi7K --format jsonl`, que escribe cada evento en stdout a medida que llega. Sin `--format`, una terminal abre el explorador interactivo en su lugar.
    </Tip>
  </Step>
</Steps>

## Patrones de scripting

La CLI está diseñada para combinarse con las herramientas estándar del shell.

### Encadena la salida de un listado en un segundo comando

`--transform id --raw-output` en un endpoint de listado emite un ID sin formato por línea, por lo que herramientas estándar como `head` y `xargs` se aplican directamente. Captura el primer resultado y luego pásalo a un comando posterior:

```bash
FIRST_AGENT=$(ant beta:agents list --transform id --raw-output | head -1)

ant beta:agents:versions list \
  --agent-id "$FIRST_AGENT" \
  --transform "{version,created_at}" --format jsonl
```

### Inspecciona errores

Los flags `--transform-error` y `--format-error` aplican el mismo filtrado a las respuestas de error. `--raw-output` no se aplica a los errores, así que usa `--format-error yaml` para obtener un escalar sin comillas. Extrae solo el mensaje de error:

```bash
ant beta:agents retrieve --agent-id bogus \
  --transform-error error.message --format-error yaml 2>&1
```

```text Output wrap
GET "https://api.anthropic.com/v1/agents/bogus?beta=true": 404 Not Found
Agent not found.
```

## Usa la CLI desde Claude Code

[Claude Code](https://code.claude.com/docs/es/overview) puede usar la CLI `ant` sin configuración adicional. Con la CLI instalada y autenticada, puedes pedirle a Claude Code que opere directamente sobre tus recursos de la API. Por ejemplo:

* "Lista mis sesiones de agente recientes y resume cuáles tuvieron errores."
* "Sube cada PDF en `./reports` a la Files API e imprime los IDs resultantes."
* "Obtén los eventos de la sesión `session_01...` y dime dónde se quedó atascado el agente."

Claude Code invoca `ant` desde el shell, analiza la salida estructurada y razona sobre los resultados (no se requiere código de integración personalizado).

## Autentica solicitudes curl con credenciales de la CLI

Los scripts que llaman a la API con `curl` u otro cliente HTTP pueden usar las credenciales almacenadas por [`ant auth login`](https://platform.claude.com/docs/es/cli-sdks-libraries/cli/quickstart#authentication) en lugar de una "API key" (clave de API) estática. El token de acceso OAuth va en el encabezado `Authorization` como bearer token; el encabezado `x-api-key` es solo para claves de API estáticas.

`ant auth print-credentials --access-token` imprime el token de acceso del perfil activo, actualizándolo primero si está vencido o próximo a vencer:

```bash cURL
curl https://api.anthropic.com/v1/messages \
  -H "Authorization: Bearer $(ant auth print-credentials --access-token)" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-opus-5-5",
    "max_tokens": 256,
    "messages": [{"role": "user", "content": "hi"}]
  }'
```

<Note>
  Mantén `ANTHROPIC_API_KEY` y `ANTHROPIC_AUTH_TOKEN` sin definir cuando trabajes desde un inicio de sesión de la CLI. Cualquiera de las dos variables tiene precedencia sobre el inicio de sesión para los comandos `ant` (consulta [Precedencia de credenciales](https://platform.claude.com/docs/es/manage-claude/wif-reference#credential-precedence)) y puede dirigirlos silenciosamente a una organización o espacio de trabajo diferente.
</Note>

Ejecuta [`ant auth status`](https://platform.claude.com/docs/es/cli-sdks-libraries/cli/authentication#check-authentication-status) para confirmar en qué organización y espacio de trabajo has iniciado sesión; te advierte cuando una variable de entorno está anulando tu inicio de sesión.
