SpyBara
Go Premium

Documentation 2026-05-14 17:02 UTC to 2026-05-15 22:58 UTC

17 files changed +502 −33. View all changes and history on the product overview
2026
Sun 31 06:39 Sat 30 06:23 Fri 29 06:38 Thu 28 06:37 Wed 27 06:42 Tue 26 06:33 Sun 24 06:25 Sat 23 06:18 Fri 22 06:33 Thu 21 06:36 Wed 20 06:35 Tue 19 06:34 Mon 18 23:59 Sun 17 01:01 Fri 15 22:58 Thu 14 17:02 Wed 13 23:01 Tue 12 22:57 Mon 11 23:00 Sun 10 23:03 Sat 9 04:57 Fri 8 22:00 Thu 7 22:59 Tue 5 23:00 Mon 4 22:58 Sat 2 18:14 Fri 1 18:19
Details

46 46 

47 ```python Python theme={null}47 ```python Python theme={null}

48 import asyncio48 import asyncio

49 from claude_agent_sdk import query49 from claude_agent_sdk import query, ClaudeAgentOptions

50 50 

51 51 

52 async def main():52 async def main():

53 async for message in query(53 async for message in query(

54 prompt="Hello",54 prompt="Hello",

55 options={55 options=ClaudeAgentOptions(

56 "plugins": [56 plugins=[

57 {"type": "local", "path": "./my-plugin"},57 {"type": "local", "path": "./my-plugin"},

58 {"type": "local", "path": "/absolute/path/to/another-plugin"},58 {"type": "local", "path": "/absolute/path/to/another-plugin"},

59 ]59 ]

60 },60 ),

61 ):61 ):

62 # Plugin commands, agents, and other features are now available62 # Plugin commands, agents, and other features are now available

63 pass63 pass


106 106 

107 ```python Python theme={null}107 ```python Python theme={null}

108 import asyncio108 import asyncio

109 from claude_agent_sdk import query109 from claude_agent_sdk import query, ClaudeAgentOptions, SystemMessage

110 110 

111 111 

112 async def main():112 async def main():

113 async for message in query(113 async for message in query(

114 prompt="Hello", options={"plugins": [{"type": "local", "path": "./my-plugin"}]}114 prompt="Hello",

115 options=ClaudeAgentOptions(

116 plugins=[{"type": "local", "path": "./my-plugin"}]

117 ),

115 ):118 ):

116 if message.type == "system" and message.subtype == "init":119 if isinstance(message, SystemMessage) and message.subtype == "init":

117 # Check loaded plugins120 # Check loaded plugins

118 print("Plugins:", message.data.get("plugins"))121 print("Plugins:", message.data.get("plugins"))

119 # Example: [{"name": "my-plugin", "path": "./my-plugin"}]122 # Example: [{"name": "my-plugin", "path": "./my-plugin"}]


151 154 

152 ```python Python theme={null}155 ```python Python theme={null}

153 import asyncio156 import asyncio

154 from claude_agent_sdk import query, AssistantMessage, TextBlock157 from claude_agent_sdk import query, ClaudeAgentOptions, AssistantMessage, TextBlock

155 158 

156 159 

157 async def main():160 async def main():

158 # Load a plugin with a custom /greet skill161 # Load a plugin with a custom /greet skill

159 async for message in query(162 async for message in query(

160 prompt="/demo-plugin:greet", # Use plugin skill with namespace163 prompt="/demo-plugin:greet", # Use plugin skill with namespace

161 options={"plugins": [{"type": "local", "path": "./plugins/demo-plugin"}]},164 options=ClaudeAgentOptions(

165 plugins=[{"type": "local", "path": "./plugins/demo-plugin"}]

166 ),

162 ):167 ):

163 # Claude executes the custom greeting skill from the plugin168 # Claude executes the custom greeting skill from the plugin

164 if isinstance(message, AssistantMessage):169 if isinstance(message, AssistantMessage):


219 from claude_agent_sdk import (224 from claude_agent_sdk import (

220 AssistantMessage,225 AssistantMessage,

221 ClaudeAgentOptions,226 ClaudeAgentOptions,

227 SystemMessage,

222 TextBlock,228 TextBlock,

223 query,229 query,

224 )230 )


238 async for message in query(244 async for message in query(

239 prompt="What custom commands do you have available?", options=options245 prompt="What custom commands do you have available?", options=options

240 ):246 ):

241 if message.type == "system" and message.subtype == "init":247 if isinstance(message, SystemMessage) and message.subtype == "init":

242 print(f"Loaded plugins: {message.data.get('plugins')}")248 print(f"Loaded plugins: {message.data.get('plugins')}")

243 print(f"Available commands: {message.data.get('slash_commands')}")249 print(f"Available commands: {message.data.get('slash_commands')}")

244 250 

Details

56 prompt: "/compact",56 prompt: "/compact",

57 options: { maxTurns: 1 }57 options: { maxTurns: 1 }

58 })) {58 })) {

59 if (message.type === "result") {59 if (message.type === "result" && message.subtype === "success") {

60 console.log("Command executed:", message.result);60 console.log("Command executed:", message.result);

61 }61 }

62 }62 }


261 options: { maxTurns: 5 }261 options: { maxTurns: 5 }

262 })) {262 })) {

263 // Command will process with $1="123" and $2="high"263 // Command will process with $1="123" and $2="high"

264 if (message.type === "result") {264 if (message.type === "result" && message.subtype === "success") {

265 console.log("Issue fixed:", message.result);265 console.log("Issue fixed:", message.result);

266 }266 }

267 }267 }

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Streaming Input

6 

7> Memahami dua mode input untuk Claude Agent SDK dan kapan menggunakan masing-masing

8 

9## Gambaran Umum

10 

11Claude Agent SDK mendukung dua mode input yang berbeda untuk berinteraksi dengan agen:

12 

13* **Streaming Input Mode** (Default & Direkomendasikan) - Sesi interaktif yang persisten

14* **Single Message Input** - Kueri sekali jalan yang menggunakan status sesi dan melanjutkan

15 

16Panduan ini menjelaskan perbedaan, manfaat, dan kasus penggunaan untuk setiap mode untuk membantu Anda memilih pendekatan yang tepat untuk aplikasi Anda.

17 

18## Streaming Input Mode (Direkomendasikan)

19 

20Streaming input mode adalah cara yang **lebih disukai** untuk menggunakan Claude Agent SDK. Mode ini memberikan akses penuh ke kemampuan agen dan memungkinkan pengalaman interaktif yang kaya.

21 

22Mode ini memungkinkan agen beroperasi sebagai proses yang berumur panjang yang menerima input pengguna, menangani gangguan, menampilkan permintaan izin, dan menangani manajemen sesi.

23 

24### Cara Kerjanya

25 

26```mermaid theme={null}

27sequenceDiagram

28 participant App as Your Application

29 participant Agent as Claude Agent

30 participant Tools as Tools/Hooks

31 participant FS as Environment/<br/>File System

32 

33 App->>Agent: Initialize with AsyncGenerator

34 activate Agent

35 

36 App->>Agent: Yield Message 1

37 Agent->>Tools: Execute tools

38 Tools->>FS: Read files

39 FS-->>Tools: File contents

40 Tools->>FS: Write/Edit files

41 FS-->>Tools: Success/Error

42 Agent-->>App: Stream partial response

43 Agent-->>App: Stream more content...

44 Agent->>App: Complete Message 1

45 

46 App->>Agent: Yield Message 2 + Image

47 Agent->>Tools: Process image & execute

48 Tools->>FS: Access filesystem

49 FS-->>Tools: Operation results

50 Agent-->>App: Stream response 2

51 

52 App->>Agent: Queue Message 3

53 App->>Agent: Interrupt/Cancel

54 Agent->>App: Handle interruption

55 

56 Note over App,Agent: Session stays alive

57 Note over Tools,FS: Persistent file system<br/>state maintained

58 

59 deactivate Agent

60```

61 

62### Manfaat

63 

64<CardGroup cols={2}>

65 <Card title="Unggahan Gambar" icon="image">

66 Lampirkan gambar langsung ke pesan untuk analisis visual dan pemahaman

67 </Card>

68 

69 <Card title="Pesan Antrian" icon="stack">

70 Kirim beberapa pesan yang diproses secara berurutan, dengan kemampuan untuk mengganggu

71 </Card>

72 

73 <Card title="Integrasi Tool" icon="wrench">

74 Akses penuh ke semua tools dan server MCP kustom selama sesi

75 </Card>

76 

77 <Card title="Dukungan Hooks" icon="link">

78 Gunakan lifecycle hooks untuk menyesuaikan perilaku di berbagai titik

79 </Card>

80 

81 <Card title="Umpan Balik Real-time" icon="lightning">

82 Lihat respons saat dihasilkan, bukan hanya hasil akhir

83 </Card>

84 

85 <Card title="Persistensi Konteks" icon="database">

86 Pertahankan konteks percakapan di beberapa giliran secara alami

87 </Card>

88</CardGroup>

89 

90### Contoh Implementasi

91 

92<CodeGroup>

93 ```typescript TypeScript theme={null}

94 import { query, type SDKUserMessage } from "@anthropic-ai/claude-agent-sdk";

95 import { readFile } from "fs/promises";

96 

97 async function* generateMessages(): AsyncGenerator<SDKUserMessage> {

98 // First message

99 yield {

100 type: "user",

101 message: {

102 role: "user",

103 content: "Analyze this codebase for security issues"

104 },

105 parent_tool_use_id: null

106 };

107 

108 // Wait for conditions or user input

109 await new Promise((resolve) => setTimeout(resolve, 2000));

110 

111 // Follow-up with image

112 yield {

113 type: "user",

114 message: {

115 role: "user",

116 content: [

117 {

118 type: "text",

119 text: "Review this architecture diagram"

120 },

121 {

122 type: "image",

123 source: {

124 type: "base64",

125 media_type: "image/png",

126 data: await readFile("diagram.png", "base64")

127 }

128 }

129 ]

130 },

131 parent_tool_use_id: null

132 };

133 }

134 

135 // Process streaming responses

136 for await (const message of query({

137 prompt: generateMessages(),

138 options: {

139 maxTurns: 10,

140 allowedTools: ["Read", "Grep"]

141 }

142 })) {

143 if (message.type === "result" && message.subtype === "success") {

144 console.log(message.result);

145 }

146 }

147 ```

148 

149 ```python Python theme={null}

150 from claude_agent_sdk import (

151 ClaudeSDKClient,

152 ClaudeAgentOptions,

153 AssistantMessage,

154 TextBlock,

155 )

156 import asyncio

157 import base64

158 

159 

160 async def streaming_analysis():

161 async def message_generator():

162 # First message

163 yield {

164 "type": "user",

165 "message": {

166 "role": "user",

167 "content": "Analyze this codebase for security issues",

168 },

169 }

170 

171 # Wait for conditions

172 await asyncio.sleep(2)

173 

174 # Follow-up with image

175 with open("diagram.png", "rb") as f:

176 image_data = base64.b64encode(f.read()).decode()

177 

178 yield {

179 "type": "user",

180 "message": {

181 "role": "user",

182 "content": [

183 {"type": "text", "text": "Review this architecture diagram"},

184 {

185 "type": "image",

186 "source": {

187 "type": "base64",

188 "media_type": "image/png",

189 "data": image_data,

190 },

191 },

192 ],

193 },

194 }

195 

196 # Use ClaudeSDKClient for streaming input

197 options = ClaudeAgentOptions(max_turns=10, allowed_tools=["Read", "Grep"])

198 

199 async with ClaudeSDKClient(options) as client:

200 # Send streaming input

201 await client.query(message_generator())

202 

203 # Process responses

204 async for message in client.receive_response():

205 if isinstance(message, AssistantMessage):

206 for block in message.content:

207 if isinstance(block, TextBlock):

208 print(block.text)

209 

210 

211 asyncio.run(streaming_analysis())

212 ```

213</CodeGroup>

214 

215## Single Message Input

216 

217Single message input lebih sederhana tetapi lebih terbatas.

218 

219### Kapan Menggunakan Single Message Input

220 

221Gunakan single message input ketika:

222 

223* Anda membutuhkan respons sekali jalan

224* Anda tidak memerlukan lampiran gambar, hooks, dll.

225* Anda perlu beroperasi di lingkungan stateless, seperti fungsi lambda

226 

227### Keterbatasan

228 

229<Warning>

230 Single message input mode **tidak** mendukung:

231 

232 * Lampiran gambar langsung dalam pesan

233 * Antrian pesan dinamis

234 * Gangguan real-time

235 * Integrasi hook

236 * Percakapan multi-turn alami

237</Warning>

238 

239### Contoh Implementasi

240 

241<CodeGroup>

242 ```typescript TypeScript theme={null}

243 import { query } from "@anthropic-ai/claude-agent-sdk";

244 

245 // Simple one-shot query

246 for await (const message of query({

247 prompt: "Explain the authentication flow",

248 options: {

249 maxTurns: 1,

250 allowedTools: ["Read", "Grep"]

251 }

252 })) {

253 if (message.type === "result" && message.subtype === "success") {

254 console.log(message.result);

255 }

256 }

257 

258 // Continue conversation with session management

259 for await (const message of query({

260 prompt: "Now explain the authorization process",

261 options: {

262 continue: true,

263 maxTurns: 1

264 }

265 })) {

266 if (message.type === "result" && message.subtype === "success") {

267 console.log(message.result);

268 }

269 }

270 ```

271 

272 ```python Python theme={null}

273 from claude_agent_sdk import query, ClaudeAgentOptions, ResultMessage

274 import asyncio

275 

276 

277 async def single_message_example():

278 # Simple one-shot query using query() function

279 async for message in query(

280 prompt="Explain the authentication flow",

281 options=ClaudeAgentOptions(max_turns=1, allowed_tools=["Read", "Grep"]),

282 ):

283 if isinstance(message, ResultMessage):

284 print(message.result)

285 

286 # Continue conversation with session management

287 async for message in query(

288 prompt="Now explain the authorization process",

289 options=ClaudeAgentOptions(continue_conversation=True, max_turns=1),

290 ):

291 if isinstance(message, ResultMessage):

292 print(message.result)

293 

294 

295 asyncio.run(single_message_example())

296 ```

297</CodeGroup>

Details

313<CodeGroup>313<CodeGroup>

314 ```python Python theme={null}314 ```python Python theme={null}

315 import asyncio315 import asyncio

316 from claude_agent_sdk import query, ClaudeAgentOptions, AgentDefinition316 from claude_agent_sdk import query, ClaudeAgentOptions, AgentDefinition, ToolUseBlock

317 317 

318 318 

319 async def main():319 async def main():


334 # versions emitted "Task", current versions emit "Agent".334 # versions emitted "Task", current versions emit "Agent".

335 if hasattr(message, "content") and message.content:335 if hasattr(message, "content") and message.content:

336 for block in message.content:336 for block in message.content:

337 if getattr(block, "type", None) == "tool_use" and block.name in (337 if isinstance(block, ToolUseBlock) and block.name in (

338 "Task",338 "Task",

339 "Agent",339 "Agent",

340 ):340 ):


414 // Helper to extract agentId from message content414 // Helper to extract agentId from message content

415 // Stringify to avoid traversing different block types (TextBlock, ToolResultBlock, etc.)415 // Stringify to avoid traversing different block types (TextBlock, ToolResultBlock, etc.)

416 function extractAgentId(message: SDKMessage): string | undefined {416 function extractAgentId(message: SDKMessage): string | undefined {

417 if (!("message" in message)) return undefined;417 if (message.type !== "assistant" && message.type !== "user") return undefined;

418 // Stringify the content so we can search it without traversing nested blocks418 // Stringify the content so we can search it without traversing nested blocks

419 const content = JSON.stringify(message.message.content);419 const content = JSON.stringify(message.message.content);

420 const match = content.match(/agentId:\s*([a-f0-9-]+)/);420 const match = content.match(/agentId:\s*([a-f0-9-]+)/);

Details

948type SDKUserMessage = {948type SDKUserMessage = {

949 type: "user";949 type: "user";

950 uuid?: UUID;950 uuid?: UUID;

951 session_id: string;951 session_id?: string;

952 message: MessageParam; // Dari Anthropic SDK952 message: MessageParam; // Dari Anthropic SDK

953 parent_tool_use_id: string | null;953 parent_tool_use_id: string | null;

954 isSynthetic?: boolean;954 isSynthetic?: boolean;

agent-view.md +6 −0

Details

265claude --agent code-reviewer --bg "address review comments on PR 1234"265claude --agent code-reviewer --bg "address review comments on PR 1234"

266```266```

267 267 

268Berikan `--name` untuk menetapkan nama tampilan sesi dalam tampilan agen alih-alih yang dibuat secara otomatis:

269 

270```bash theme={null}

271claude --bg --name "flaky-test-fix" "investigate the flaky SettingsChangeDetector test"

272```

273 

268Setelah melepaskan ke latar belakang, Claude mencetak ID pendek sesi dan perintah untuk mengelolanya:274Setelah melepaskan ke latar belakang, Claude mencetak ID pendek sesi dan perintah untuk mengelolanya:

269 275 

270```text theme={null}276```text theme={null}

Details

211export CLAUDE_CODE_USE_BEDROCK=1211export CLAUDE_CODE_USE_BEDROCK=1

212export AWS_REGION=us-east-1 # atau wilayah pilihan Anda212export AWS_REGION=us-east-1 # atau wilayah pilihan Anda

213 213 

214# Opsional: Ganti wilayah untuk model kecil/cepat (Haiku).214# Opsional: Ganti wilayah AWS untuk model kecil/cepat (Bedrock dan Mantle).

215# Juga berlaku untuk Bedrock Mantle.215# Di Bedrock, tidak berpengaruh tanpa ANTHROPIC_DEFAULT_HAIKU_MODEL

216# atau ANTHROPIC_SMALL_FAST_MODEL yang sudah usang diatur.

216export ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION=us-west-2217export ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION=us-west-2

217 218 

218# Opsional: Ganti URL endpoint Bedrock untuk endpoint khusus atau gateway219# Opsional: Ganti URL endpoint Bedrock untuk endpoint khusus atau gateway


248| Jenis model | Nilai default |249| Jenis model | Nilai default |

249| :---------------- | :--------------------------------------------- |250| :---------------- | :--------------------------------------------- |

250| Model utama | `us.anthropic.claude-sonnet-4-5-20250929-v1:0` |251| Model utama | `us.anthropic.claude-sonnet-4-5-20250929-v1:0` |

251| Model kecil/cepat | `us.anthropic.claude-haiku-4-5-20251001-v1:0` |252| Model kecil/cepat | Sama dengan model utama |

253 

254Tugas latar belakang seperti pembuatan judul sesi menggunakan model kecil/cepat, biasanya model kelas Haiku. Di Bedrock, Claude Code secara default mengatur ini ke model utama karena Haiku mungkin tidak diaktifkan di setiap akun atau wilayah. Untuk menggunakan Haiku untuk tugas latar belakang, atur `ANTHROPIC_DEFAULT_HAIKU_MODEL` ke ID model yang tersedia di akun Anda.

252 255 

253Untuk menyesuaikan model lebih lanjut, gunakan salah satu metode berikut:256Untuk menyesuaikan model lebih lanjut, gunakan salah satu metode berikut:

254 257 

Details

1507| `tasks/` | Daftar tugas per-sesi yang ditulis oleh task tools |1507| `tasks/` | Daftar tugas per-sesi yang ditulis oleh task tools |

1508| `shell-snapshots/` | Lingkungan shell yang ditangkap digunakan oleh Bash tool. Dihapus saat keluar dengan bersih. Sweep membersihkan yang tertinggal setelah crash. |1508| `shell-snapshots/` | Lingkungan shell yang ditangkap digunakan oleh Bash tool. Dihapus saat keluar dengan bersih. Sweep membersihkan yang tertinggal setelah crash. |

1509| `backups/` | Salinan `~/.claude.json` dengan stempel waktu yang diambil sebelum migrasi konfigurasi |1509| `backups/` | Salinan `~/.claude.json` dengan stempel waktu yang diambil sebelum migrasi konfigurasi |

1510| `feedback-bundles/` | Arsip transkrip yang disunting ditulis oleh `/feedback` pada penyedia pihak ketiga, untuk dikirim ke tim akun Anthropic Anda |

1510 1511 

1511### Disimpan sampai Anda menghapusnya1512### Disimpan sampai Anda menghapusnya

1512 1513 

data-usage.md +3 −1

Details

99 99 

100Claude Code terhubung dari mesin pengguna ke Sentry untuk logging kesalahan operasional. Data dienkripsi dalam transit menggunakan TLS dan saat istirahat menggunakan enkripsi AES 256-bit. Baca lebih lanjut di [dokumentasi keamanan Sentry](https://sentry.io/security/). Untuk menolak logging kesalahan, atur variabel lingkungan `DISABLE_ERROR_REPORTING`.100Claude Code terhubung dari mesin pengguna ke Sentry untuk logging kesalahan operasional. Data dienkripsi dalam transit menggunakan TLS dan saat istirahat menggunakan enkripsi AES 256-bit. Baca lebih lanjut di [dokumentasi keamanan Sentry](https://sentry.io/security/). Untuk menolak logging kesalahan, atur variabel lingkungan `DISABLE_ERROR_REPORTING`.

101 101 

102Ketika pengguna menjalankan perintah `/feedback`, salinan riwayat percakapan lengkap mereka termasuk kode dikirim ke Anthropic. Data dienkripsi dalam transit menggunakan TLS. Secara opsional, masalah GitHub dibuat di repositori publik. Untuk menolak, atur variabel lingkungan `DISABLE_FEEDBACK_COMMAND` ke `1`.102Ketika Anda menjalankan perintah `/feedback`, salinan riwayat percakapan lengkap Anda termasuk kode dikirim ke Anthropic. Sebelum mengirimkan, Anda memilih berapa banyak riwayat yang akan disertakan: sesi saat ini saja, yang merupakan default, atau juga sesi lain dari proyek yang sama selama 24 jam atau 7 hari terakhir. Data dienkripsi dalam transit melalui TLS. Secara opsional, masalah GitHub dibuat di repositori publik. Untuk menolak, atur variabel lingkungan `DISABLE_FEEDBACK_COMMAND` ke `1`.

103 

104Ketika Anda menggunakan penyedia pihak ketiga seperti Bedrock atau Vertex, atau tidak memiliki kredensial Anthropic yang dikonfigurasi, `/feedback` menulis laporan ke arsip lokal di bawah `~/.claude/feedback-bundles/` alih-alih mengirimkannya ke Anthropic. Pola kunci API dan token yang diketahui dihapus sebelum arsip ditulis. Tidak ada yang meninggalkan mesin Anda sampai Anda mengirim file tersebut ke perwakilan akun Anthropic Anda atau melampirkannya ke permintaan dukungan.

103 105 

104## Perilaku default menurut penyedia API106## Perilaku default menurut penyedia API

105 107 

env-vars.md +4 −3

Details

42| `ANTHROPIC_FOUNDRY_RESOURCE` | Nama sumber daya Foundry (misalnya, `my-resource`). Diperlukan jika `ANTHROPIC_FOUNDRY_BASE_URL` tidak diatur (lihat [Microsoft Foundry](/id/microsoft-foundry)) |42| `ANTHROPIC_FOUNDRY_RESOURCE` | Nama sumber daya Foundry (misalnya, `my-resource`). Diperlukan jika `ANTHROPIC_FOUNDRY_BASE_URL` tidak diatur (lihat [Microsoft Foundry](/id/microsoft-foundry)) |

43| `ANTHROPIC_MODEL` | Nama pengaturan model yang akan digunakan (lihat [Konfigurasi Model](/id/model-config#environment-variables)) |43| `ANTHROPIC_MODEL` | Nama pengaturan model yang akan digunakan (lihat [Konfigurasi Model](/id/model-config#environment-variables)) |

44| `ANTHROPIC_SMALL_FAST_MODEL` | \[DEPRECATED] Nama [model kelas Haiku untuk tugas latar belakang](/id/costs) |44| `ANTHROPIC_SMALL_FAST_MODEL` | \[DEPRECATED] Nama [model kelas Haiku untuk tugas latar belakang](/id/costs) |

45| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | Ganti wilayah AWS untuk model kelas Haiku saat menggunakan Bedrock atau Bedrock Mantle |45| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | Ganti wilayah AWS untuk model kelas Haiku saat menggunakan Bedrock atau Bedrock Mantle. Pada Bedrock, ini hanya berlaku saat `ANTHROPIC_DEFAULT_HAIKU_MODEL` atau `ANTHROPIC_SMALL_FAST_MODEL` yang sudah usang juga diatur, karena Bedrock sebaliknya menggunakan model utama untuk tugas latar belakang |

46| `ANTHROPIC_VERTEX_BASE_URL` | Ganti URL titik akhir Vertex AI. Gunakan untuk titik akhir Vertex kustom atau saat merutekan melalui [gateway LLM](/id/llm-gateway). Lihat [Google Vertex AI](/id/google-vertex-ai) |46| `ANTHROPIC_VERTEX_BASE_URL` | Ganti URL titik akhir Vertex AI. Gunakan untuk titik akhir Vertex kustom atau saat merutekan melalui [gateway LLM](/id/llm-gateway). Lihat [Google Vertex AI](/id/google-vertex-ai) |

47| `ANTHROPIC_VERTEX_PROJECT_ID` | ID proyek GCP untuk permintaan Vertex AI. Ditimpa oleh `GCLOUD_PROJECT`, `GOOGLE_CLOUD_PROJECT`, atau proyek dalam file kredensial `GOOGLE_APPLICATION_CREDENTIALS` Anda. Lihat [Google Vertex AI](/id/google-vertex-ai) |47| `ANTHROPIC_VERTEX_PROJECT_ID` | ID proyek GCP untuk permintaan Vertex AI. Ditimpa oleh `GCLOUD_PROJECT`, `GOOGLE_CLOUD_PROJECT`, atau proyek dalam file kredensial `GOOGLE_APPLICATION_CREDENTIALS` Anda. Lihat [Google Vertex AI](/id/google-vertex-ai) |

48| `ANTHROPIC_WORKSPACE_ID` | ID Workspace untuk [workload identity federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Atur ini saat aturan federasi Anda dibatasi ke lebih dari satu workspace sehingga pertukaran token tahu workspace mana yang ditargetkan |48| `ANTHROPIC_WORKSPACE_ID` | ID Workspace untuk [workload identity federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Atur ini saat aturan federasi Anda dibatasi ke lebih dari satu workspace sehingga pertukaran token tahu workspace mana yang ditargetkan |


69| `CLAUDE_CODE_CLIENT_CERT` | Jalur ke file sertifikat klien untuk autentikasi mTLS |69| `CLAUDE_CODE_CLIENT_CERT` | Jalur ke file sertifikat klien untuk autentikasi mTLS |

70| `CLAUDE_CODE_CLIENT_KEY` | Jalur ke file kunci pribadi klien untuk autentikasi mTLS |70| `CLAUDE_CODE_CLIENT_KEY` | Jalur ke file kunci pribadi klien untuk autentikasi mTLS |

71| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Frasa sandi untuk `CLAUDE_CODE_CLIENT_KEY` terenkripsi (opsional) |71| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Frasa sandi untuk `CLAUDE_CODE_CLIENT_KEY` terenkripsi (opsional) |

72| `CLAUDE_CODE_DEBUG_LOGS_DIR` | Ganti jalur file log debug. Meskipun namanya, ini adalah jalur file, bukan direktori. Memerlukan mode debug diaktifkan secara terpisah melalui `--debug` atau `/debug`: mengatur variabel ini saja tidak mengaktifkan logging. Flag [`--debug-file`](/id/cli-reference#cli-flags) melakukan keduanya sekaligus. Default ke `~/.claude/debug/<session-id>.txt` |72| `CLAUDE_CODE_DEBUG_LOGS_DIR` | Ganti jalur file log debug. Meskipun namanya, ini adalah jalur file, bukan direktori. Memerlukan mode debug diaktifkan secara terpisah melalui `--debug`, `/debug`, atau variabel lingkungan `DEBUG`: mengatur variabel ini saja tidak mengaktifkan logging. Flag [`--debug-file`](/id/cli-reference#cli-flags) melakukan keduanya sekaligus. Default ke `~/.claude/debug/<session-id>.txt` |

73| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | Tingkat log minimum yang ditulis ke file log debug. Nilai: `verbose`, `debug` (default), `info`, `warn`, `error`. Atur ke `verbose` untuk menyertakan diagnostik volume tinggi seperti keluaran perintah baris status lengkap, atau naikkan ke `error` untuk mengurangi kebisingan |73| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | Tingkat log minimum yang ditulis ke file log debug. Nilai: `verbose`, `debug` (default), `info`, `warn`, `error`. Atur ke `verbose` untuk menyertakan diagnostik volume tinggi seperti keluaran perintah baris status lengkap, atau naikkan ke `error` untuk mengurangi kebisingan |

74| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Atur ke `1` untuk menonaktifkan dukungan [jendela konteks 1M](/id/model-config#extended-context). Saat diatur, varian model 1M tidak tersedia di pemilih model. Berguna untuk lingkungan perusahaan dengan persyaratan kepatuhan |74| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Atur ke `1` untuk menonaktifkan dukungan [jendela konteks 1M](/id/model-config#extended-context). Saat diatur, varian model 1M tidak tersedia di pemilih model. Berguna untuk lingkungan perusahaan dengan persyaratan kepatuhan |

75| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Atur ke `1` untuk menonaktifkan [penalaran adaptif](/id/model-config#adjust-effort-level) pada Opus 4.6 dan Sonnet 4.6 dan kembali ke anggaran pemikiran tetap yang dikendalikan oleh `MAX_THINKING_TOKENS`. {/* min-version: 2.1.111 */}Tidak berpengaruh pada Opus 4.7, yang selalu menggunakan penalaran adaptif |75| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Atur ke `1` untuk menonaktifkan [penalaran adaptif](/id/model-config#adjust-effort-level) pada Opus 4.6 dan Sonnet 4.6 dan kembali ke anggaran pemikiran tetap yang dikendalikan oleh `MAX_THINKING_TOKENS`. {/* min-version: 2.1.111 */}Tidak berpengaruh pada Opus 4.7, yang selalu menggunakan penalaran adaptif |


184| `CLAUDE_ENV_FILE` | Jalur ke skrip shell yang isinya Claude Code jalankan sebelum setiap perintah Bash dalam proses shell yang sama, sehingga ekspor dalam file terlihat oleh perintah. Gunakan untuk mempertahankan aktivasi virtualenv atau conda di seluruh perintah. Juga diisi secara dinamis oleh hook [SessionStart](/id/hooks#persist-environment-variables), [Setup](/id/hooks#setup), [CwdChanged](/id/hooks#cwdchanged), dan [FileChanged](/id/hooks#filechanged) |184| `CLAUDE_ENV_FILE` | Jalur ke skrip shell yang isinya Claude Code jalankan sebelum setiap perintah Bash dalam proses shell yang sama, sehingga ekspor dalam file terlihat oleh perintah. Gunakan untuk mempertahankan aktivasi virtualenv atau conda di seluruh perintah. Juga diisi secara dinamis oleh hook [SessionStart](/id/hooks#persist-environment-variables), [Setup](/id/hooks#setup), [CwdChanged](/id/hooks#cwdchanged), dan [FileChanged](/id/hooks#filechanged) |

185| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | Awalan untuk nama sesi [Remote Control](/id/remote-control) yang dibuat otomatis saat tidak ada nama eksplisit yang disediakan. Default ke nama mesin Anda, menghasilkan nama seperti `myhost-graceful-unicorn`. Flag CLI `--remote-control-session-name-prefix` mengatur nilai yang sama untuk satu pemanggilan |185| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | Awalan untuk nama sesi [Remote Control](/id/remote-control) yang dibuat otomatis saat tidak ada nama eksplisit yang disediakan. Default ke nama mesin Anda, menghasilkan nama seperti `myhost-graceful-unicorn`. Flag CLI `--remote-control-session-name-prefix` mengatur nilai yang sama untuk satu pemanggilan |

186| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | Waktu tunggu dalam milidetik sebelum streaming idle watchdog menutup koneksi yang macet. Default dan minimum `300000` (5 menit) untuk byte-level dan event-level watchdog; nilai yang lebih rendah secara diam-diam diklem untuk menyerap jeda pemikiran yang diperluas dan buffering proxy. Untuk penyedia pihak ketiga, memerlukan `CLAUDE_ENABLE_STREAM_WATCHDOG=1` |186| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | Waktu tunggu dalam milidetik sebelum streaming idle watchdog menutup koneksi yang macet. Default dan minimum `300000` (5 menit) untuk byte-level dan event-level watchdog; nilai yang lebih rendah secara diam-diam diklem untuk menyerap jeda pemikiran yang diperluas dan buffering proxy. Untuk penyedia pihak ketiga, memerlukan `CLAUDE_ENABLE_STREAM_WATCHDOG=1` |

187| `DEBUG` | Atur ke `1` untuk mengaktifkan mode debug, setara dengan meluncurkan dengan [`--debug`](/id/cli-reference#cli-flags). Log debug ditulis ke `~/.claude/debug/<session-id>.txt`, atau ke jalur yang diatur oleh `CLAUDE_CODE_DEBUG_LOGS_DIR`. Hanya nilai truthy `1`, `true`, `yes`, dan `on` yang mengaktifkan mode debug, jadi pola namespace seperti `DEBUG=express:*` yang diatur untuk alat lain tidak memicunya |

187| `DISABLE_AUTOUPDATER` | Atur ke `1` untuk menonaktifkan pembaruan otomatis latar belakang. Manual `claude update` masih berfungsi. Gunakan `DISABLE_UPDATES` untuk memblokir keduanya |188| `DISABLE_AUTOUPDATER` | Atur ke `1` untuk menonaktifkan pembaruan otomatis latar belakang. Manual `claude update` masih berfungsi. Gunakan `DISABLE_UPDATES` untuk memblokir keduanya |

188| `DISABLE_AUTO_COMPACT` | Atur ke `1` untuk menonaktifkan pemadatan otomatis saat mendekati batas konteks. Perintah manual `/compact` tetap tersedia. Gunakan saat Anda menginginkan kontrol eksplisit atas kapan pemadatan terjadi |189| `DISABLE_AUTO_COMPACT` | Atur ke `1` untuk menonaktifkan pemadatan otomatis saat mendekati batas konteks. Perintah manual `/compact` tetap tersedia. Gunakan saat Anda menginginkan kontrol eksplisit atas kapan pemadatan terjadi |

189| `DISABLE_COMPACT` | Atur ke `1` untuk menonaktifkan semua pemadatan: baik pemadatan otomatis maupun perintah manual `/compact` |190| `DISABLE_COMPACT` | Atur ke `1` untuk menonaktifkan semua pemadatan: baik pemadatan otomatis maupun perintah manual `/compact` |


209| `ENABLE_CLAUDEAI_MCP_SERVERS` | Atur ke `false` untuk menonaktifkan [server MCP claude.ai](/id/mcp#use-mcp-servers-from-claude-ai) di Claude Code. Diaktifkan secara default untuk pengguna yang masuk |210| `ENABLE_CLAUDEAI_MCP_SERVERS` | Atur ke `false` untuk menonaktifkan [server MCP claude.ai](/id/mcp#use-mcp-servers-from-claude-ai) di Claude Code. Diaktifkan secara default untuk pengguna yang masuk |

210| `ENABLE_PROMPT_CACHING_1H` | Atur ke `1` untuk meminta TTL cache prompt 1 jam alih-alih default 5 menit. Dimaksudkan untuk pengguna kunci API, [Bedrock](/id/amazon-bedrock), [Vertex](/id/google-vertex-ai), [Foundry](/id/microsoft-foundry), dan [Claude Platform on AWS](/id/claude-platform-on-aws). Pengguna langganan menerima TTL 1 jam secara otomatis. Penulisan cache 1 jam ditagih dengan tarif yang lebih tinggi |211| `ENABLE_PROMPT_CACHING_1H` | Atur ke `1` untuk meminta TTL cache prompt 1 jam alih-alih default 5 menit. Dimaksudkan untuk pengguna kunci API, [Bedrock](/id/amazon-bedrock), [Vertex](/id/google-vertex-ai), [Foundry](/id/microsoft-foundry), dan [Claude Platform on AWS](/id/claude-platform-on-aws). Pengguna langganan menerima TTL 1 jam secara otomatis. Penulisan cache 1 jam ditagih dengan tarif yang lebih tinggi |

211| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Deprecated. Gunakan `ENABLE_PROMPT_CACHING_1H` sebagai gantinya |212| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Deprecated. Gunakan `ENABLE_PROMPT_CACHING_1H` sebagai gantinya |

212| `ENABLE_TOOL_SEARCH` | Mengontrol [pencarian alat MCP](/id/mcp#scale-with-mcp-tool-search). Tidak diatur: semua alat MCP ditangguhkan secara default, tetapi dimuat di muka pada Vertex AI atau saat `ANTHROPIC_BASE_URL` menunjuk ke host non-pihak pertama. Nilai: `true` (selalu tangguhkan dan kirim header beta, permintaan gagal pada Vertex AI atau proxy yang tidak mendukung `tool_reference`), `auto` (mode ambang batas: muat di muka jika alat sesuai dalam 10% konteks), `auto:N` (ambang batas kustom, misalnya `auto:5` untuk 5%), `false` (muat semua di muka) |213| `ENABLE_TOOL_SEARCH` | Mengontrol [pencarian alat MCP](/id/mcp#scale-with-mcp-tool-search). Tidak diatur: semua alat MCP ditangguhkan secara default, tetapi dimuat di muka pada Vertex AI atau saat `ANTHROPIC_BASE_URL` menunjuk ke host non-pihak pertama. Nilai: `true` (selalu tangguhkan dan kirim header beta; permintaan gagal pada Vertex AI atau proxy yang tidak mendukung `tool_reference`), `auto` (mode ambang batas: muat di muka jika alat sesuai dalam 10% konteks), `auto:N` (ambang batas kustom, misalnya `auto:5` untuk 5%), `false` (muat semua di muka) |

213| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | Atur ke nilai non-kosong apa pun untuk memicu fallback ke [`--fallback-model`](/id/cli-reference#cli-flags) setelah kesalahan overload berulang pada model primer apa pun. Secara default, hanya model Opus yang memicu fallback |214| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | Atur ke nilai non-kosong apa pun untuk memicu fallback ke [`--fallback-model`](/id/cli-reference#cli-flags) setelah kesalahan overload berulang pada model primer apa pun. Secara default, hanya model Opus yang memicu fallback |

214| `FORCE_AUTOUPDATE_PLUGINS` | Atur ke `1` untuk memaksa pembaruan otomatis plugin bahkan saat auto-updater utama dinonaktifkan melalui `DISABLE_AUTOUPDATER` |215| `FORCE_AUTOUPDATE_PLUGINS` | Atur ke `1` untuk memaksa pembaruan otomatis plugin bahkan saat auto-updater utama dinonaktifkan melalui `DISABLE_AUTOUPDATER` |

215| `FORCE_PROMPT_CACHING_5M` | Atur ke `1` untuk memaksa TTL cache prompt 5 menit bahkan saat TTL 1 jam akan berlaku sebaliknya. Mengganti `ENABLE_PROMPT_CACHING_1H` |216| `FORCE_PROMPT_CACHING_5M` | Atur ke `1` untuk memaksa TTL cache prompt 5 menit bahkan saat TTL 1 jam akan berlaku sebaliknya. Mengganti `ENABLE_PROMPT_CACHING_1H` |

errors.md +3 −3

Details

81 81 

82* Periksa [status.claude.com](https://status.claude.com) untuk insiden aktif82* Periksa [status.claude.com](https://status.claude.com) untuk insiden aktif

83* Tunggu satu menit, kemudian kirim pesan Anda lagi. Pesan asli Anda masih ada dalam percakapan, jadi untuk prompt panjang Anda dapat mengetik `try again` daripada menempel seluruh hal.83* Tunggu satu menit, kemudian kirim pesan Anda lagi. Pesan asli Anda masih ada dalam percakapan, jadi untuk prompt panjang Anda dapat mengetik `try again` daripada menempel seluruh hal.

84* Jika kesalahan berlanjut tanpa insiden yang diposting, jalankan `/feedback` sehingga Anthropic dapat menyelidiki dengan detail permintaan Anda. Lihat [Laporkan kesalahan](#report-an-error) jika `/feedback` tidak tersedia di penyedia Anda.84* Jika kesalahan berlanjut tanpa insiden yang diposting, jalankan `/feedback` sehingga Anthropic dapat menyelidiki dengan detail permintaan Anda. Lihat [Laporkan kesalahan](#report-an-error) jika `/feedback` tidak tersedia di lingkungan Anda.

85 85 

86### API Error: Repeated 529 Overloaded errors86### API Error: Repeated 529 Overloaded errors

87 87 


584 584 

585Ketika respons salah, mundur biasanya bekerja lebih baik daripada membalas dengan koreksi. Tekan Esc dua kali atau jalankan `/rewind` untuk mundur ke sebelum putaran yang buruk, kemudian rephrase prompt dengan lebih spesifik. Mengoreksi dalam-thread menjaga upaya yang salah dalam konteks, yang dapat menambatkan jawaban nanti ke sana. Lihat [Checkpointing](/id/checkpointing).585Ketika respons salah, mundur biasanya bekerja lebih baik daripada membalas dengan koreksi. Tekan Esc dua kali atau jalankan `/rewind` untuk mundur ke sebelum putaran yang buruk, kemudian rephrase prompt dengan lebih spesifik. Mengoreksi dalam-thread menjaga upaya yang salah dalam konteks, yang dapat menambatkan jawaban nanti ke sana. Lihat [Checkpointing](/id/checkpointing).

586 586 

587Jika kualitas masih tampak tidak normal setelah memeriksa di atas, jalankan `/feedback` dan jelaskan apa yang Anda harapkan versus apa yang Anda dapatkan. Umpan balik yang dikirimkan dengan cara ini mencakup transkrip percakapan, yang merupakan cara tercepat bagi Anthropic untuk mendiagnosis regresi nyata. Lihat [Report an error](#report-an-error) jika `/feedback` tidak tersedia di penyedia Anda.587Jika kualitas masih tampak tidak normal setelah memeriksa di atas, jalankan `/feedback` dan jelaskan apa yang Anda harapkan versus apa yang Anda dapatkan. Umpan balik yang dikirimkan dengan cara ini mencakup transkrip percakapan, yang merupakan cara tercepat bagi Anthropic untuk mendiagnosis regresi nyata. Lihat [Report an error](#report-an-error) jika `/feedback` tidak tersedia di lingkungan Anda.

588 588 

589## Laporkan kesalahan589## Laporkan kesalahan

590 590 


596 596 

597Jika kesalahan tidak tercantum di sini atau perbaikan yang disarankan tidak membantu:597Jika kesalahan tidak tercantum di sini atau perbaikan yang disarankan tidak membantu:

598 598 

599* Jalankan `/feedback` di dalam Claude Code untuk mengirim transkrip dan deskripsi ke Anthropic. Perintah juga menawarkan untuk membuka masalah GitHub yang sudah diisi sebelumnya. Umpan balik tidak tersedia di Bedrock, Vertex AI, dan penyebaran Foundry.599* Jalankan `/feedback` di dalam Claude Code untuk mengirim transkrip dan deskripsi ke Anthropic. Perintah juga menawarkan untuk membuka masalah GitHub yang sudah diisi sebelumnya. Pada Bedrock, Vertex AI, Foundry, dan penyedia pihak ketiga lainnya, `/feedback` menyimpan arsip lokal yang dapat Anda kirim ke perwakilan akun Anthropic Anda.

600* Jalankan `/doctor` untuk memeriksa masalah konfigurasi lokal600* Jalankan `/doctor` untuk memeriksa masalah konfigurasi lokal

601* Periksa [status.claude.com](https://status.claude.com) untuk insiden aktif601* Periksa [status.claude.com](https://status.claude.com) untuk insiden aktif

602* Cari [masalah yang ada](https://github.com/anthropics/claude-code/issues) di GitHub602* Cari [masalah yang ada](https://github.com/anthropics/claude-code/issues) di GitHub

goal.md +4 −0

Details

6 6 

7> Tetapkan kondisi penyelesaian dengan /goal dan Claude terus bekerja lintas giliran hingga kondisi terpenuhi.7> Tetapkan kondisi penyelesaian dengan /goal dan Claude terus bekerja lintas giliran hingga kondisi terpenuhi.

8 8 

9<Note>

10 `/goal` memerlukan Claude Code v2.1.139 atau lebih baru.

11</Note>

12 

9Perintah `/goal` menetapkan kondisi penyelesaian dan Claude terus bekerja menuju tujuan tersebut tanpa Anda meminta setiap langkah. Setelah setiap giliran, model cepat kecil memeriksa apakah kondisi terpenuhi. Jika tidak, Claude memulai giliran lain alih-alih mengembalikan kontrol kepada Anda. Tujuan dihapus secara otomatis setelah kondisi terpenuhi.13Perintah `/goal` menetapkan kondisi penyelesaian dan Claude terus bekerja menuju tujuan tersebut tanpa Anda meminta setiap langkah. Setelah setiap giliran, model cepat kecil memeriksa apakah kondisi terpenuhi. Jika tidak, Claude memulai giliran lain alih-alih mengembalikan kontrol kepada Anda. Tujuan dihapus secara otomatis setelah kondisi terpenuhi.

10 14 

11Gunakan tujuan untuk pekerjaan substansial dengan keadaan akhir yang dapat diverifikasi:15Gunakan tujuan untuk pekerjaan substansial dengan keadaan akhir yang dapat diverifikasi:

Details

202 202 

203[Prompt caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) diaktifkan secara otomatis. Untuk menonaktifkannya, atur `DISABLE_PROMPT_CACHING=1`. Untuk meminta TTL cache 1 jam alih-alih default 5 menit, atur `ENABLE_PROMPT_CACHING_1H=1`; penulisan cache dengan TTL 1 jam ditagih dengan tarif yang lebih tinggi. Untuk batas laju yang lebih tinggi, hubungi dukungan Google Cloud. Saat menggunakan Vertex AI, perintah `/login` dan `/logout` dinonaktifkan karena autentikasi ditangani melalui kredensial Google Cloud.203[Prompt caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) diaktifkan secara otomatis. Untuk menonaktifkannya, atur `DISABLE_PROMPT_CACHING=1`. Untuk meminta TTL cache 1 jam alih-alih default 5 menit, atur `ENABLE_PROMPT_CACHING_1H=1`; penulisan cache dengan TTL 1 jam ditagih dengan tarif yang lebih tinggi. Untuk batas laju yang lebih tinggi, hubungi dukungan Google Cloud. Saat menggunakan Vertex AI, perintah `/login` dan `/logout` dinonaktifkan karena autentikasi ditangani melalui kredensial Google Cloud.

204 204 

205[Pencarian alat MCP](/id/mcp#scale-with-mcp-tool-search) dinonaktifkan secara default di Vertex AI karena titik akhir tidak menerima header beta yang diperlukan. Semua definisi alat MCP dimuat di muka sebagai gantinya. Untuk memilih, atur `ENABLE_TOOL_SEARCH=true`.205Claude Code menonaktifkan [pencarian alat MCP](/id/mcp#scale-with-mcp-tool-search) secara default di Vertex AI, sehingga definisi alat MCP dimuat di muka. Vertex AI mendukung pencarian alat untuk Claude Sonnet 4.5 dan lebih baru serta Claude Opus 4.5 dan lebih baru. Atur `ENABLE_TOOL_SEARCH=true` untuk mengaktifkannya pada model tersebut. Model sebelumnya di Vertex AI tidak menerima header beta yang diperlukan, dan permintaan gagal jika Anda mengaktifkan pencarian alat dengan model tersebut.

206 206 

207### 5. Pin versi model207### 5. Pin versi model

208 208 


227| Jenis model | Nilai default |227| Jenis model | Nilai default |

228| :---------------- | :--------------------------- |228| :---------------- | :--------------------------- |

229| Model utama | `claude-sonnet-4-5@20250929` |229| Model utama | `claude-sonnet-4-5@20250929` |

230| Model kecil/cepat | `claude-haiku-4-5@20251001` |230| Model kecil/cepat | Sama dengan model utama |

231 

232Tugas latar belakang seperti pembuatan judul sesi menggunakan model kecil/cepat, biasanya model kelas Haiku. Di Vertex AI, Claude Code menganggap default ini ke model utama karena Haiku mungkin tidak diaktifkan di setiap proyek atau wilayah. Untuk menggunakan Haiku untuk tugas latar belakang, atur `ANTHROPIC_DEFAULT_HAIKU_MODEL` ke ID model yang tersedia di proyek Anda.

231 233 

232Untuk menyesuaikan model lebih lanjut:234Untuk menyesuaikan model lebih lanjut:

233 235 

hooks.md +15 −1

Details

732# Notification hook: ping desktop ketika Claude Code membutuhkan perhatian.732# Notification hook: ping desktop ketika Claude Code membutuhkan perhatian.

733input=$(cat)733input=$(cat)

734title="Claude Code'734title="Claude Code'

735body=$(jq -r '.message // "Needs your attention"' <<<"$input")735body=$(jq -r '.message // 'Needs your attention"' <<<"$input")

736seq=$(printf '\033]777;notify;%s;%s\007' "$title" "$body")736seq=$(printf '\033]777;notify;%s;%s\007' "$title" "$body")

737jq -nc --arg seq "$seq" '{terminalSequence: $seq}'737jq -nc --arg seq "$seq" '{terminalSequence: $seq}'

738```738```


1230| `subagent_type` | string | `"Explore"` | Tipe agent khusus untuk digunakan |1230| `subagent_type` | string | `"Explore"` | Tipe agent khusus untuk digunakan |

1231| `model` | string | `"sonnet"` | Alias model opsional untuk menimpa default |1231| `model` | string | `"sonnet"` | Alias model opsional untuk menimpa default |

1232 1232 

1233Dalam `PostToolUse`, `tool_response` untuk panggilan Agent yang selesai membawa teks akhir subagent bersama dengan telemetri penggunaan. Baca bidang-bidang ini untuk mencatat biaya per-subagent dari hook:

1234 

1235| Bidang | Tipe | Contoh | Deskripsi |

1236| :------------------ | :----- | :---------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------ |

1237| `status` | string | `"completed"` | `"completed"` untuk panggilan sinkron, `"async_launched"` untuk `run_in_background: true` |

1238| `agentId` | string | `"a4d2c8f1e0b3a297"` | Pengenal untuk run subagent |

1239| `content` | array | `[{"type": "text", "text": "Found 12 endpoints..."}]` | Blok teks akhir subagent |

1240| `totalTokens` | number | `12450` | Total tokens yang ditagih di seluruh giliran subagent |

1241| `totalDurationMs` | number | `48211` | Durasi wall-clock dari run subagent |

1242| `totalToolUseCount` | number | `7` | Jumlah pemanggilan tool yang dibuat subagent |

1243| `usage` | object | `{"input_tokens": 8320, ...}` | Breakdown token per-tipe: `input_tokens`, `output_tokens`, `cache_creation_input_tokens`, `cache_read_input_tokens` |

1244 

1245Untuk panggilan `run_in_background: true`, tool mengembalikan segera setelah meluncurkan subagent, jadi `tool_response` tidak membawa bidang penggunaan. Itu memiliki `status: "async_launched"`, `agentId`, `description`, `prompt`, dan `outputFile` sebagai gantinya.

1246 

1233##### AskUserQuestion1247##### AskUserQuestion

1234 1248 

1235Mengajukan pertanyaan multiple-choice satu hingga empat kepada pengguna.1249Mengajukan pertanyaan multiple-choice satu hingga empat kepada pengguna.

mcp.md +6 −4

Details

953 953 

954### Konfigurasi pencarian alat954### Konfigurasi pencarian alat

955 955 

956Pencarian alat diaktifkan secara default: alat MCP ditangguhkan dan ditemukan sesuai permintaan. Pencarian alat dinonaktifkan secara default di Vertex AI, yang tidak menerima header beta pencarian alat, dan ketika `ANTHROPIC_BASE_URL` menunjuk ke host non-pihak pertama, karena sebagian besar proxy tidak meneruskan blok `tool_reference`. Jika proxy Anda meneruskan blok `tool_reference`, atur `ENABLE_TOOL_SEARCH` secara eksplisit untuk mengganti fallback. Fitur ini memerlukan model yang mendukung blok `tool_reference`: Sonnet 4 dan lebih baru, atau Opus 4 dan lebih baru. Model Haiku tidak mendukung pencarian alat.956Pencarian alat diaktifkan secara default: alat MCP ditangguhkan dan ditemukan sesuai permintaan. Claude Code menonaktifkannya secara default di Vertex AI. Pencarian alat juga dinonaktifkan ketika `ANTHROPIC_BASE_URL` menunjuk ke host non-pihak pertama, karena sebagian besar proxy tidak meneruskan blok `tool_reference`. Atur `ENABLE_TOOL_SEARCH` secara eksplisit untuk mengganti fallback mana pun.

957 

958Pencarian alat memerlukan model yang mendukung blok `tool_reference`: Sonnet 4 dan lebih baru, atau Opus 4 dan lebih baru. Model Haiku tidak mendukungnya. Di Vertex AI, pencarian alat didukung untuk Claude Sonnet 4.5 dan lebih baru serta Claude Opus 4.5 dan lebih baru.

957 959 

958Kontrol perilaku pencarian alat dengan variabel lingkungan `ENABLE_TOOL_SEARCH`:960Kontrol perilaku pencarian alat dengan variabel lingkungan `ENABLE_TOOL_SEARCH`:

959 961 

960| Nilai | Perilaku |962| Nilai | Perilaku |

961| :------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |963| :------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

962| (tidak diatur) | Semua alat MCP ditangguhkan dan dimuat sesuai permintaan. Kembali ke pemuatan sebelumnya di Vertex AI atau ketika `ANTHROPIC_BASE_URL` adalah host non-pihak pertama |964| (tidak diatur) | Semua alat MCP ditangguhkan dan dimuat sesuai permintaan. Kembali ke pemuatan sebelumnya di Vertex AI atau ketika `ANTHROPIC_BASE_URL` adalah host non-pihak pertama |

963| `true` | Semua alat MCP ditangguhkan. Claude Code mengirim header beta bahkan di Vertex AI dan melalui proxy. Permintaan gagal jika backend tidak mendukung blok `tool_reference` |965| `true` | Semua alat MCP ditangguhkan. Claude Code mengirim header beta bahkan di Vertex AI dan melalui proxy. Permintaan gagal pada model Vertex AI lebih awal dari Sonnet 4.5 atau Opus 4.5, atau pada proxy yang tidak mendukung blok `tool_reference` |

964| `auto` | Mode ambang batas: alat dimuat sebelumnya jika cocok dalam 10% jendela konteks, ditangguhkan sebaliknya |966| `auto` | Mode ambang batas: alat dimuat sebelumnya jika cocok dalam 10% jendela konteks, ditangguhkan sebaliknya |

965| `auto:<N>` | Mode ambang batas dengan persentase khusus, di mana `<N>` adalah 0-100 (misalnya, `auto:5` untuk 5%) |967| `auto:N` | Mode ambang batas dengan persentase khusus, di mana `N` adalah 0-100. Misalnya, `auto:5` untuk 5% |

966| `false` | Semua alat MCP dimuat sebelumnya, tidak ada penundaan |968| `false` | Semua alat MCP dimuat sebelumnya, tidak ada penundaan |

967 969 

968```bash theme={null}970```bash theme={null}

Details

163export ANTHROPIC_DEFAULT_HAIKU_MODEL='claude-haiku-4-5'163export ANTHROPIC_DEFAULT_HAIKU_MODEL='claude-haiku-4-5'

164```164```

165 165 

166Tugas latar belakang seperti pembuatan judul sesi menggunakan model kecil/cepat, biasanya model kelas Haiku. Di Foundry, Claude Code secara default menggunakan model utama karena tidak setiap akun memiliki deployment Haiku. Untuk menggunakan Haiku untuk tugas latar belakang, atur `ANTHROPIC_DEFAULT_HAIKU_MODEL` ke deployment Haiku yang tersedia di akun Anda, seperti yang ditunjukkan di atas.

167 

166Untuk ID model saat ini dan legacy, lihat [Models overview](https://platform.claude.com/docs/en/about-claude/models/overview). Lihat [Model configuration](/id/model-config#pin-models-for-third-party-deployments) untuk daftar lengkap variabel lingkungan.168Untuk ID model saat ini dan legacy, lihat [Models overview](https://platform.claude.com/docs/en/about-claude/models/overview). Lihat [Model configuration](/id/model-config#pin-models-for-third-party-deployments) untuk daftar lengkap variabel lingkungan.

167 169 

168[Prompt caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) diaktifkan secara otomatis. Untuk meminta TTL cache 1 jam alih-alih default 5 menit, atur variabel berikut; cache writes dengan TTL 1 jam ditagih dengan tarif yang lebih tinggi:170[Prompt caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) diaktifkan secara otomatis. Untuk meminta TTL cache 1 jam alih-alih default 5 menit, atur variabel berikut; cache writes dengan TTL 1 jam ditagih dengan tarif yang lebih tinggi: