Claude Code v2.1.277:支援 AGENTS.md、閘道對外代理選項與移除 TaskOutput
Claude Code v2.1.277 在專案沒有 CLAUDE.md 時改讀 AGENTS.md,為 Claude apps gateway 加入正向代理與上游標頭選項,移除 TaskOutput 工具,並修正無介面模式卡住的問題。
Claude Code v2.1.277 是一次大型更新,變更日誌共列出 87 個項目。此版本為沒有 CLAUDE.md 的專案加入 AGENTS.md 支援,為 Claude apps gateway 新增正向代理相關選項,更清楚地標示子代理的輸出,並移除已淘汰的 TaskOutput 工具。修正重點包括無介面模式的可靠性、格式錯誤的儲存資料所造成的當機、工具錯誤回報、外掛以及提示快取。
新功能
支援 AGENTS.md
在沒有 CLAUDE.md 的專案中,Claude Code 現在會改為讀取 AGENTS.md。你可以在 /config 的「Project instructions」中變更此行為。
Claude apps gateway 代理選項
CLAUDE_GATEWAY_PROXY_IS_EGRESS_BOUNDARY=1 適用於唯一對外出口是正向代理的 Claude apps gateway:每個對外請求都會把主機名稱交給代理伺服器,而不是在本機解析。閘道的上游設定也新增可選的 headers: 對應表,可對你架設在供應商前方的代理伺服器傳送固定標頭;閘道的 loopback 錯誤訊息現在也會指出 CLAUDE_GATEWAY_ALLOW_LOOPBACK。
移除 TaskOutput 工具
已淘汰的 TaskOutput 工具已被移除。Claude 現在改用 Read 讀取背景任務的輸出檔案,taskOutputMaxChars 設定與 TASK_MAX_OUTPUT_LENGTH 也不再有任何作用。
Fable 一律顯示在 /model 中
在 Anthropic API 上,Fable 現在一律會出現在 /model 中;只有在組織設定停用它時才會顯示為灰色。
子代理輸出與提示處理
- 子代理的結果現在會在標示為子代理輸出的標頭下傳給主代理,且結果內容會縮排,讓子代理結果中的文字無法冒充工作階段本身的指示。
- 在 Bedrock、Vertex 與 Foundry 上,工作流程腳本以
agent()計算出的提示,現在會以腳本撰寫之文字的形式傳給子代理,讓安全分類器不會將其視為使用者的輸入;Bash 沙箱說明也改用與第一方相同的措辭。 - 提示中不可見的 Unicode 格式字元與標籤字元會被移除,清理後的提示會在送出前顯示供你檢查。
無介面模式與 SDK 的可靠性
claude -p 與 Agent SDK 工作階段在內部錯誤後可能卡住且沒有結果的問題已修正,現在會回報錯誤並以結束代碼 1 結束。SDK 與無介面(-p)使用時,第一個回合不再等待逐目錄的 CLAUDE.md 查找;在 SDK 或 IDE 以外啟動的 claude -p 執行,也不再於背景發出 Haiku 自動命名標題的請求。
VS Code 新增功能
擴充功能在面板選單中新增 Sign out 列(並可輸入 /logout);代理地圖現在也會顯示背景 shell 與其他執行中的任務,每一項都有 Stop 按鈕(可輸入 /tasks 開啟);回應新增 Copy response 按鈕,並可輸入 /copy;在不適用方案用量上限的情況下(Vertex、Bedrock、Foundry、API 金鑰),Account & usage 對話框與工作階段管理器會顯示該工作階段的費用與 token 用量。
修正與改進
- 請求失敗:當較早的助理回合在其他內容旁含有空白文字區塊時,對話不再每個請求都以「text content blocks must be non-empty」失敗,
--resume之後也一樣。 - 登入:同一台機器上執行較舊的 Claude Code 版本(例如 IDE 擴充功能內建的 CLI)時,不再意外被登出。claude.ai 登入被撤銷後的錯誤訊息現在會以
/login開頭;Console 登入在伺服器拒絕建立 API 金鑰時,也會顯示伺服器的訊息,而不只是「Request failed with status code 400」。 - 格式錯誤的儲存資料:修正
~/.claude.json含有格式錯誤的customApiKeyResponses、claudeAiMcpEverConnected或theme值時造成的卡住、錯誤或當機,以及恢復工作階段時,因歷史中有以純字串儲存的助理訊息,或 stop hook 摘要缺少格式正確的 hook 清單而當機的問題。 - 更新:當代理伺服器傳回無效版本時,更新檢查不再每 30 分鐘出錯一次,設定了最低或最高版本時
claude update也不再卡住;格式錯誤的minimumVersion現在會被忽略。在由 winget 或 apk 管理的安裝中,版本查詢失敗時claude update不再回報「up to date」;自動更新失敗也不再於~/.cache/claude/staging留下大型的暫存下載。 - 工具錯誤:因系統的程序、記憶體或檔案控制代碼不足而無法開始搜尋時,Grep 與 Glob 現在會回傳錯誤,而不是回報找不到結果;當目標路徑是現有目錄時,Write 工具會回報清楚的錯誤,而不是悄悄以權限遭拒結束回合。
- Edit 工具:跳脫的反斜線後接
uXXXX文字時,不再被當成\uXXXX跳脫序列處理;含有非 ASCII 文字的超大型編輯無法比對時,現在會回報「String not found in file」;工具呼叫的檔案路徑中以跳脫序列寫成的\u0000,也不再讓回合以「Path contains null bytes」提前結束。 - 沙箱:
sandbox.excludedCommands的 glob 只比對到複合 Bash 指令的其中一部分時,不再讓整個指令都免於沙箱限制;現在每個部分都必須符合。啟用沙箱時,在沙箱外執行的 Bash 指令中$TMPDIR不再展開為空值。 - 權限提示:危險 rm 的權限提示現在會指出被標記的 rm 指令,並建議使用
${VAR:?}防護,讓無介面執行可以自行修正。 - 外掛政策:單一格式錯誤的
strictKnownMarketplaces或blockedMarketplaces項目,不再悄悄停用整個企業 marketplace 政策。 - 外掛:重新安裝某個正在被工作階段或其他程式使用的外掛版本時,不再破壞已安裝的副本;已解除安裝的外掛不再以「failed to load」列重新出現在
/plugin的 Installed 中;來自官方 marketplace 的外掛現在會連同其 commit 記錄在installed_plugins.json。對已安裝的外掛執行claude plugin install時,現在會在 marketplace 提供較新版本時告知,並指出claude plugin update指令。 - 穩定性:修正提示中含有終端機色彩代碼的文字時造成的當機、在緩慢或高負載的機器上第一次出現旋轉指示器時工作階段偶爾結束的問題,以及內部繪製錯誤後畫面可能在剩餘工作階段中停止更新的罕見情況。
- Windows:修正 Claude 回覆後,回合可能以「Out of memory」等錯誤停止、導致該回覆的工具呼叫從未執行的罕見情況,以及工作資料夾路徑約 120 個字元以上時 PDF 頁面讀取失敗的問題。
- 提示快取:在
/clear之後繼續的工作階段,不再因 SessionStart hook 印出輸出而遺漏第一則訊息的一部分;恢復的子代理與 teammate 不再重新產生已載入的 MCP 工具定義;先前在對話中記錄的附件,也不再於恢復或重新啟動後被重新產生,先前這會丟失延伸思考內容。 - 工作階段:無介面模式的恢復(
claude -p --resume、SDK、VS Code 擴充功能視窗重新載入)不再讓費用與用量總計從零開始;外掛的 LSP 伺服器結束時,背景工作階段(claude --bg)不再跟著結束;當.claude/skills未被追蹤時,主儲存庫的專案技能現在也會在--worktree工作階段中載入;在 Claude 仍在工作時輸入的訊息,也不再偶爾被模型忽略。 - Cowork 與閘道遙測:Cowork 雲端工作階段中的 WebFetch 與 WebSearch,現在會告訴 Claude 請求被拒絕的原因,例如擷取額度已用完或管理員政策;設定代理伺服器時,Claude apps gateway 的遙測轉送現在會遵守
NO_PROXY中列出的收集器主機名稱或網域。 /ultrareview:沒有可審查的內容時,訊息現在會說明你遇到的是哪種情況,並提供審查最新 commit 的指令;新儲存庫的第一個 commit 也會被完整審查。在非互動式工作階段中,當儲存庫沒有基底分支或共同歷史時,/ultrareview現在會拒絕執行。- VS Code:「General config」選單列現在會開啟設定,輸入
/mcp、/hooks、/memory、/rewind等指令時會開啟對應的對話框;effort 滑桿的等級現在會延續到之後的工作階段;/fast現在也會將快速模式儲存為預設值。 - Claude Code on the web:Team 與 Enterprise 方案的環境選擇器新增 Personal 與 Organization 區段,管理員也可以將個人環境分享給組織。以 Custom network access 儲存但沒有任何網域的雲端環境,不再悄悄恢復為 Trusted。
- Claude Tag:在 Enterprise Grid 全組織安裝中於 Slack 頻道建立的 routine,執行時現在可以讀取所屬工作區中的其他公開頻道;Pylon 憑證預設現在也可以指向 Pylon 的歐盟主機。
此版本共包含 87 項變更,完整清單請參閱官方變更日誌。
如何更新
- 檢查已安裝的版本:
claude --version - 就地更新:
claude update - 由於 TaskOutput 已被移除,
taskOutputMaxChars設定與TASK_MAX_OUTPUT_LENGTH不再有任何作用。在沒有 CLAUDE.md 的專案中,Claude Code 現在會讀取 AGENTS.md(可在/config的「Project instructions」中調整);sandbox.excludedCommands的 glob 現在必須符合複合 Bash 指令的每個部分。