569| `includePartialMessages` | `boolean` | `false` | Sertakan event pesan parsial |569| `includePartialMessages` | `boolean` | `false` | Sertakan event pesan parsial |
570| `loadTimeoutMs` | `number` | `60000` | *Alpha.* Timeout dalam milidetik untuk setiap panggilan `sessionStore.load()` dan `sessionStore.listSubkeys()` selama materialisasi resume. Jika adapter tidak selesai dalam jendela waktu ini, query gagal alih-alih menggantung. Diabaikan jika `sessionStore` tidak diatur |570| `loadTimeoutMs` | `number` | `60000` | *Alpha.* Timeout dalam milidetik untuk setiap panggilan `sessionStore.load()` dan `sessionStore.listSubkeys()` selama materialisasi resume. Jika adapter tidak selesai dalam jendela waktu ini, query gagal alih-alih menggantung. Diabaikan jika `sessionStore` tidak diatur |
571| `managedSettings` | `Settings` | `undefined` | Pengaturan tingkat kebijakan yang disediakan proses host Anda ke sesi yang di-spawn. Pada mesin dengan pengaturan terkelola yang di-deploy admin, Claude Code mengabaikan pengaturan ini kecuali sumber terkelola dengan prioritas tertinggi milik admin mengatur `parentSettingsBehavior: 'merge'`, dan tidak pernah menggabungkannya selama [`policyHelper`](/docs/id/settings-reference#policyhelper) menyediakan pengaturan terkelola. Nilai yang digabungkan melewati filter yang hanya bersifat membatasi; [Membatasi pengaturan induk](/docs/id/claude-apps-gateway#restrict-parent-settings) membahas apa yang diloloskan filter dan kunci `allowManaged*Only`. Host yang mengatur [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/id/env-vars) memiliki tiga kunci yang justru dibaca langsung dari payload ini: [konfigurasi model](/docs/id/model-config#restrict-model-selection)-nya pada Claude Code v2.1.222 atau lebih baru, [`modelPricing`](/docs/id/settings-reference#modelpricing) ketika tidak ada sumber terkelola yang mengaturnya pada v2.1.246 atau lebih baru, dan entri env `ENABLE_TOOL_SEARCH`-nya pada v2.1.247 atau lebih baru |571| `managedSettings` | `Settings` | `undefined` | Pengaturan tingkat kebijakan yang disediakan proses host Anda ke sesi yang di-spawn. Pada mesin dengan pengaturan terkelola yang di-deploy admin, Claude Code mengabaikan pengaturan ini kecuali sumber terkelola dengan prioritas tertinggi milik admin mengatur `parentSettingsBehavior: 'merge'`, dan tidak pernah menggabungkannya selama [`policyHelper`](/docs/id/settings-reference#policyhelper) menyediakan pengaturan terkelola. Nilai yang digabungkan melewati filter yang hanya bersifat membatasi; [Membatasi pengaturan induk](/docs/id/claude-apps-gateway#restrict-parent-settings) membahas apa yang diloloskan filter dan kunci `allowManaged*Only`. Host yang mengatur [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/id/env-vars) memiliki tiga kunci yang justru dibaca langsung dari payload ini: [konfigurasi model](/docs/id/model-config#restrict-model-selection)-nya pada Claude Code v2.1.222 atau lebih baru, [`modelPricing`](/docs/id/settings-reference#modelpricing) ketika tidak ada sumber terkelola yang mengaturnya pada v2.1.246 atau lebih baru, dan entri env `ENABLE_TOOL_SEARCH`-nya pada v2.1.247 atau lebih baru |
572| `maxBudgetUsd` | `number` | `undefined` | Hentikan query ketika estimasi biaya sisi klien mencapai nilai USD ini. Hanya menghitung pengeluaran panggilan itu sendiri; total yang dipulihkan dari sesi yang dilanjutkan tidak dihitung. Untuk catatan akurasi dan perilaku reset, lihat [Melacak biaya dan penggunaan](/docs/id/agent-sdk/cost-tracking) |572| `maxBudgetUsd` | `number` | `undefined` | Menghentikan query saat estimasi biaya sisi klien mencapai nilai USD ini. Estimasi dapat melewati nilai ini, jadi [sisakan ruang](/docs/id/agent-sdk/agent-loop#budget-headroom). Hanya menghitung pengeluaran panggilan itu sendiri; total yang dipulihkan dari sesi yang dilanjutkan tidak dihitung. Untuk catatan akurasi dan perilaku reset, lihat [Melacak biaya dan penggunaan](/docs/id/agent-sdk/cost-tracking) |
573| `maxThinkingTokens` | `number` | `undefined` | *Tidak digunakan lagi:* Gunakan `thinking` sebagai gantinya. Token maksimum untuk proses thinking |573| `maxThinkingTokens` | `number` | `undefined` | *Tidak digunakan lagi:* Gunakan `thinking` sebagai gantinya. Token maksimum untuk proses thinking |
574| `maxTurns` | `number` | `undefined` | Giliran agentic maksimum (perjalanan bolak-balik penggunaan tool) |574| `maxTurns` | `number` | `undefined` | Giliran agentic maksimum (perjalanan bolak-balik penggunaan tool) |
575| `mcpServers` | `Record<string, [`McpServerConfig`](#mcpserverconfig)>` | `{}` | Konfigurasi server MCP |575| `mcpServers` | `Record<string, [`McpServerConfig`](#mcpserverconfig)>` | `{}` | Konfigurasi server MCP |
631```631```
632 632
633* `API_TIMEOUT_MS`: timeout per permintaan pada klien Anthropic, dalam milidetik. Default `600000`. Berlaku untuk loop utama dan semua subagent.633* `API_TIMEOUT_MS`: timeout per permintaan pada klien Anthropic, dalam milidetik. Default `600000`. Berlaku untuk loop utama dan semua subagent.
634* `CLAUDE_CODE_MAX_RETRIES`: jumlah retry API maksimum. Default `10`, dibatasi hingga `15`. Setiap retry mendapat jendela `API_TIMEOUT_MS` sendiri, sehingga waktu total terburuk kira-kira `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` ditambah backoff. Untuk proses tanpa pengawasan yang perlu menunggu gangguan yang lebih lama, atur [`CLAUDE_CODE_RETRY_WATCHDOG=1`](/docs/id/errors#tune-retry-behavior): opsi ini mencoba ulang error kapasitas sementara tanpa batas dan, pada Claude Code v2.1.199 atau lebih baru, menaikkan default untuk error sementara lainnya menjadi `300` dan menghapus batas pada variabel ini.634* `CLAUDE_CODE_MAX_RETRIES`: jumlah retry API maksimum. Default `10`, dibatasi hingga `15`. Setiap retry mendapatkan jendela `API_TIMEOUT_MS` sendiri.
635
636 Untuk eksekusi tanpa pengawasan yang perlu menunggu gangguan yang lebih lama, atur [`CLAUDE_CODE_RETRY_WATCHDOG=1`](/docs/id/errors#tune-retry-behavior): opsi ini mencoba ulang error kapasitas sementara tanpa batas dan, pada Claude Code v2.1.199 atau lebih baru, menaikkan default untuk error sementara lainnya menjadi `300` serta menghapus batas pada variabel ini.
635* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: watchdog kemacetan untuk subagent. Selama stream watchdog aktif, defaultnya adalah `CLAUDE_STREAM_IDLE_TIMEOUT_MS` ditambah 5 menit, yang berjumlah `600000` kecuali Anda menaikkan variabel tersebut. Dengan stream watchdog nonaktif, defaultnya adalah `600000`. Sebelum v2.1.257, defaultnya selalu `600000`.637* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: watchdog kemacetan untuk subagent. Selama stream watchdog aktif, defaultnya adalah `CLAUDE_STREAM_IDLE_TIMEOUT_MS` ditambah 5 menit, yang berjumlah `600000` kecuali Anda menaikkan variabel tersebut. Dengan stream watchdog nonaktif, defaultnya adalah `600000`. Sebelum v2.1.257, defaultnya selalu `600000`.
636 638
637 Timer di-reset pada setiap event stream. Saat terjadi kemacetan, Claude Code membatalkan subagent dan melaporkan kemacetan tersebut ke induknya. Untuk subagent latar belakang, Claude Code juga menandai tugas sebagai gagal dan melampirkan hasil parsial apa pun.639 Timer di-reset pada setiap event stream. Saat terjadi kemacetan, Claude Code membatalkan subagent dan melaporkan kemacetan tersebut ke induknya. Untuk subagent latar belakang, Claude Code juga menandai tugas sebagai gagal dan melampirkan hasil parsial apa pun.
1557 type: "assistant";1559 type: "assistant";
1558 uuid: UUID;1560 uuid: UUID;
1559 session_id: string;1561 session_id: string;
1560 message: BetaMessage; // Dari Anthropic SDK1562 message: BetaMessage; // From Anthropic SDK
1561 parent_tool_use_id: string | null;1563 parent_tool_use_id: string | null;
1562 error?: SDKAssistantMessageError;1564 error?: SDKAssistantMessageError;
1563 aborted?: true;1565 aborted?: true;
1566 agent_id?: string;
1564 timestamp?: string;1567 timestamp?: string;
1565 context_usage?: SDKContextUsage;1568 context_usage?: SDKContextUsage;
1566 user_message_uuid?: string;1569 user_message_uuid?: string;
1580 1583
1581`aborted` adalah `true` ketika gangguan atau pembatalan memotong pesan asisten sebelum aliran selesai: pesan tidak memiliki `stop_reason` dan konten mungkin berakhir di tengah kata. Bidang ini tidak ada pada pesan yang diselesaikan secara normal. Ini memerlukan Agent SDK v0.3.214 atau lebih baru.1584`aborted` adalah `true` ketika gangguan atau pembatalan memotong pesan asisten sebelum aliran selesai: pesan tidak memiliki `stop_reason` dan konten mungkin berakhir di tengah kata. Bidang ini tidak ada pada pesan yang diselesaikan secara normal. Ini memerlukan Agent SDK v0.3.214 atau lebih baru.
1582 1585
1586`agent_id` mengidentifikasi subagent yang menghasilkan pesan dan tidak ada pada pesan thread utama. Nilainya sama dengan `task_id` pada [`task_started`](#sdktaskstartedmessage) dan event tugas lainnya dari subagent tersebut, dan tidak berubah ketika subagent [dilanjutkan](/docs/id/agent-sdk/subagents#resume-subagents). Field ini memerlukan Agent SDK v0.3.292 atau yang lebih baru.
1587
1588Cocokkan pesan subagent dengan event tugasnya berdasarkan `agent_id` alih-alih memasangkan `parent_tool_use_id` sebuah pesan dengan `tool_use_id` sebuah event tugas. Ketika sebuah panggilan tool melanjutkan subagent, event tugas membawa `tool_use_id` dari panggilan tersebut, sedangkan pesan tetap membawa `parent_tool_use_id` dari panggilan tool yang pertama kali memulai subagent, sehingga keduanya tidak lagi cocok.
1589
1583Claude Code menetapkan `user_message_uuid` dan `user_message_uuids` pada pesan asisten pertama giliran, di bawah kondisi dalam [`user_message_uuid`](#user_message_uuid). Ketika Claude Code menjalankan kembali giliran yang terinterupsi oleh restart, pesan asisten re-run yang membawa bidang itu juga membawa [`resume_reason`](#resume_reason).1590Claude Code menetapkan `user_message_uuid` dan `user_message_uuids` pada pesan asisten pertama giliran, di bawah kondisi dalam [`user_message_uuid`](#user_message_uuid). Ketika Claude Code menjalankan kembali giliran yang terinterupsi oleh restart, pesan asisten re-run yang membawa bidang itu juga membawa [`resume_reason`](#resume_reason).
1584 1591
1585`timestamp` adalah waktu ISO 8601 ketika konten pesan selesai dihasilkan pada proses yang menghasilkannya. Nilai berasal dari jam mesin itu, jadi gunakan hanya untuk tampilan dan jangan urutkan pesan berdasarkannya. Satu giliran API dapat menghasilkan beberapa pesan asisten yang berbagi `message.id`, masing-masing dengan `timestamp` sendiri. Ketika bidang tidak ada, kembali ke waktu Anda menerima pesan.1592`timestamp` adalah waktu ISO 8601 ketika konten pesan selesai dihasilkan pada proses yang menghasilkannya. Nilai berasal dari jam mesin itu, jadi gunakan hanya untuk tampilan dan jangan urutkan pesan berdasarkannya. Satu giliran API dapat menghasilkan beberapa pesan asisten yang berbagi `message.id`, masing-masing dengan `timestamp` sendiri. Ketika bidang tidak ada, kembali ke waktu Anda menerima pesan.
1597 type: "user";1604 type: "user";
1598 uuid?: UUID;1605 uuid?: UUID;
1599 session_id?: string;1606 session_id?: string;
1607 agent_id?: string;
1600 message: MessageParam; // From Anthropic SDK1608 message: MessageParam; // From Anthropic SDK
1601 pasted_content?: MessageParam["content"][];1609 pasted_content?: MessageParam["content"][];
1602 parent_tool_use_id: string | null;1610 parent_tool_use_id: string | null;
1636};1644};
1637```1645```
1638 1646
1647Pesan pengguna yang dihasilkan subagent, seperti `tool_result` untuk salah satu panggilan tool-nya sendiri, membawa `agent_id`. Lihat [`SDKAssistantMessage`](#sdkassistantmessage), yang mendefinisikan field tersebut dan persyaratan versinya.
1648
1639Pada pesan yang membawa blok `tool_result`, `tool_use_result` adalah objek output terstruktur dari tool, bukan teks yang dikirim ke model. Bentuknya bergantung pada tool yang disebutkan oleh blok `tool_use` yang sesuai, sehingga field ini bertipe `unknown`; bentuk bawaan tercantum di [Tool Output Types](#tool-output-types). Hasil-hasil berikut memerlukan penanganan di luar bentuk yang tercantum:1649Pada pesan yang membawa blok `tool_result`, `tool_use_result` adalah objek output terstruktur dari tool, bukan teks yang dikirim ke model. Bentuknya bergantung pada tool yang disebutkan oleh blok `tool_use` yang sesuai, sehingga field ini bertipe `unknown`; bentuk bawaan tercantum di [Tool Output Types](#tool-output-types). Hasil-hasil berikut memerlukan penanganan di luar bentuk yang tercantum:
1640 1650
1641* Tool `Agent`: `tool_use_result` adalah [`AgentOutput`](#agent-2). Render dari objek ini alih-alih mengurai teks `tool_result`. `content` dari hasil `completed` berisi laporan subagent, atau, untuk subagent yang laporannya melalui panggilan tool `SubagentHandback`, catatan singkat tentang penyerahan tersebut sebagai pengganti laporan. Dalam [auto mode](/docs/id/permission-modes#eliminate-prompts-with-auto-mode) pada Claude Code v2.1.271 atau lebih baru, setiap subagent yang menghasilkan hasil `completed` melapor dengan cara tersebut kecuali jika merupakan [fork](/docs/id/sub-agents#fork-the-current-conversation), dan Claude menerima laporan sebagai pesan terpisah dari subagent.1651* Tool `Agent`: `tool_use_result` adalah [`AgentOutput`](#agent-2). Render dari objek ini alih-alih mengurai teks `tool_result`. `content` dari hasil `completed` berisi laporan subagent, atau, untuk subagent yang laporannya melalui panggilan tool `SubagentHandback`, catatan singkat tentang penyerahan tersebut sebagai pengganti laporan. Dalam [auto mode](/docs/id/permission-modes#eliminate-prompts-with-auto-mode) pada Claude Code v2.1.271 atau lebih baru, setiap subagent yang menghasilkan hasil `completed` melapor dengan cara tersebut kecuali jika merupakan [fork](/docs/id/sub-agents#fork-the-current-conversation), dan Claude menerima laporan sebagai pesan terpisah dari subagent.
1992 `SDKPartialAssistantMessage`2002 `SDKPartialAssistantMessage`
1993</h3>2003</h3>
1994 2004
1995Pesan parsial streaming (hanya ketika `includePartialMessages` adalah true). Bidang `parent_tool_use_id` selalu `null`: acara aliran dipancarkan untuk sesi utama saja. Untuk atribusi subagent, gunakan pesan lengkap, yang membawa `parent_tool_use_id`, atau aktifkan [`forwardSubagentText`](#options) untuk menerima teks dan thinking subagent sebagai pesan lengkap.2005Pesan parsial streaming (hanya ketika `includePartialMessages` bernilai true).
2006
2007Field `parent_tool_use_id` selalu `null`: event stream hanya dikeluarkan untuk sesi utama. Untuk atribusi subagent, gunakan pesan lengkap, yang membawa [`agent_id`](#sdkassistantmessage) dan `parent_tool_use_id`, atau aktifkan [`forwardSubagentText`](#options) untuk menerima teks dan thinking subagent sebagai pesan lengkap.
1996 2008
1997```typescript theme={null}2009```typescript theme={null}
1998type SDKPartialAssistantMessage = {2010type SDKPartialAssistantMessage = {
3418type WebFetchInput = {3430type WebFetchInput = {
3419 url: string;3431 url: string;
3420 prompt: string;3432 prompt: string;
3433 offset?: number;
3421};3434};
3422```3435```
3423 3436
3424Mengambil konten dari URL dan memprosesnya dengan model AI.3437Mengambil konten dari URL dan memprosesnya dengan model AI.
3425 3438
3439`offset` adalah jumlah karakter yang dilewati dari awal halaman. Claude mengaturnya untuk melanjutkan membaca halaman yang panjang. Bidang ini memerlukan Agent SDK v0.3.290 atau lebih baru.
3440
3426<h3 id="websearch">3441<h3 id="websearch">
3427 WebSearch3442 WebSearch
3428</h3>3443</h3>
5777 task_type?: string;5792 task_type?: string;
5778 is_backgrounded?: boolean;5793 is_backgrounded?: boolean;
5779 spawn_depth?: number;5794 spawn_depth?: number;
5795 parent_task_id?: string;
5780 ambient?: boolean;5796 ambient?: boolean;
5781 uuid: UUID;5797 uuid: UUID;
5782 session_id: string;5798 session_id: string;
5794 5810
5795[Subagent yang dilanjutkan](/docs/id/agent-sdk/subagents#resume-subagents) selalu melaporkan `is_backgrounded: true`, karena Claude Code menjalankan setiap subagent yang dilanjutkan di latar belakang. Ketika tugas foreground kemudian pindah ke latar belakang, Claude Code melaporkan nilai `is_backgrounded` yang baru dalam pesan [`task_updated`](#sdktaskupdatedmessage) alih-alih mengirimkan `task_started` kedua.5811[Subagent yang dilanjutkan](/docs/id/agent-sdk/subagents#resume-subagents) selalu melaporkan `is_backgrounded: true`, karena Claude Code menjalankan setiap subagent yang dilanjutkan di latar belakang. Ketika tugas foreground kemudian pindah ke latar belakang, Claude Code melaporkan nilai `is_backgrounded` yang baru dalam pesan [`task_updated`](#sdktaskupdatedmessage) alih-alih mengirimkan `task_started` kedua.
5796 5812
5813`parent_task_id` menyimpan `task_id` dari subagent yang meluncurkan tugas ini. Gunakan untuk mengelompokkan setiap tugas di bawah subagent yang memulainya. Claude Code menetapkannya pada tugas subagent, Bash, dan [Monitor](#monitor). Field ini memerlukan Agent SDK v0.3.292 atau lebih baru. Field ini tidak ada ketika:
5814
5815* Thread utama meluncurkan tugas
5816* Claude Code tidak lagi melacak tugas parent
5817* [Rekan tim](/docs/id/agent-teams) atau agent di dalam workflow meluncurkan tugas
5818
5819Parent dapat berupa tugas foreground atau tugas yang sudah berakhir, jadi perlakukan ID yang tidak Anda kenali sebagai tidak memiliki parent.
5820
5797<h3 id="sdktaskprogressmessage">5821<h3 id="sdktaskprogressmessage">
5798 `SDKTaskProgressMessage`5822 `SDKTaskProgressMessage`
5799</h3>5823</h3>
5850 `SDKBackgroundTasksChangedMessage`5874 `SDKBackgroundTasksChangedMessage`
5851</h3>5875</h3>
5852 5876
5853Dipancarkan setiap kali set tugas latar belakang yang aktif berubah: tugas dimulai, selesai, dihentikan paksa, agent foreground dipindahkan ke latar belakang, atau field `description` atau `ambient` suatu tugas berubah.5877Dipancarkan setiap kali set tugas latar belakang yang aktif berubah: tugas dimulai, selesai, atau dihentikan paksa; agent foreground dipindahkan ke latar belakang; atau field `description`, `ambient`, atau `parent_task_id` suatu tugas berubah. Untuk field `parent_task_id` pada setiap entri, lihat [`SDKTaskStartedMessage`](#sdktaskstartedmessage), yang mendefinisikannya beserta persyaratan versinya.
5854 5878
5855Array `tasks` adalah set aktif lengkap. Ganti set yang di-cache dengan setiap payload alih-alih memasangkan event `task_started` dan `task_notification`, sehingga perubahan keanggotaan berikutnya memperbaiki event apa pun yang Anda lewatkan.5879Array `tasks` adalah set aktif lengkap. Ganti set yang di-cache dengan setiap payload alih-alih memasangkan event `task_started` dan `task_notification`, sehingga perubahan keanggotaan berikutnya memperbaiki event apa pun yang Anda lewatkan.
5856 5880
5857Urutan relatif terhadap event per-tugas tersebut tidak ditentukan, jadi jangan mengorelasikan kedua stream tersebut.5881Ketika tugas berakhir, [`task_updated`](#sdktaskupdatedmessage) dan [`task_notification`](#sdktasknotificationmessage)-nya tiba sebelum `background_tasks_changed` yang menghapusnya dari daftar. Di luar itu, urutan relatif terhadap event per-tugas tidak ditentukan.
5858 5882
5859Tidak ada yang dipancarkan saat startup. Atur ulang ke set kosong setiap kali proses CLI sesi dimulai atau dimulai ulang dan biarkan perubahan keanggotaan berikutnya mengisinya kembali.5883Tidak ada yang dipancarkan saat startup. Atur ulang ke set kosong setiap kali proses CLI sesi dimulai atau dimulai ulang dan biarkan perubahan keanggotaan berikutnya mengisinya kembali.
5860 5884
5871 task_type: string;5895 task_type: string;
5872 subagent_type?: string;5896 subagent_type?: string;
5873 description: string;5897 description: string;
5898 parent_task_id?: string;
5874 ambient?: boolean;5899 ambient?: boolean;
5875 }[];5900 }[];
5876 uuid: UUID;5901 uuid: UUID;