
沒人看著的 Claude Code,可能正悄悄認證失敗
非互動模式下,它根本沒被觸發
如果你的 Claude Code 不是自己手動開著跑,而是排進 cron、丟給 CI,或用排程觸發、沒有人坐在螢幕前按 Enter——8 月 20 日這版更新裡有個新功能,你可能會踩到一個沒有任何錯誤訊息的坑。
Claude Code 2.1.238 替 plugin marketplace 與 MCP server 設定加了 headersHelper:你在設定檔裡指到一支指令,它幫你動態產生 HTTP 認證 header(例如一組短效 token),不用再把密鑰原封不動寫死在 JSON 裡。官方同時把它的執行時機收得很緊——只有手動安裝或更新那個 plugin 時才會跑,跑之前先秀出指令內容,再問你 [y/N];MCP 版的還多兩道鎖:那個資料夾得先過信任彈窗,執行時也不繼承你環境變數裡的憑證。單看設計,這是把認證資訊和設定檔本身拆開的合理做法。
問題出在「問你 [y/N]」這件事本身。工程師 kai_kou 隔天(8/21)測試後在 Qiita 貼出結果:claude -p 這類非互動模式底下,沒有畫面可以顯示確認提示,官方的處理方式不是強制跑,而是直接跳過——headersHelper 完全不會被觸發。認證 header 是空的,你連去的私有 marketplace 或 MCP server 回你 401,而終端機上什麼錯誤都看不到,你只會覺得裝不上、連不上。
他給的繞過法很直白:把 headersHelper 換成寫死內容的 headers 欄位,token 從環境變數組進去。非互動模式下能正常跑,代價是那組認證字串要用某種形式留在設定檔案裡——你原本想靠 headersHelper 避開的事,繞回來了一半。
如果你團隊有內部 plugin marketplace 或私有 MCP server,也會用 CI、排程、-p 這幾種看不到人的方式跑 Claude Code,這版之後值得先在互動模式下手動確認一次 headersHelper 真的能連上,再決定要不要照 kai_kou 的辦法退回靜態 headers。
查核備註:官方機制部分以 Claude Code 官方 changelog(2.1.238,2026-08-20)與 plugin-marketplaces 文件頁為準;非互動模式下 401 失效這件事,我沒有自己架一個認證 marketplace 重現,是引用 kai_kou 在 Qiita 的個人測試報告(tier C),未經官方或第二方驗證。
LEARN
想系統性學會,不只看這一則?
Claude Code 教學:用終端 AI Agent 完成真正的工作
讓 Claude Code 在你的專案裡完成一個真實任務,而且控得住權限、驗得了 diff、管得住成本。
從第 0 課開始 →SOURCES
- AClaude Code Changelog
- ACreate and distribute a plugin marketplace – Claude Code Docs
- CClaude Code headersHelper、非対話セッションでは走らず401になる
來源分級:A = 一手公告/論文/官方文件 · B = 可信媒體 · C = 可參考但需脈絡 · D = 觀察用,不可當事實。
本文由 AI 與編輯共同撰寫,總編輯廖玄同審閱定稿。 編輯方針與 AI 使用說明


