把修改交給 AI,30 分鐘後開始後悔,相信大家都有過這種經驗。如果連提交都沒做,背上就會冒冷汗。
Claude Code 提供了應付這種情況的倒帶按鈕,就是/rewind。
每次送出提示時,程式碼狀態都會保留成檢查點,隨時可以將程式碼與對話還原到該時間點。
如果Claude Code 第 4 集的/branch是分支,這一集談的是還原。
檢查點會自動累積
以官方檢查點文件為準,運作方式如下。
每次送出使用者提示時,就會建立一個檢查點。不需要另外開啟功能,也不必按下儲存按鈕。
每個工作階段最多保留最近 100 個檔案快照檢查點。由於檢查點會與對話一同儲存,因此工作階段恢復後仍可/rewind。
開啟倒帶選單
輸入/rewind,或在輸入欄空白時按兩次 Esc,即可開啟選單。
選單會依時間順序顯示本次工作階段送出的提示。選取要返回的時間點後,就會出現選項。
- 還原程式碼與對話:全部還原到該時間點
- 只還原對話:保留目前程式碼狀態,只倒帶對話
- 只還原程式碼:保留對話,只還原檔案變更
只有在該時間點之後存在受追蹤的檔案變更時,才會顯示兩個程式碼還原選項。
還原對話後,該時間點原本的提示會重新填入輸入欄。修改指示後再送出即可。
除了倒帶,也可以使用摘要
同一個選單中還有兩個摘要選項。
從這裡開始摘要會將選定時間點之後的對話壓縮成摘要。適合收起冗長的除錯過程,釋放上下文空間。
摘要到這裡則相反,會壓縮前面的內容,完整保留最近的對話。
摘要不會修改檔案,原始訊息也會保留在工作階段記錄中。可以把它想成精確指定位置的/compact。
哪些內容無法還原
/rewind並非萬能,它有明確的追蹤範圍。
首先,它不會追蹤 Shell 指令的副作用。Claude 透過rm或mv修改的檔案,無法靠倒帶復原。只有透過檔案編輯工具修改的內容會被追蹤。
子代理程式修改的檔案通常也不在還原範圍內。例外是以前景執行的 fork skill;預設的背景子代理程式所做的編輯,必須使用 git 還原。
在工作階段外手動修改的內容,以及透過符號連結或硬連結連接的檔案也一樣。還原時會略過這些路徑,並顯示略過數量的警告。
檢查點也可能在 30 天後隨工作階段一同刪除。官方文件之所以特別說明,就是因為它是工作階段層級的快速復原工具,而不是 git 等版本控制的替代品。
返回以 /clear 清除的對話
用/clear清除對話後,也可能立刻覺得「糟了」。
只要仍在同一個 Claude Code 程序中,倒帶選單最上方就會出現返回上一個工作階段的選項(v2.1.191 以上)。選取後,/clear之前的對話會原樣恢復。
總結
/rewind是透過提示級檢查點還原程式碼與對話的安全網。按兩次 Esc 即可開啟。
只要記住 Shell 指令的副作用無法還原即可。工作階段內的實驗交給/rewind,永久歷史則交給 git。
下一集將介紹為 Claude 設定達成條件的/goal。設定目標後,每一輪結束時都會由另一個模型判斷是否符合條件;若尚未符合,工作就會繼續。
來源與確認基準
- Claude Code 官方文件 — Checkpointing(Anthropic,確認於 2026-08-14)

![[Claude Code #5] /rewind:將搞壞的程式碼還原到檢查點 封面圖](/assets/images/posts/4ec0d8c7-c3a4-4b3f-88bc-6a11a605c143/claude-code-rewind-checkpoint.jpg)