---
title: セルフホストワーカーリファレンス
url: https://platform.claude.com/docs/ja/managed-agents/self-hosted-sandboxes-reference
description: セルフホスト型サンドボックスワーカーのリファレンス：ant CLIフラグ、環境変数、ホスト要件、ファイルシステムパス、SDKヘルパーオプション。
featureMetadata:
  topic:
    title: Managed Agents
    url: https://platform.claude.com/docs/en/managed-agents/overview
  status: beta
  betaHeader: managed-agents-2026-04-01
---

このページでは、`self_hosted`環境を処理する事前構築済みのワーカーについて説明します。タスク指向のガイドについては、まず[セルフホスト型サンドボックス](https://platform.claude.com/docs/ja/managed-agents/self-hosted-sandboxes)と[セルフホストワーカーをデプロイする](https://platform.claude.com/docs/ja/managed-agents/self-hosted-sandboxes-workers)を参照してください。

## CLIコマンドとフラグ

| コマンド                   | 説明                                                                                   |
| ---------------------- | ------------------------------------------------------------------------------------ |
| `ant beta:worker poll` | 環境のキューからワークアイテムを取得し、各セッションをプロセス内で実行します。`--on-work`を指定すると、代わりにワークアイテムごとにスクリプトを呼び出します。 |
| `ant beta:worker run`  | 取得済みの1つのセッションを処理して終了します。セッションごとのサンドボックスのエントリポイントとして使用します。                            |

| フラグ                 | 説明                                                                                                                                                |
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `--environment-id`  | ワークをポーリングする環境。`ANTHROPIC_ENVIRONMENT_ID`からも読み取ります。                                                                                                |
| `--environment-key` | この環境に対してワーカーを認証します。`ANTHROPIC_ENVIRONMENT_KEY`からも読み取ります。                                                                                          |
| `--workdir`         | スキルがダウンロードされ、ツールがファイルを読み書きするディレクトリ。デフォルトは`.`（カレントディレクトリ）です。                                                                                       |
| `--on-work`         | ツールをプロセス内で実行する代わりに、取得したワークアイテムごとに呼び出すスクリプト。セッションの詳細を環境変数として、ワークアイテムをJSONとして標準入力で受け取ります。                                                           |
| `--max-idle`        | セッションが`end_turn`の[停止理由](https://platform.claude.com/docs/ja/build-with-claude/handling-stop-reasons)でアイドル状態になった後、シャットダウンするまで待機する時間。デフォルトは`60s`です。 |
| `--log-format`      | ログの出力形式。構造化ログの取り込みには`json`を使用します。デフォルトは`text`です。                                                                                                  |

## 環境変数

| 変数                              | 説明                              | 設定者                                                                                                                                                                   |
| ------------------------------- | ------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ANTHROPIC_ENVIRONMENT_ID`      | ワーカーが処理するキューを持つ環境。              | お客様がワーカーホスト上で設定します。ポーラーはこれを`--on-work`スクリプトに渡します。                                                                                                                     |
| `ANTHROPIC_ENVIRONMENT_KEY`     | ワーカーをそのキューに対して認証します。            | お客様がワーカーホスト上で設定します。ポーラーはこれを`--on-work`スクリプトに渡します。                                                                                                                     |
| `ANTHROPIC_SESSION_ID`          | 取得したワークアイテムが表すセッション。            | ポーラーが`--on-work`スクリプト用に設定します。                                                                                                                                         |
| `ANTHROPIC_WORK_ID`             | 取得したワークアイテム。                    | ポーラーが`--on-work`スクリプト用に設定します。                                                                                                                                         |
| `ANTHROPIC_WORK_SECRET`         | ワークアイテムのセッションごとのシークレット。         | お客様が設定します。ポーラーは設定しません。[ワークアイテムのシークレットを転送する](https://platform.claude.com/docs/ja/managed-agents/self-hosted-sandboxes-workers#forward-the-work-items-secret)を参照してください。 |
| `ANTHROPIC_BASE_URL`            | デフォルトのAPIエンドポイントを上書きします。省略可能です。 | お客様がワーカーホスト上で設定します。                                                                                                                                                   |
| `ANTHROPIC_WEBHOOK_SIGNING_KEY` | 受信したWebhookペイロードを検証します。         | お客様がWebhookハンドラーホスト上で設定します。                                                                                                                                           |

## ホスト要件

| ワーカー            | 要件                                                                  |
| --------------- | ------------------------------------------------------------------- |
| すべてのワーカー        | `/bin/bash`がそのパスに存在するLinuxホスト。ワーカーのbashツールは`PATH`を参照せずに直接これを呼び出します。 |
| TypeScript SDK  | `PATH`上の`unzip`と`tar`、およびNode.js 22以降。                              |
| PythonおよびGo SDK | 追加のバイナリは不要です。これらのSDKはアーカイブの展開に標準ライブラリを使用します。                        |

[メモリストア](https://platform.claude.com/docs/ja/managed-agents/self-hosted-sandboxes-memory#requirements)には独自の要件が追加されます。

## サンドボックスのファイルシステム

| パス                         | 内容                                                                                                                                                                                       |
| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `/workspace`               | ツール実行とスキルダウンロードのためのシステムデフォルトの作業ディレクトリ。別の作業ディレクトリを使用する場合は、Claudeがスキルファイルを見つけられるようにエージェントのシステムプロンプトを更新してください。                                                                              |
| `<workdir>/skills/<name>/` | エージェントのダウンロード済みスキル。                                                                                                                                                                      |
| `/mnt/memory/<store>/`     | アタッチされたメモリストアごとに1つのディレクトリで、ストアの`mount_path` (java, php: `mountPath`; csharp, go: `MountPath`)に配置されます（例：`/mnt/memory/user-preferences/`）。ワーカーはセッションを取得したときにこれらのディレクトリを作成し、セッション終了時に削除します。 |

セルフホスト環境では、セッションのシステムプロンプトから、Anthropic管理のサンドボックスで使用される`/mnt/session/outputs`の指示が省略されます。最終成果物は、エージェントがサンドボックスのファイルシステム内で書き込んだ場所（通常は作業ディレクトリ配下）に配置されます。

スキルには、エージェントが直接実行できる実行可能ファイルを含めることができます。CLIおよびSDKのワーカーは、スキルバンドルを展開する際に、バンドルに記録された実行権限を保持します。スキルのダウンロードを手動で実装する場合は、実行権限の設定はお客様の責任となります。

## SDKヘルパー

Python、TypeScript、Go SDKは、制御レベルの異なる3つのヘルパーを提供します：

| ヘルパー                                                                                                                                                                                                                                                              | 機能                                         | 使用する場面                                                          |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------ | --------------------------------------------------------------- |
| [`EnvironmentWorker`](https://platform.claude.com/docs/ja/managed-agents/self-hosted-sandboxes-reference#environment-worker)                                                                                                                                      | ポーリング、セットアップ、実行をエンドツーエンドで処理します。            | ほとんどの場合。                                                        |
| [`work.poller()` (go: `environments.NewWorkPoller()`)](https://platform.claude.com/docs/ja/managed-agents/self-hosted-sandboxes-reference#work-poller)                                                                                                            | ワークキューをポーリングし、取得した各セッションを渡します。             | 各セッションで何を行うかを自分で決定する場合。たとえば、ツールをプロセス内で実行する代わりにサンドボックスを起動する場合など。 |
| [`client.beta.sessions.events.tool_runner()` (typescript: `client.beta.sessions.events.toolRunner()`; go: `client.Beta.Sessions.Events.NewToolRunner()`)](https://platform.claude.com/docs/ja/managed-agents/self-hosted-sandboxes-reference#session-tool-runner) | セッションIDとツールリストを受け取り、単一セッションのツール呼び出しを実行します。 | すでにワークを取得済みで、実行レイヤーのみが必要な場合。                                    |

### EnvironmentWorker

| メソッド                                                             | 説明                                                                                                                                                                                                                                                 |
| ---------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `run()` (go: `Run()`)                                            | 無期限に実行され、到着したセッションを順次処理します。                                                                                                                                                                                                                        |
| `handle_item()` (typescript: `handleItem()`; go: `HandleItem()`) | 取得済みの単一のワークアイテムを処理して戻ります。ワーク、セッション、環境の識別子と`work_secret` (typescript: `workSecret`; go: `WorkSecret`)を明示的に渡すか、[`ANTHROPIC_*`変数](https://platform.claude.com/docs/ja/managed-agents/self-hosted-sandboxes-reference#environment-variables)から読み取らせます。 |

| オプション                                                                                  | 説明                                                                                                                                                  |
| -------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| `tools` (go: `ToolsFunc`)                                                              | セッションの`AgentToolContext`を受け取り、ツールリストを返すファクトリ。デフォルトは標準のエージェントツールセットです。                                                                               |
| `memory_sync_interval` (typescript: `memorySyncIntervalMs`; go: `MemorySyncInterval`)  | セッション実行中に、アタッチされたメモリストアがサーバーと照合する頻度。[同期間隔](https://platform.claude.com/docs/ja/managed-agents/self-hosted-sandboxes-memory#sync-interval)を参照してください。 |
| `memory_sync_deletions` (typescript: `memorySyncDeletions`; go: `MemorySyncDeletions`) | エージェントがローカルで削除したファイルをストアからも削除するかどうか。[削除](https://platform.claude.com/docs/ja/managed-agents/self-hosted-sandboxes-memory#deletions)を参照してください。       |

`EnvironmentWorker`は`AgentToolContext`とツールセットを自動的に管理します。ツールリストをカスタマイズするには、`tools` (go: `ToolsFunc`)ファクトリを渡します：

<CodeGroup exclude="shell, csharp, java, php, ruby">
  ```python Python
  EnvironmentWorker(client, ..., tools=lambda env: [beta_bash_tool(env), my_custom_tool])
  ```

  ```typescript TypeScript
  new EnvironmentWorker({
    client,
    environmentId,
    environmentKey,
    tools: (ctx) => [betaBashTool(ctx), myCustomTool]
  });
  ```

  <CodeGroupItem language="C#">
    C# SDKには`EnvironmentWorker`がありません。独自のコードからカスタムツール呼び出しに応答するには、[カスタムツールの結果を返す](https://platform.claude.com/docs/ja/managed-agents/events-and-streaming#return-a-custom-tool-result)のように、各結果をセッションのイベントストリームで送信してください。
  </CodeGroupItem>

  ```go Go
  worker := environments.NewEnvironmentWorker(client, environments.EnvironmentWorkerOptions{
  	EnvironmentID:  environmentID,
  	EnvironmentKey: environmentKey,
  	ToolsFunc: func(env *agenttoolset.AgentToolContext) []anthropic.BetaTool {
  		return []anthropic.BetaTool{agenttoolset.BetaBashTool(env), myCustomTool}
  	},
  })
  ```

  <CodeGroupItem language="Java">
    Java SDKには`EnvironmentWorker`がありません。独自のコードからカスタムツール呼び出しに応答するには、[カスタムツールの結果を返す](https://platform.claude.com/docs/ja/managed-agents/events-and-streaming#return-a-custom-tool-result)のように、各結果をセッションのイベントストリームで送信してください。
  </CodeGroupItem>

  <CodeGroupItem language="PHP">
    PHP SDKには`EnvironmentWorker`がありません。独自のコードからカスタムツール呼び出しに応答するには、[カスタムツールの結果を返す](https://platform.claude.com/docs/ja/managed-agents/events-and-streaming#return-a-custom-tool-result)のように、各結果をセッションのイベントストリームで送信してください。
  </CodeGroupItem>

  <CodeGroupItem language="Ruby">
    Ruby SDKには`EnvironmentWorker`がありません。独自のコードからカスタムツール呼び出しに応答するには、[カスタムツールの結果を返す](https://platform.claude.com/docs/ja/managed-agents/events-and-streaming#return-a-custom-tool-result)のように、各結果をセッションのイベントストリームで送信してください。
  </CodeGroupItem>
</CodeGroup>

### ワークポーラー

| オプション                                                                                | 説明                                                                                                                                                                                                                                                       |
| ------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `drain` (go: `Drain`)                                                                | 新しいワークを待たずに、キューが空になった時点でポーリングを停止するかどうか。                                                                                                                                                                                                                  |
| `block_ms` (typescript: `blockMs`; go: `BlockMs`)                                    | 各ポーリングが戻る前にワークの到着を待機する時間（ミリ秒）。1から999の間である必要があります。ヘルパーは自動的に再ポーリングします。ノンブロッキングのチェックには`null` (python: `None`; go: `param.Null[int64]()`)を渡します。デフォルトは999 msのロングポーリングです。                                                                                      |
| `reclaim_older_than_ms` (typescript: `reclaimOlderThanMs`; go: `ReclaimOlderThanMs`) | 取得されたものの、このミリ秒数以内に確認応答されなかったワークアイテムを再取得します。                                                                                                                                                                                                              |
| `auto_stop` (typescript: `autoStop`; go: `AutoStop`)                                 | ループ本体が各ワークアイテムの処理を終えた時点で、そのワークアイテムの停止シグナルを送信するかどうか。ワークアイテムを実行するもの自体が停止を送信する場合は、`false` (python: `False`; go: `param.NewOpt(false)`)に設定します。`handle_item()` (typescript: `handleItem()`; go: `HandleItem()`)は停止を送信します。また、停止呼び出しを担当する、お客様が起動したサンドボックスも同様です。 |

完全な例については、[SDKポーラーからサンドボックスを起動する](https://platform.claude.com/docs/ja/managed-agents/self-hosted-sandboxes-workers#launch-sandboxes-from-the-sdk-poller)を参照してください。

### セッションツールランナー

`client.beta.sessions.events.tool_runner()` (typescript: `client.beta.sessions.events.toolRunner()`; go: `client.Beta.Sessions.Events.NewToolRunner()`)は、ツールリストを`tools` (go: `Tools`)として受け取ります。そのリストを構築するには、`AgentToolContext`を自分でセットアップし、`beta_agent_toolset_20260401(env)` (typescript: `betaAgentToolset20260401(ctx)`; go: `agenttoolset.BetaAgentToolset20260401(env)`)を呼び出します：

<CodeGroup exclude="shell, csharp, java, php, ruby">
  ```python Python
  from anthropic.lib.tools.agent_toolset import (
      AgentToolContext,
      beta_agent_toolset_20260401,
  )

  async with AgentToolContext(
      workdir="/workspace", client=client, session_id=work.data.id
  ) as env:
      # スキルは /workspace/skills/<name>/ にダウンロードされます
      tools = beta_agent_toolset_20260401(env)
  ```

  ```typescript TypeScript
  import {
    setupSkills,
    betaAgentToolset20260401
  } from "@anthropic-ai/sdk/tools/agent-toolset/node";

  const ctx = { workdir: "/workspace", client, sessionId: work.data.id };
  await setupSkills(ctx);
  const tools = betaAgentToolset20260401(ctx);
  ```

  <CodeGroupItem language="C#">
    C# SDKには`AgentToolContext`がありません。
  </CodeGroupItem>

  ```go Go
  env := &agenttoolset.AgentToolContext{Workdir: "/workspace"}
  if err := env.SetupSkills(ctx, client, work.Data.ID); err != nil {
  	panic(err)
  }
  // スキルは /workspace/skills/<name>/ にダウンロードされます
  tools := agenttoolset.BetaAgentToolset20260401(env)
  ```

  <CodeGroupItem language="Java">
    Java SDKには`AgentToolContext`がありません。
  </CodeGroupItem>

  <CodeGroupItem language="PHP">
    PHP SDKには`AgentToolContext`がありません。
  </CodeGroupItem>

  <CodeGroupItem language="Ruby">
    Ruby SDKには`AgentToolContext`がありません。
  </CodeGroupItem>
</CodeGroup>

### AgentToolContextとエージェントツールセット

`AgentToolContext`はツール呼び出しの実行コンテキストです。作業ディレクトリとパスポリシーを定義し、セッションのスキルをダウンロードできます。

| オプション                                                                | 説明                                                                       |
| -------------------------------------------------------------------- | ------------------------------------------------------------------------ |
| `allowed_roots` (typescript: `allowedRoots`; go: `AllowedRoots`)     | 作業ディレクトリに加えて、ファイルツール（`read`、`write`、`edit`、`glob`、`grep`）がアクセスできるディレクトリ。 |
| `read_only_roots` (typescript: `readOnlyRoots`; go: `ReadOnlyRoots`) | `write`と`edit`がパスを拒否するディレクトリ。                                            |

`EnvironmentWorker`は、セッションのメモリストアのディレクトリを自動的に`allowed_roots` (typescript: `allowedRoots`; go: `AllowedRoots`)に追加し、`access: "read_only"`でアタッチされたストアのディレクトリを`read_only_roots` (typescript: `readOnlyRoots`; go: `ReadOnlyRoots`)に追加します。

この制限はファイルツールのみに対するガードレールであり、サンドボックスではありません。`bash`は制限されません。

`beta_agent_toolset_20260401(env)` (typescript: `betaAgentToolset20260401(ctx)`; go: `agenttoolset.BetaAgentToolset20260401(env)`)は`AgentToolContext`を受け取り、標準のツール実装（`bash`、`read`、`write`、`edit`、`glob`、`grep`）を返します。
