---
title: CLI-Scripting und Automatisierung
url: https://platform.claude.com/docs/de/cli-sdks-libraries/cli/scripting
description: Versioniere API-Ressourcen als Dateien mit ant apply, verkette ant-CLI-Befehle in Skripten, bearbeite Ressourcen aus Claude Code heraus und authentifiziere curl-Aufrufe mit CLI-Anmeldedaten.
---

Diese Seite behandelt aufgabenorientierte Workflows, die auf der `ant`-CLI aufbauen. Die zugrunde liegenden Flags und Ausgabeoptionen findest du unter [Die CLI verwenden](https://platform.claude.com/docs/de/cli-sdks-libraries/cli/using).

## API-Ressourcen versionieren

Wie du Agenten, Umgebungen und andere Claude-Managed-Agents-Ressourcen als Dateien in deinem Repository verwaltest, erfährst du unter [Ressourcen als Code mit ant apply verwalten](https://platform.claude.com/docs/de/cli-sdks-libraries/cli/apply).

### Den angewendeten Agenten aus der Shell ausführen

Sobald ein Agent und eine Umgebung existieren, kannst du eine Session aus der Shell steuern:

<Steps>
  <Step title="Eine Session starten">
    Übergib die Agenten- und Umgebungs-IDs an den Befehl zum Erstellen einer Session. Nach `ant apply` liest du sie aus `claude-lock.json` aus: Jeder Eintrag unter `resources` hat eine `id`, und für das Projekt in [Ressourcen als Code mit ant apply verwalten](https://platform.claude.com/docs/de/cli-sdks-libraries/cli/apply) lauten die Einträge `./agents/summarizer.md` und `./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="Sende eine Benutzernachricht">
    Kopiere die `id` der Session aus der vorherigen Ausgabe in `--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="Lies die Konversation">
    Sobald der Agent geantwortet hat, liste die Events auf. `--transform` wird auf jedes aufgelistete Event angewendet, sodass dies den Text jeder Nachricht der Reihe nach ausgibt. `--format auto` überschreibt den interaktiven Explorer, den List-Befehle in einem Terminal standardmäßig öffnen:

    ```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>
      Um eine Session während der Ausführung zu beobachten, verwende `ant beta:sessions:events stream --session-id session_01JZCh78XvmxJjiXVy3oSi7K --format jsonl`, das jedes Event bei seinem Eintreffen nach stdout schreibt. Ohne `--format` öffnet ein Terminal stattdessen den interaktiven Explorer.
    </Tip>
  </Step>
</Steps>

## Scripting-Muster

Die CLI ist so konzipiert, dass sie sich mit Standard-Shell-Werkzeugen kombinieren lässt.

### List-Ausgabe in einen zweiten Befehl verketten

`--transform id --raw-output` auf einem List-Endpunkt gibt eine reine ID pro Zeile aus, sodass Standardwerkzeuge wie `head` und `xargs` direkt anwendbar sind. Erfasse das erste Ergebnis und übergib es dann an einen Folgebefehl:

```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
```

### Fehler untersuchen

Die Flags `--transform-error` und `--format-error` wenden dieselbe Filterung auf Fehlerantworten an. `--raw-output` gilt nicht für Fehler, verwende daher `--format-error yaml` für einen Skalar ohne Anführungszeichen. Extrahiere nur die Fehlermeldung:

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

## Die CLI aus Claude Code heraus verwenden

[Claude Code](https://code.claude.com/docs/de/overview) kann die `ant`-CLI ohne weitere Konfiguration verwenden. Wenn die CLI installiert und authentifiziert ist, kannst du Claude Code bitten, direkt mit deinen API-Ressourcen zu arbeiten. Zum Beispiel:

* „Liste meine letzten Agenten-Sessions auf und fasse zusammen, welche davon Fehler hatten.“
* „Lade jede PDF-Datei in `./reports` in die Files API hoch und gib die resultierenden IDs aus."
* „Rufe die Events für die Session `session_01...` ab und sag mir, wo der Agent stecken geblieben ist."

Claude Code ruft `ant` über die Shell auf, parst die strukturierte Ausgabe und zieht Schlüsse aus den Ergebnissen (kein eigener Integrationscode erforderlich).

## curl-Anfragen mit CLI-Anmeldedaten authentifizieren

Skripte, die die API mit `curl` oder einem anderen HTTP-Client aufrufen, können die von [`ant auth login`](https://platform.claude.com/docs/de/cli-sdks-libraries/cli/quickstart#authentication) gespeicherten Anmeldedaten anstelle eines statischen API-Keys verwenden. Das OAuth-Access-Token gehört als Bearer-Token in den `Authorization`-Header; der `x-api-key`-Header ist nur für statische API-Keys vorgesehen.

`ant auth print-credentials --access-token` gibt das Access-Token des aktiven Profils aus und erneuert es zuvor, falls es abgelaufen ist oder kurz vor dem Ablauf steht:

```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>
  Lass `ANTHROPIC_API_KEY` und `ANTHROPIC_AUTH_TOKEN` ungesetzt, wenn du mit einem CLI-Login arbeitest. Jede der beiden Variablen hat für `ant`-Befehle Vorrang vor dem Login (siehe [Rangfolge der Anmeldedaten](https://platform.claude.com/docs/de/manage-claude/wif-reference#credential-precedence)) und kann sie unbemerkt an eine andere Organisation oder einen anderen Workspace weiterleiten.
</Note>

Führe [`ant auth status`](https://platform.claude.com/docs/de/cli-sdks-libraries/cli/authentication#check-authentication-status) aus, um zu überprüfen, bei welcher Organisation und welchem Workspace du angemeldet bist; der Befehl warnt dich, wenn eine Umgebungsvariable deinen Login überschreibt.
