SpyBara
Go Premium

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

18 files changed +521 −50. 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


93 }93 }

94 })) {94 })) {

95 if (message.type === "system" && message.subtype === "init") {95 if (message.type === "system" && message.subtype === "init") {

96 // Check loaded plugins96 // 檢查已加載的 plugins

97 console.log("Plugins:", message.plugins);97 console.log("Plugins:", message.plugins);

98 // Example: [{ name: "my-plugin", path: "./my-plugin" }]98 // 範例:[{ name: "my-plugin", path: "./my-plugin" }]

99 99 

100 // Check available commands from plugins100 // 檢查來自 plugins 的可用命令

101 console.log("Commands:", message.slash_commands);101 console.log("Commands:", message.slash_commands);

102 // Example: ["/help", "/compact", "my-plugin:custom-command"]102 // 範例:["/help", "/compact", "my-plugin:custom-command"]

103 }103 }

104 }104 }

105 ```105 ```

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 # 檢查已加載的 plugins

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

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

120 123 

121 # Check available commands from plugins124 # 檢查來自 plugins 的可用命令

122 print("Commands:", message.data.get("slash_commands"))125 print("Commands:", message.data.get("slash_commands"))

123 # Example: ["/help", "/compact", "my-plugin:custom-command"]126 # 範例:["/help", "/compact", "my-plugin:custom-command"]

124 127 

125 128 

126 asyncio.run(main())129 asyncio.run(main())


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# 串流輸入

6 

7> 了解 Claude Agent SDK 的兩種輸入模式及何時使用各種模式

8 

9## 概述

10 

11Claude Agent SDK 支援兩種不同的輸入模式來與代理互動:

12 

13* **串流輸入模式**(預設且推薦)- 持久的互動式工作階段

14* **單一訊息輸入** - 使用工作階段狀態和恢復的一次性查詢

15 

16本指南說明每種模式的差異、優點和使用案例,幫助您為應用程式選擇正確的方法。

17 

18## 串流輸入模式(推薦)

19 

20串流輸入模式是使用 Claude Agent SDK 的**首選**方式。它提供對代理功能的完整存取,並啟用豐富的互動式體驗。

21 

22它允許代理作為長期執行的程序運作,接收使用者輸入、處理中斷、顯示權限請求,以及處理工作階段管理。

23 

24### 運作方式

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### 優點

63 

64<CardGroup cols={2}>

65 <Card title="影像上傳" icon="image">

66 直接將影像附加到訊息中以進行視覺分析和理解

67 </Card>

68 

69 <Card title="佇列訊息" icon="stack">

70 傳送多個訊息以順序處理,並能夠中斷

71 </Card>

72 

73 <Card title="工具整合" icon="wrench">

74 在工作階段期間完整存取所有工具和自訂 MCP 伺服器

75 </Card>

76 

77 <Card title="Hooks 支援" icon="link">

78 使用生命週期 hooks 在各個點自訂行為

79 </Card>

80 

81 <Card title="即時回饋" icon="lightning">

82 查看產生的回應,而不僅僅是最終結果

83 </Card>

84 

85 <Card title="內容持久性" icon="database">

86 自然地在多個回合中維持對話內容

87 </Card>

88</CardGroup>

89 

90### 實作範例

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## 單一訊息輸入

216 

217單一訊息輸入更簡單但功能更受限。

218 

219### 何時使用單一訊息輸入

220 

221在以下情況下使用單一訊息輸入:

222 

223* 您需要一次性回應

224* 您不需要影像附件、hooks 等

225* 您需要在無狀態環境中運作,例如 lambda 函式

226 

227### 限制

228 

229<Warning>

230 單一訊息輸入模式**不**支援:

231 

232 * 訊息中的直接影像附件

233 * 動態訊息佇列

234 * 即時中斷

235 * Hook 整合

236 * 自然的多回合對話

237</Warning>

238 

239### 實作範例

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

298 298 

299## 檢測子代理調用299## 檢測子代理調用

300 300 

301子代理通過 Agent 工具調用。要檢測何時調用子代理,請檢查 `tool_use` 塊,其中 `name` 是 `"Agent"`。來自子代理上下文內的消息包括 `parent_tool_use_id` 欄位。301子代理通過 Agent 工具調用。要檢測何時調用子代理,請檢查 `tool_use` 塊,其中 `name` 是 `"Agent"`。來自子代理上下文內的訊息包括 `parent_tool_use_id` 欄位。

302 302 

303<Note>303<Note>

304 工具名稱在 Claude Code v2.1.63 中從 `"Task"` 重命名為 `"Agent"`。當前 SDK 版本在 `tool_use` 塊中發出 `"Agent"`,但在 `system:init` 工具列表和 `result.permission_denials[].tool_name` 中仍使用 `"Task"`。檢查 `block.name` 中的兩個值可確保跨 SDK 版本的兼容性304 工具名稱在 Claude Code v2.1.63 中從 `"Task"` 重新命名為 `"Agent"`。目前 SDK 版本在 `tool_use` 塊中發出 `"Agent"`,但在 `system:init` 工具清單和 `result.permission_denials[].tool_name` 中仍使用 `"Task"`。檢查 `block.name` 中的兩個值可確保跨 SDK 版本的相容性

305</Note>305</Note>

306 306 

307此示例遍歷流式消息記錄何時調用子代理以及後續消息何時源自該子代理的執行上下文307此範例遍歷串流訊息記錄何時調用子代理以及後續訊息何時源自該子代理的執行上下文

308 308 

309<Note>309<Note>

310 消息結構在 SDK 之間有所不同。在 Python 中,內容塊直接通過 `message.content` 訪問。在 TypeScript 中,`SDKAssistantMessage` 包裝 Claude API 消息,因此內容通過 `message.message.content` 訪問310 訊息結構在 SDK 之間有所不同。在 Python 中,內容塊直接通過 `message.content` 存取。在 TypeScript 中,`SDKAssistantMessage` 包裝 Claude API 訊息,因此內容通過 `message.message.content` 存取

311</Note>311</Note>

312 312 

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 ):


395 395 

396當子代理完成時,Claude 在 Agent 工具結果中接收其代理 ID。要以程式方式恢復子代理:396當子代理完成時,Claude 在 Agent 工具結果中接收其代理 ID。要以程式方式恢復子代理:

397 397 

3981. **捕獲會話 ID**:在第一個查詢期間從消息中提取 `session_id`3981. **捕獲會話 ID**:在第一個查詢期間從訊息中提取 `session_id`

3992. **提取代理 ID**:從消息內容中解析 `agentId`3992. **提取代理 ID**:從訊息內容中解析 `agentId`

4003. **恢復會話**:在第二個查詢的選項中傳遞 `resume: sessionId`,並在提示詞中包含代理 ID4003. **恢復會話**:在第二個查詢的選項中傳遞 `resume: sessionId`,並在提示詞中包含代理 ID

401 401 

402<Note>402<Note>


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; // 來自 Anthropic SDK952 message: MessageParam; // 來自 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 

268傳遞 `--name` 以在 agent view 中設定工作階段的顯示名稱,而不是自動生成的名稱:

269 

270```bash theme={null}

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

272```

273 

268背景化後,Claude 列印工作階段的短 ID 和管理它的命令:274背景化後,Claude 列印工作階段的短 ID 和管理它的命令:

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 # 或您偏好的區域212export AWS_REGION=us-east-1 # 或您偏好的區域

213 213 

214# 選用:覆寫小型/快速模型 (Haiku) 的區域214# 選用:覆寫小型/快速模型 (Bedrock 和 Mantle) 的 AWS 區域

215# 也適用於 Bedrock Mantle。215# Bedrock 上,如果沒有設定 ANTHROPIC_DEFAULT_HAIKU_MODEL

216# 或已棄用的 ANTHROPIC_SMALL_FAST_MODEL,則無效。

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

217 218 

218# 選用:覆寫 Bedrock 端點 URL 以用於自訂端點或閘道219# 選用:覆寫 Bedrock 端點 URL 以用於自訂端點或閘道


248| 模型類型 | 預設值 |249| 模型類型 | 預設值 |

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

250| 主要模型 | `us.anthropic.claude-sonnet-4-5-20250929-v1:0` |251| 主要模型 | `us.anthropic.claude-sonnet-4-5-20250929-v1:0` |

251| 小型/快速模型 | `us.anthropic.claude-haiku-4-5-20251001-v1:0` |252| 小型/快速模型 | 與主要模型相同 |

253 

254背景工作(例如工作階段標題產生)使用小型/快速模型,通常是 Haiku 級模型。在 Bedrock 上,Claude Code 預設為主要模型,因為 Haiku 可能不會在每個帳戶或區域中啟用。若要使用 Haiku 進行背景工作,請將 `ANTHROPIC_DEFAULT_HAIKU_MODEL` 設定為您帳戶中可用的模型 ID。

252 255 

253若要進一步自訂模型,請使用以下其中一種方法:256若要進一步自訂模型,請使用以下其中一種方法:

254 257 

Details

1520| `tasks/` | 由 task tools 寫入的每個工作階段任務清單 |1520| `tasks/` | 由 task tools 寫入的每個工作階段任務清單 |

1521| `shell-snapshots/` | Bash tool 使用的擷取 shell 環境。在正常退出時移除。掃描會清除任何在當機後遺留的檔案。 |1521| `shell-snapshots/` | Bash tool 使用的擷取 shell 環境。在正常退出時移除。掃描會清除任何在當機後遺留的檔案。 |

1522| `backups/` | 在設定遷移前取得的 `~/.claude.json` 的時間戳記副本 |1522| `backups/` | 在設定遷移前取得的 `~/.claude.json` 的時間戳記副本 |

1523| `feedback-bundles/` | 由 `/feedback` 在第三方提供者上寫入的已編輯文字記錄存檔,用於傳送到您的 Anthropic 帳戶團隊 |

1523 1524 

1524### 保留直到您刪除它們1525### 保留直到您刪除它們

1525 1526 

data-usage.md +4 −2

Details

97 97 

98Claude Code 從使用者的機器連接到 Anthropic 以記錄延遲、可靠性和使用模式等操作指標。此記錄不包括任何程式碼或檔案路徑。資料在傳輸中和靜止時都經過加密。若要選擇退出遙測,請設定 `DISABLE_TELEMETRY` 環境變數。98Claude Code 從使用者的機器連接到 Anthropic 以記錄延遲、可靠性和使用模式等操作指標。此記錄不包括任何程式碼或檔案路徑。資料在傳輸中和靜止時都經過加密。若要選擇退出遙測,請設定 `DISABLE_TELEMETRY` 環境變數。

99 99 

100Claude Code 從使用者的機器連接到 Sentry 進行操作錯誤記錄。資料在傳輸中使用 TLS 加密,在靜止時使用 256 位 AES 加密。在 [Sentry 安全文件](https://sentry.io/security/)中閱讀更多資訊。若要選擇退出錯誤記錄,請設定 `DISABLE_ERROR_REPORTING` 環境變數。100Claude Code 從使用者的機器連接到 Sentry 進行操作錯誤記錄。資料在傳輸中使用 TLS 加密,在靜止時使用 256 位 AES 加密。在 [Sentry 安全文件](https://sentry.io/security/) 中閱讀更多資訊。若要選擇退出錯誤記錄,請設定 `DISABLE_ERROR_REPORTING` 環境變數。

101 101 

102當使用者執行 `/feedback` 命令時,他們的完整對話歷史記錄(包括程式碼)的副本會發送到 Anthropic。資料在傳輸中使用 TLS 加密。可選地,在公開儲存庫中建立 GitHub 問題。若要選擇退出,請設定 `DISABLE_FEEDBACK_COMMAND` 環境變數為 `1`。102當使用者執行 `/feedback` 命令時,他們的完整對話歷史記錄(包括程式碼)的副本會發送到 Anthropic。在提交前,使用者可以選擇要包含多少歷史記錄:僅限目前工作階段(預設值),或也包括同一專案在過去 24 小時或 7 天內的其他工作階段。資料在傳輸中使用 TLS 加密。可選地,在公開儲存庫中建立 GitHub 問題。若要選擇退出,請設定 `DISABLE_FEEDBACK_COMMAND` 環境變數為 `1`。

103 

104當使用者使用第三方提供者(例如 Bedrock 或 Vertex)或未設定 Anthropic 認證時,`/feedback` 會將報告寫入 `~/.claude/feedback-bundles/` 下的本機封存,而不是將其發送到 Anthropic。已知的 API 金鑰和權杖模式在寫入封存前會被編輯。在使用者將該檔案發送給 Anthropic 帳戶代表或將其附加到支援請求之前,任何內容都不會離開使用者的機器。

103 105 

104## 按 API 提供者的預設行為106## 按 API 提供者的預設行為

105 107 

env-vars.md +3 −2

Details

42| `ANTHROPIC_FOUNDRY_RESOURCE` | Foundry 資源名稱(例如,`my-resource`)。如果未設定 `ANTHROPIC_FOUNDRY_BASE_URL`,則為必需(請參閱 [Microsoft Foundry](/zh-TW/microsoft-foundry)) |42| `ANTHROPIC_FOUNDRY_RESOURCE` | Foundry 資源名稱(例如,`my-resource`)。如果未設定 `ANTHROPIC_FOUNDRY_BASE_URL`,則為必需(請參閱 [Microsoft Foundry](/zh-TW/microsoft-foundry)) |

43| `ANTHROPIC_MODEL` | 要使用的模型設定名稱(請參閱 [Model Configuration](/zh-TW/model-config#environment-variables)) |43| `ANTHROPIC_MODEL` | 要使用的模型設定名稱(請參閱 [Model Configuration](/zh-TW/model-config#environment-variables)) |

44| `ANTHROPIC_SMALL_FAST_MODEL` | \[已棄用] [Haiku 級別模型用於背景任務](/zh-TW/costs)的名稱 |44| `ANTHROPIC_SMALL_FAST_MODEL` | \[已棄用] [Haiku 級別模型用於背景任務](/zh-TW/costs)的名稱 |

45| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | 使用 Bedrock 或 Bedrock Mantle 時覆蓋 Haiku 級別模型的 AWS 區域 |45| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | 使用 Bedrock 或 Bedrock Mantle 時覆蓋 Haiku 級別模型的 AWS 區域。在 Bedrock 上,僅當同時設定 `ANTHROPIC_DEFAULT_HAIKU_MODEL` 或已棄用的 `ANTHROPIC_SMALL_FAST_MODEL` 時才生效,因為 Bedrock 否則會為背景任務使用主要模型 |

46| `ANTHROPIC_VERTEX_BASE_URL` | 覆蓋 Vertex AI 端點 URL。用於自訂 Vertex 端點或透過 [LLM gateway](/zh-TW/llm-gateway) 路由。請參閱 [Google Vertex AI](/zh-TW/google-vertex-ai) |46| `ANTHROPIC_VERTEX_BASE_URL` | 覆蓋 Vertex AI 端點 URL。用於自訂 Vertex 端點或透過 [LLM gateway](/zh-TW/llm-gateway) 路由。請參閱 [Google Vertex AI](/zh-TW/google-vertex-ai) |

47| `ANTHROPIC_VERTEX_PROJECT_ID` | Vertex AI 的 GCP 專案 ID。被 `GCLOUD_PROJECT`、`GOOGLE_CLOUD_PROJECT` 或您的 `GOOGLE_APPLICATION_CREDENTIALS` 認證檔案中的專案覆蓋。請參閱 [Google Vertex AI](/zh-TW/google-vertex-ai) |47| `ANTHROPIC_VERTEX_PROJECT_ID` | Vertex AI 的 GCP 專案 ID。被 `GCLOUD_PROJECT`、`GOOGLE_CLOUD_PROJECT` 或您的 `GOOGLE_APPLICATION_CREDENTIALS` 認證檔案中的專案覆蓋。請參閱 [Google Vertex AI](/zh-TW/google-vertex-ai) |

48| `ANTHROPIC_WORKSPACE_ID` | [workload identity federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation) 的工作區 ID。當您的聯盟規則的範圍涵蓋多個工作區時設定此項,以便權杖交換知道要針對哪個工作區 |48| `ANTHROPIC_WORKSPACE_ID` | [workload identity federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation) 的工作區 ID。當您的聯盟規則的範圍涵蓋多個工作區時設定此項,以便權杖交換知道要針對哪個工作區 |


69| `CLAUDE_CODE_CLIENT_CERT` | 用於 mTLS 驗證的用戶端憑證檔案的路徑 |69| `CLAUDE_CODE_CLIENT_CERT` | 用於 mTLS 驗證的用戶端憑證檔案的路徑 |

70| `CLAUDE_CODE_CLIENT_KEY` | 用於 mTLS 驗證的用戶端私密金鑰檔案的路徑 |70| `CLAUDE_CODE_CLIENT_KEY` | 用於 mTLS 驗證的用戶端私密金鑰檔案的路徑 |

71| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | 加密 CLAUDE\_CODE\_CLIENT\_KEY 的密碼(可選) |71| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | 加密 CLAUDE\_CODE\_CLIENT\_KEY 的密碼(可選) |

72| `CLAUDE_CODE_DEBUG_LOGS_DIR` | 覆蓋偵錯日誌檔案路徑。儘管名稱如此,這是檔案路徑,而不是目錄。需要透過 `--debug` 或 `/debug` 單獨啟用偵錯模式:僅設定此變數不會啟用日誌記錄。[`--debug-file`](/zh-TW/cli-reference#cli-flags) 旗標同時執行兩者。預設為 `~/.claude/debug/<session-id>.txt` |72| `CLAUDE_CODE_DEBUG_LOGS_DIR` | 覆蓋偵錯日誌檔案路徑。儘管名稱如此,這是檔案路徑,而不是目錄。需要透過 `--debug`、`/debug` 或 `DEBUG` 環境變數單獨啟用偵錯模式:僅設定此變數不會啟用日誌記錄。[`--debug-file`](/zh-TW/cli-reference#cli-flags) 旗標同時執行兩者。預設為 `~/.claude/debug/<session-id>.txt` |

73| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | 寫入偵錯日誌檔案的最小日誌級別。值:`verbose`、`debug`(預設)、`info`、`warn`、`error`。設定為 `verbose` 以包含高容量診斷,例如完整狀態行命令輸出,或提高到 `error` 以減少雜訊 |73| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | 寫入偵錯日誌檔案的最小日誌級別。值:`verbose`、`debug`(預設)、`info`、`warn`、`error`。設定為 `verbose` 以包含高容量診斷,例如完整狀態行命令輸出,或提高到 `error` 以減少雜訊 |

74| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | 設定為 `1` 以停用 [1M context window](/zh-TW/model-config#extended-context) 支援。設定時,1M 模型變體在模型選擇器中不可用。對於具有合規性要求的企業環境很有用 |74| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | 設定為 `1` 以停用 [1M context window](/zh-TW/model-config#extended-context) 支援。設定時,1M 模型變體在模型選擇器中不可用。對於具有合規性要求的企業環境很有用 |

75| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | 設定為 `1` 以停用 Opus 4.6 和 Sonnet 4.6 的 [adaptive reasoning](/zh-TW/model-config#adjust-effort-level),並回退到由 `MAX_THINKING_TOKENS` 控制的固定思考預算。{/* min-version: 2.1.111 */}對 Opus 4.7 無效,其始終使用自適應推理 |75| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | 設定為 `1` 以停用 Opus 4.6 和 Sonnet 4.6 的 [adaptive reasoning](/zh-TW/model-config#adjust-effort-level),並回退到由 `MAX_THINKING_TOKENS` 控制的固定思考預算。{/* min-version: 2.1.111 */}對 Opus 4.7 無效,其始終使用自適應推理 |


184| `CLAUDE_ENV_FILE` | Claude Code 在每個 Bash 命令之前在同一 shell 程序中執行的 shell 指令碼的路徑,因此檔案中的匯出對命令可見。用於在命令之間保持 virtualenv 或 conda 啟用。也由 [SessionStart](/zh-TW/hooks#persist-environment-variables)、[Setup](/zh-TW/hooks#setup)、[CwdChanged](/zh-TW/hooks#cwdchanged) 和 [FileChanged](/zh-TW/hooks#filechanged) hooks 動態填充 |184| `CLAUDE_ENV_FILE` | Claude Code 在每個 Bash 命令之前在同一 shell 程序中執行的 shell 指令碼的路徑,因此檔案中的匯出對命令可見。用於在命令之間保持 virtualenv 或 conda 啟用。也由 [SessionStart](/zh-TW/hooks#persist-environment-variables)、[Setup](/zh-TW/hooks#setup)、[CwdChanged](/zh-TW/hooks#cwdchanged) 和 [FileChanged](/zh-TW/hooks#filechanged) hooks 動態填充 |

185| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | 當未提供明確名稱時,自動產生的 [Remote Control](/zh-TW/remote-control) 工作階段名稱的前綴。預設為您的機器主機名稱,產生名稱如 `myhost-graceful-unicorn`。`--remote-control-session-name-prefix` CLI 旗標為單一呼叫設定相同的值 |185| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | 當未提供明確名稱時,自動產生的 [Remote Control](/zh-TW/remote-control) 工作階段名稱的前綴。預設為您的機器主機名稱,產生名稱如 `myhost-graceful-unicorn`。`--remote-control-session-name-prefix` CLI 旗標為單一呼叫設定相同的值 |

186| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | 串流閒置監視程式在關閉停滯連線之前的逾時(以毫秒為單位)。預設和最小 `300000`(5 分鐘)用於位元級和事件級監視程式;較低的值會無聲地限制以吸收延伸思考暫停和代理緩衝。對於第三方提供者,需要 `CLAUDE_ENABLE_STREAM_WATCHDOG=1` |186| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | 串流閒置監視程式在關閉停滯連線之前的逾時(以毫秒為單位)。預設和最小 `300000`(5 分鐘)用於位元級和事件級監視程式;較低的值會無聲地限制以吸收延伸思考暫停和代理緩衝。對於第三方提供者,需要 `CLAUDE_ENABLE_STREAM_WATCHDOG=1` |

187| `DEBUG` | 設定為 `1` 以啟用偵錯模式,相當於使用 [`--debug`](/zh-TW/cli-reference#cli-flags) 啟動。偵錯日誌會寫入 `~/.claude/debug/<session-id>.txt`,或寫入 `CLAUDE_CODE_DEBUG_LOGS_DIR` 設定的路徑。僅真值 `1`、`true`、`yes` 和 `on` 啟用偵錯模式,因此為其他工具設定的命名空間模式(如 `DEBUG=express:*`)不會觸發它 |

187| `DISABLE_AUTOUPDATER` | 設定為 `1` 以停用自動背景更新。手動 `claude update` 仍然有效。使用 `DISABLE_UPDATES` 以阻止兩者 |188| `DISABLE_AUTOUPDATER` | 設定為 `1` 以停用自動背景更新。手動 `claude update` 仍然有效。使用 `DISABLE_UPDATES` 以阻止兩者 |

188| `DISABLE_AUTO_COMPACT` | 設定為 `1` 以停用接近上下文限制時的自動壓縮。手動 `/compact` 命令仍然可用。在您想要明確控制何時進行壓縮時使用 |189| `DISABLE_AUTO_COMPACT` | 設定為 `1` 以停用接近上下文限制時的自動壓縮。手動 `/compact` 命令仍然可用。在您想要明確控制何時進行壓縮時使用 |

189| `DISABLE_COMPACT` | 設定為 `1` 以停用所有壓縮:自動壓縮和手動 `/compact` 命令 |190| `DISABLE_COMPACT` | 設定為 `1` 以停用所有壓縮:自動壓縮和手動 `/compact` 命令 |

errors.md +3 −3

Details

81 81 

82* 檢查 [status.claude.com](https://status.claude.com) 以了解活躍的事件82* 檢查 [status.claude.com](https://status.claude.com) 以了解活躍的事件

83* 等待一分鐘,然後再次傳送您的訊息。您的原始訊息仍在對話中,因此對於長提示,您可以輸入 `try again` 而不是貼上整個內容。83* 等待一分鐘,然後再次傳送您的訊息。您的原始訊息仍在對話中,因此對於長提示,您可以輸入 `try again` 而不是貼上整個內容。

84* 如果錯誤持續存在且沒有發佈的事件,請執行 `/feedback` 以便 Anthropic 可以使用您的請求詳細資訊進行調查。如果您的提供者上 `/feedback` 不可用,請參閱 [回報錯誤](#report-an-error)。84* 如果錯誤持續存在且沒有發佈的事件,請執行 `/feedback` 以便 Anthropic 可以使用您的請求詳細資訊進行調查。如果您的環境中 `/feedback` 不可用,請參閱 [回報錯誤](#report-an-error)。

85 85 

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

87 87 


584 584 

585當回應出錯時,回退通常比用更正回覆效果更好。按 Esc 兩次或執行 `/rewind` 以回退到不良轉向之前,然後用更多細節重新表述提示。在執行緒中更正會將錯誤的嘗試保留在上下文中,這可能會將後來的答案錨定到它。請參閱 [Checkpointing](/zh-TW/checkpointing)。585當回應出錯時,回退通常比用更正回覆效果更好。按 Esc 兩次或執行 `/rewind` 以回退到不良轉向之前,然後用更多細節重新表述提示。在執行緒中更正會將錯誤的嘗試保留在上下文中,這可能會將後來的答案錨定到它。請參閱 [Checkpointing](/zh-TW/checkpointing)。

586 586 

587如果在檢查上述內容後品質仍然似乎有問題,請執行 `/feedback` 並描述您期望的內容與您得到的內容。以這種方式提交的反饋包括對話記錄,這是 Anthropic 診斷真實回歸的最快方式。如果您的提供者上 `/feedback` 不可用,請參閱 [Report an error](#report-an-error)。587如果在檢查上述內容後品質仍然似乎有問題,請執行 `/feedback` 並描述您期望的內容與您得到的內容。以這種方式提交的反饋包括對話記錄,這是 Anthropic 診斷真實回歸的最快方式。如果您的環境上 `/feedback` 不可用,請參閱 [Report an error](#report-an-error)。

588 588 

589## 報告錯誤589## 報告錯誤

590 590 


596 596 

597如果此處未列出錯誤或建議的修復無法幫助:597如果此處未列出錯誤或建議的修復無法幫助:

598 598 

599* 在 Claude Code 內執行 `/feedback` 以將記錄和描述傳送給 Anthropic。該命令還提供開啟預填充 GitHub 問題的選項。Bedrock、Vertex AI Foundry 部署上不提供反饋599* 在 Claude Code 內執行 `/feedback` 以將記錄和描述傳送給 Anthropic。該命令還提供開啟預填充 GitHub 問題的選項。Bedrock、Vertex AI、Foundry 和其他第三方提供商上,`/feedback` 會儲存本地封存,您可以將其傳送給您的 Anthropic 帳戶代表

600* 執行 `/doctor` 以檢查本地配置問題600* 執行 `/doctor` 以檢查本地配置問題

601* 檢查 [status.claude.com](https://status.claude.com) 以了解活躍的事件601* 檢查 [status.claude.com](https://status.claude.com) 以了解活躍的事件

602* 在 GitHub 上搜尋 [existing issues](https://github.com/anthropics/claude-code/issues)602* 在 GitHub 上搜尋 [existing issues](https://github.com/anthropics/claude-code/issues)

goal.md +4 −0

Details

6 6 

7> 使用 /goal 設定完成條件,Claude 會在多個回合中持續工作直到條件滿足。7> 使用 /goal 設定完成條件,Claude 會在多個回合中持續工作直到條件滿足。

8 8 

9<Note>

10 `/goal` 需要 Claude Code v2.1.139 或更新版本。

11</Note>

12 

9`/goal` 命令設定完成條件,Claude 會朝著該目標持續工作,無需你在每一步進行提示。在每個回合後,一個小型快速模型會檢查條件是否滿足。如果未滿足,Claude 會開始另一個回合,而不是將控制權返回給你。一旦條件滿足,目標會自動清除。13`/goal` 命令設定完成條件,Claude 會朝著該目標持續工作,無需你在每一步進行提示。在每個回合後,一個小型快速模型會檢查條件是否滿足。如果未滿足,Claude 會開始另一個回合,而不是將控制權返回給你。一旦條件滿足,目標會自動清除。

10 14 

11在具有可驗證終止狀態的實質性工作中使用目標:15在具有可驗證終止狀態的實質性工作中使用目標:

Details

202 202 

203[Prompt caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) 會自動啟用。若要停用它,請設定 `DISABLE_PROMPT_CACHING=1`。若要要求 1 小時 cache TTL 而不是 5 分鐘預設值,請設定 `ENABLE_PROMPT_CACHING_1H=1`;具有 1 小時 TTL 的 cache 寫入會以更高費率計費。如需提高速率限制,請聯絡 Google Cloud 支援。使用 Vertex AI 時,`/login` 和 `/logout` 命令會被停用,因為驗證是透過 Google Cloud 認證處理的。203[Prompt caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) 會自動啟用。若要停用它,請設定 `DISABLE_PROMPT_CACHING=1`。若要要求 1 小時 cache TTL 而不是 5 分鐘預設值,請設定 `ENABLE_PROMPT_CACHING_1H=1`;具有 1 小時 TTL 的 cache 寫入會以更高費率計費。如需提高速率限制,請聯絡 Google Cloud 支援。使用 Vertex AI 時,`/login` 和 `/logout` 命令會被停用,因為驗證是透過 Google Cloud 認證處理的。

204 204 

205[MCP tool search](/zh-TW/mcp#scale-with-mcp-tool-search) Vertex AI 上預設為停用,因為端點不接受所需的 beta 標頭。所有 MCP 工具定義會改為預先載入若要選擇加入,請設定 `ENABLE_TOOL_SEARCH=true`。205Claude Code 在 Vertex AI 上預設停用 [MCP tool search](/zh-TW/mcp#scale-with-mcp-tool-search),因此 MCP 工具定義會預先載入。Vertex AI 支援 Claude Sonnet 4.5 及更新版本以及 Claude Opus 4.5 及更新版本的工具搜尋設定 `ENABLE_TOOL_SEARCH=true` 以在這些模型上啟用它Vertex AI 上的較早模型不接受所需的 beta 標頭,如果您使用它們啟用工具搜尋,要求會失敗。

206 206 

207### 5. 固定模型版本207### 5. 固定模型版本

208 208 


222 222 

223如需目前和舊版模型 ID,請參閱[模型概覽](https://platform.claude.com/docs/en/about-claude/models/overview)。如需完整的環境變數清單,請參閱[模型設定](/zh-TW/model-config#pin-models-for-third-party-deployments)。223如需目前和舊版模型 ID,請參閱[模型概覽](https://platform.claude.com/docs/en/about-claude/models/overview)。如需完整的環境變數清單,請參閱[模型設定](/zh-TW/model-config#pin-models-for-third-party-deployments)。

224 224 

225未設定固定變數時,Claude Code 使用這些預設模型:225Claude Code 使用這些預設模型,當未設定固定變數時

226 226 

227| 模型類型 | 預設值 |227| 模型類型 | 預設值 |

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

229| 主要模型 | `claude-sonnet-4-5@20250929` |229| 主要模型 | `claude-sonnet-4-5@20250929` |

230| 小型/快速模型 | `claude-haiku-4-5@20251001` |230| 小型/快速模型 | 與主要模型相同 |

231 

232背景工作(例如工作階段標題產生)使用小型/快速模型,通常是 Haiku 級模型。在 Vertex AI 上,Claude Code 預設為主要模型,因為 Haiku 可能不會在每個專案或區域中啟用。若要使用 Haiku 進行背景工作,請將 `ANTHROPIC_DEFAULT_HAIKU_MODEL` 設定為您專案中可用的模型 ID。

231 233 

232若要進一步自訂模型:234若要進一步自訂模型:

233 235 

hooks.md +15 −1

Details

732# Notification hook:當 Claude Code 需要注意時 ping 桌面。732# Notification hook:當 Claude Code 需要注意時 ping 桌面。

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` | 字串 | `"Explore"` | 要使用的專門代理類型 |1230| `subagent_type` | 字串 | `"Explore"` | 要使用的專門代理類型 |

1231| `model` | 字串 | `"sonnet"` | 可選的模型別名以覆蓋預設值 |1231| `model` | 字串 | `"sonnet"` | 可選的模型別名以覆蓋預設值 |

1232 1232 

1233在 `PostToolUse` 中,已完成的 Agent 呼叫的 `tool_response` 攜帶 subagent 的最終文字以及使用量遙測。讀取這些欄位以從 hook 記錄每個 subagent 的成本:

1234 

1235| 欄位 | 類型 | 範例 | 描述 |

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

1237| `status` | 字串 | `"completed"` | 同步呼叫為 `"completed"`,`run_in_background: true` 為 `"async_launched"` |

1238| `agentId` | 字串 | `"a4d2c8f1e0b3a297"` | subagent 執行的識別碼 |

1239| `content` | 陣列 | `[{"type": "text", "text": "Found 12 endpoints..."}]` | subagent 的最終文字塊 |

1240| `totalTokens` | 數字 | `12450` | 在 subagent 轉向中計費的總令牌數 |

1241| `totalDurationMs` | 數字 | `48211` | subagent 執行的掛鐘時間 |

1242| `totalToolUseCount` | 數字 | `7` | subagent 進行的工具呼叫計數 |

1243| `usage` | 物件 | `{"input_tokens": 8320, ...}` | 按類型的令牌細分:`input_tokens`、`output_tokens`、`cache_creation_input_tokens`、`cache_read_input_tokens` |

1244 

1245對於 `run_in_background: true` 呼叫,工具在啟動 subagent 後立即返回,因此 `tool_response` 不攜帶使用量欄位。它具有 `status: "async_launched"`、`agentId`、`description`、`prompt` 和 `outputFile`。

1246 

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

1234 1248 

1235詢問使用者一到四個多選題。1249詢問使用者一到四個多選題。

mcp.md +7 −5

Details

953 953 

954### 配置 tool search954### 配置 tool search

955 955 

956Tool search 預設啟用:MCP 工具被延遲並按需探索。當 `ANTHROPIC_BASE_URL` 指向非第一方主機時,tool search 預設停用,因為大多數代理不轉發 `tool_reference` 區塊。如果您的代理轉發 `tool_reference` 區塊,請明確設定 `ENABLE_TOOL_SEARCH` 以覆蓋回退。此功能需要支援 `tool_reference` 區塊的模型:Sonnet 4 及更新版本,或 Opus 4 及更新版本。Haiku 模型不支援 tool search956Tool search 預設啟用:MCP 工具被延遲並按需探索。Claude Code 在 Vertex AI 上預設停用它。當 `ANTHROPIC_BASE_URL` 指向非第一方主機時,它也被停用,因為大多數代理不轉發 `tool_reference` 區塊。設定 `ENABLE_TOOL_SEARCH` 明確以覆蓋任一回退

957 

958Tool search 需要支援 `tool_reference` 區塊的模型:Sonnet 4 及更新版本,或 Opus 4 及更新版本。Haiku 模型不支援它。在 Vertex AI 上,tool search 支援 Claude Sonnet 4.5 及更新版本和 Claude Opus 4.5 及更新版本。

957 959 

958使用 `ENABLE_TOOL_SEARCH` 環境變數控制 tool search 行為:960使用 `ENABLE_TOOL_SEARCH` 環境變數控制 tool search 行為:

959 961 

960| 值 | 行為 |962| 值 | 行為 |

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

962| (未設定) | 所有 MCP 工具被延遲並按需載入。 `ANTHROPIC_BASE_URL` 是非第一方主機時回退到預先載入 |964| (未設定) | 所有 MCP 工具被延遲並按需載入。 Vertex AI 上或當 `ANTHROPIC_BASE_URL` 是非第一方主機時回退到預先載入 |

963| `true` | 所有 MCP 工具被延遲。Claude Code 即使在 Vertex AI 上和透過代理也會傳送 beta 標頭。如果後端不支援 `tool_reference` 區塊,請求會失敗 |965| `true` | 所有 MCP 工具被延遲。Claude Code 即使在 Vertex AI 上和透過代理也會傳送 beta 標頭。在不支援 `tool_reference` 區塊的 Vertex AI 模型上或在不支援 `tool_reference` 區塊的代理上,請求會失敗 |

964| `auto` | 閾值模式:如果工具適合內容視窗的 10% 內,則預先載入,否則延遲 |966| `auto` | 閾值模式:如果工具適合內容視窗的 10% 內,則預先載入,否則延遲 |

965| `auto:<N>` | 閾值模式,具有自訂百分比,其中 `<N>` 是 0-100 (例如,`auto:5` 表示 5%) |967| `auto:N` | 閾值模式,具有自訂百分比,其中 `N` 是 0-100例如,`auto:5` 表示 5% |

966| `false` | 所有 MCP 工具預先載入,無延遲 |968| `false` | 所有 MCP 工具預先載入,無延遲 |

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 

166背景工作(例如工作階段標題生成)使用小型/快速模型,通常是 Haiku 級別的模型。在 Foundry 上,Claude Code 預設使用主要模型,因為並非每個帳戶都有 Haiku 部署。若要為背景工作使用 Haiku,請將 `ANTHROPIC_DEFAULT_HAIKU_MODEL` 設定為您帳戶中可用的 Haiku 部署,如上所示。

167 

166如需目前和舊版模型 ID,請參閱[模型概覽](https://platform.claude.com/docs/en/about-claude/models/overview)。如需完整的環境變數清單,請參閱[模型配置](/zh-TW/model-config#pin-models-for-third-party-deployments)。168如需目前和舊版模型 ID,請參閱[模型概覽](https://platform.claude.com/docs/en/about-claude/models/overview)。如需完整的環境變數清單,請參閱[模型配置](/zh-TW/model-config#pin-models-for-third-party-deployments)。

167 169 

168[Prompt caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) 會自動啟用。若要要求 1 小時的快取 TTL 而不是 5 分鐘的預設值,請設定下列變數;具有 1 小時 TTL 的快取寫入會以更高的費率計費:170[Prompt caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) 會自動啟用。若要要求 1 小時的快取 TTL 而不是 5 分鐘的預設值,請設定下列變數;具有 1 小時 TTL 的快取寫入會以更高的費率計費:

settings.md +3 −1

Details

533 533 

534### 驗證使用中的設定534### 驗證使用中的設定

535 535 

536在 Claude Code 內執行 `/status` 以查看哪些設定來源處於使用中以及它們來自何處輸出顯示每個設定層(managed、使用者、專案)及其來源,例如 `Enterprise managed settings (remote)`、`Enterprise managed settings (plist)`、`Enterprise managed settings (HKLM)`、`Enterprise managed settings (HKCU)` 或 `Enterprise managed settings (file)`。如果設定檔案包含錯誤`/status` 會報告問題以便您可以修復它536在 Claude Code 內執行 `/status` 以查看哪些設定來源處於使用中狀態標籤包含 `Setting sources` 行列出 Claude Code 為目前工作階段載入的每一層,例如 `User settings` 或 `Project local settings`。當[managed 設定](/zh-TW/managed-settings)生效時,項目會在括號中顯示傳遞頻道,例如 `Enterprise managed settings (remote)`、`(plist)`、`(HKLM)`、`(HKCU)` 或 `(file)`。只有當該來源至少載入一個金鑰時層級才會出現在清單中因此空清單表示未找到任何設定來源

537 

538`Setting sources` 行確認正在讀取哪些來源。它不顯示哪一層提供了每個個別金鑰。同一對話框中的 Config 標籤是固定切換集(例如主題和詳細輸出)的編輯器,而不是您 `settings.json` 內容的檢視。如果設定檔案包含錯誤(例如無效的 JSON 或驗證失敗的值),`/status` 會報告問題,以便您可以修復它。

537 539 

538### 設定系統的關鍵要點540### 設定系統的關鍵要點

539 541