觀點 · 資訊分享

Claude Code 2.1.183:自動模式新增攔截規則,你沒開口就不會 reset --hard、amend 與 destroy

Claude Code 2.1.183 讓自動模式更保守:沒被要求時,會擋下 git reset --hard、clean -fd、commit --amend 與 terraform destroy 等破壞性指令。另有排程與 webhook 訊息的信任範圍調整。

發布
2026-06-20
篇幅
約 4 分鐘 · 1,737 字
結構
7 節 + 4 題常見問題
標籤
#Claude Code#自動模式#AI 開發工具#Anthropic
Claude Code 2.1.183:自動模式新增攔截規則,你沒開口就不會 reset --hard、amend 與 destroy

一句話看懂:Claude Code 2.1.183 讓自動模式更保守:你沒開口要求時,它不會自己執行 git reset --hard、amend 別人的提交,或 terraform destroy 這類可能丟掉東西的指令。

Claude Code 自動模式更保守資訊圖卡:自動模式會擋下破壞性指令,除非你真的有要求

先用白話講:為什麼自動模式要「踩剎車」?

想像你把家裡鑰匙交給一位很能幹的管家,說「小事不用每件都問我」。大多數時候這很方便。但如果管家覺得「這個房間太亂了,乾脆整間拆掉重蓋」,你一定希望他先停下來問一聲。

Claude Code 的自動模式(auto mode)就像這位管家:它可以少問你、自己執行動作。這次更新做的事,就是替「拆房子」這類指令裝一道剎車,除非你明確交代,否則不會自己做。

發生什麼事

Claude Code 在 6 月 19 日釋出 2.1.183。自動模式現在會擋下以下指令,條件是你並沒有要求這個動作:

指令 什麼時候被擋
git reset --hard、git checkout -- .、git clean -fd、git stash drop 你沒有要求丟棄本機的工作時
git commit --amend 要修改的提交不是 Claude 在本次工作階段做的
terraform destroy、pulumi destroy、cdk destroy 你沒有要求拆除特定的堆疊時

官方版本說明共列了八種指令;至於還有沒有其他情境也會被擋,版本說明沒有說明。

其他值得注意的變更

  • 排程與 webhook 訊息的信任範圍:排程任務與 webhook 送來的訊息,現在歸類為「任務通知」,不再被當成鍵盤輸入。在自動模式下,它們不能核准待處理的動作,也不能設定工作階段標題
  • MCP 驗證殘影:修好需要登入的 MCP 伺服器,在無介面或 SDK 模式下會把驗證用的替身工具暴露給模型的問題
  • 模型過期警告:當你指定的模型已被淘汰、或會自動換成新模型,現在會警告(在 -p 列印模式下輸出到 stderr,連代理定義檔裡指定的模型也涵蓋)
  • 設定:新增 attribution.sessionUrl,可在網頁與遠端控制的工作階段中,省略提交與 PR 裡的 claude.ai 工作階段連結
  • /config:新增 /config --help 列出可用的簡寫;切換設定時 Enter 與空白鍵都能變更,按 Esc 現在是儲存並關閉,不再是還原
  • 啟動畫面:移除標誌下方的「設定問題」提示行,要看請執行 /doctor 或加 --debug
  • 其他修正:子代理的 WebSearch 回傳空結果、模型只回傳思考區塊導致整回合沒有輸出(現在會自動重新提示一次)等

給開發者的技術細節

  • 如果你的自動化流程(腳本、排程)會在自動模式下執行上述指令,現在可能被擋下,需要把意圖寫清楚,例如在提示裡明講要拆哪個堆疊
  • 排程與 webhook 的行為改變,主要影響「用外部事件觸發 Claude Code」的人;它們不再能替你按下「同意」
  • 這次的攔截由 Claude Code 判斷「你有沒有要求」,版本說明沒有公開判斷細節,所以不要把它當成唯一的防線

我的看法

我覺得這個方向是對的:自動模式最怕的不是 AI 不夠聰明,而是它很有自信地做了一個「合理但不可逆」的動作。reset --hard 和 destroy 這種指令,一旦跑下去就沒有回頭路。

不過我會把它當成「多一層保險」,而不是唯一的保險。實務上常見的做法是:重要專案一律用版本控制,工作前先提交或建立分支,基礎設施的操作則另外用權限規則或 hook 擋住;讓 AI 在權限更小的環境下動手,最壞的情況也有限。

名詞小辭典

  • 自動模式(Auto mode):讓 Claude Code 在一定範圍內不用每步都問你,自己執行動作的模式。
  • git reset --hard:把工作目錄強制還原到某個提交,尚未提交的修改會直接消失。
  • terraform destroy:把 Terraform 管理的雲端資源整批拆除的指令,pulumi、cdk 也有類似指令。
  • Webhook:另一個系統主動送訊息過來通知事件發生的機制。

資料來源

常見問題

Claude Code 的自動模式是什麼?
讓 Claude Code 在一定範圍內不必每一步都問你,自己判斷並執行動作的模式,適合想少點幾次「允許」的情況。這次更新讓它對破壞性指令更保守。
哪些指令現在會被擋?
版本說明列的是:git reset --hard、git checkout -- .、git clean -fd、git stash drop(沒被要求丟棄本機工作時),git commit --amend(提交不是本次 Claude 做的),以及 terraform、pulumi、cdk 的 destroy(沒指定特定堆疊時)。
那我真的要執行這些指令怎麼辦?
明確告訴 Claude 你要做什麼,例如「幫我丟掉本機所有未提交的修改」或「拆掉這個名稱的堆疊」。官方描述的條件是「你沒有要求時才擋」,不是永久禁止。
這代表可以放心全程交給自動模式了嗎?
不建議。這只是多一層攔截,官方版本說明也沒有保證所有危險情境都會被擋下。重要的環境仍要用權限規則、備份與版本控制自己多擋一層。
LINE