---
title: CLIスクリプティングと自動化
url: https://platform.claude.com/docs/ja/cli-sdks-libraries/cli/scripting
description: ant applyでAPIリソースをファイルとしてバージョン管理し、スクリプト内でant CLIコマンドを連結し、Claude Codeからリソースを操作し、CLIの認証情報でcurl呼び出しを認証します。
---

このページでは、`ant` CLI上に構築されたタスク指向のワークフローについて説明します。基盤となるフラグや出力オプションについては、[CLIの使用](https://platform.claude.com/docs/ja/cli-sdks-libraries/cli/using)を参照してください。

## APIリソースのバージョン管理

エージェント、環境、その他のClaude Managed Agentsリソースをリポジトリ内のファイルとして管理するには、[ant applyでリソースをコードとして管理する](https://platform.claude.com/docs/ja/cli-sdks-libraries/cli/apply)を参照してください。

### 適用したエージェントをシェルから実行する

エージェントと環境が作成されたら、シェルからセッションを操作できます。

<Steps>
  <Step title="セッションを開始する">
    エージェントIDと環境IDをセッション作成コマンドに渡します。`ant apply`の実行後、これらは`claude-lock.json`から読み取れます。`resources`配下の各エントリには`id`があり、[ant applyでリソースをコードとして管理する](https://platform.claude.com/docs/ja/cli-sdks-libraries/cli/apply)のプロジェクトでは、エントリは`./agents/summarizer.md`と`./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="ユーザーメッセージを送信する">
    前の出力からセッションの `id` を `--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="会話を読む">
    エージェントが返信したら、イベントを一覧表示します。`--transform`は一覧表示された各イベントに対して実行されるため、これによりすべてのメッセージのテキストが順番に出力されます。`--format auto`は、ターミナルでlistコマンドがデフォルトで開くインタラクティブエクスプローラーを上書きします。

    ```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>
      実行中のセッションを監視するには、`ant beta:sessions:events stream --session-id session_01JZCh78XvmxJjiXVy3oSi7K --format jsonl`を使用します。これにより、各イベントが到着するたびにstdoutに書き出されます。`--format`を指定しない場合、ターミナルでは代わりにインタラクティブエクスプローラーが開きます。
    </Tip>
  </Step>
</Steps>

## スクリプティングパターン

CLIは、標準的なシェルツールと組み合わせて使えるように設計されています。

### list出力を2番目のコマンドに連結する

listエンドポイントで `--transform id --raw-output` を指定すると、1行につき1つの生のIDが出力されるため、`head` や `xargs` などの標準ツールをそのまま適用できます。最初の結果を取得し、それを後続のコマンドに渡します。

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

### エラーを調べる

`--transform-error` フラグと `--format-error` フラグは、エラーレスポンスに対して同じフィルタリングを適用します。`--raw-output` はエラーには適用されないため、引用符なしのスカラー値を得るには `--format-error yaml` を使用します。エラーメッセージのみを抽出するには次のようにします。

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

## Claude CodeからCLIを使用する

[Claude Code](https://code.claude.com/docs/ja/overview)は、`ant` CLIをそのまま使用できます。CLIがインストールされ認証済みであれば、Claude CodeにAPIリソースを直接操作するよう依頼できます。例：

* 「最近のエージェントセッションを一覧表示して、どれがエラーになったか要約して。」
* 「`./reports` 内のすべてのPDFをFiles APIにアップロードして、結果のIDを出力して。」
* 「セッション `session_01...` のイベントを取得して、エージェントがどこで行き詰まったか教えて。」

Claude Codeは `ant` をシェル経由で呼び出し、構造化された出力を解析し、その結果について推論します（カスタムの統合コードは不要です）。

## CLIの認証情報でcurlリクエストを認証する

`curl` やその他のHTTPクライアントでAPIを呼び出すスクリプトは、静的なAPIキーの代わりに、[`ant auth login`](https://platform.claude.com/docs/ja/cli-sdks-libraries/cli/quickstart#authentication) によって保存された認証情報を使用できます。OAuthアクセストークンはベアラートークンとして `Authorization` ヘッダーに指定します。`x-api-key` ヘッダーは静的なAPIキー専用です。

`ant auth print-credentials --access-token` は、アクティブなプロファイルのアクセストークンを出力します。トークンが期限切れまたは期限切れ間近の場合は、先に更新してから出力します。

```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>
  CLIログインを使用して作業する場合は、`ANTHROPIC_API_KEY` と `ANTHROPIC_AUTH_TOKEN` を未設定のままにしてください。いずれの変数も `ant` コマンドではログインより優先され（[認証情報の優先順位](https://platform.claude.com/docs/ja/manage-claude/wif-reference#credential-precedence)を参照）、気付かないうちにコマンドを別の組織やワークスペースにルーティングしてしまう可能性があります。
</Note>

[`ant auth status`](https://platform.claude.com/docs/ja/cli-sdks-libraries/cli/authentication#check-authentication-status) を実行して、どの組織とワークスペースにログインしているかを確認してください。環境変数がログインを上書きしている場合は警告が表示されます。
