2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude Code の /rewind、先に Claude が触ったファイルならシェルで消しても戻った。2.1.309 で直ったのは表示だった

2
Last updated at Posted at 2026-10-25

10/16 の記事で、シェルで消したファイルと、サブエージェントが変えたファイルは /rewind で戻らなかったと書きました。
その後、Claude Code 2.1.309(2026-10-22)でこう直っています。

Fixed the /rewind list showing "No code changes" for a turn that changed checkpointed files through /code-review --fix, a subagent or a shell command

「チェックポイントのあるファイル」とは何か。2.1.310 と、前回と同じ 2.1.300 で測りました。

/rewind の Restore code で、最後のターンの前に戻せたか(各3回)

                                         2.1.300              2.1.310
Edit で書き換え                           3/3(10/15)          3/3
触っていないファイルをシェルで削除          0/3(10/15)          0/3
触っていないファイルをサブエージェントが変更  0/3(10/15)          0/3
先に Edit で触ったファイルをシェルで削除     3/3 ※              3/3
先に Edit で触ったファイルをサブエージェントが変更
                                         3/3 ※              3/3
sed -i で書き換え(触っていないファイル)    0/3                  0/3

※ 2.1.300 は戻ったが、/rewind の一覧には「No code changes」と出ていた

検証環境: Windows 10 / Claude Code 2.1.300・2.1.310 を隔離導入 / 対話モードを自動操作 / Sonnet 5.5 /
--permission-mode acceptEdits / 測定は 2026-10-26(「10/15」と書いた欄は前回の測定)


測り方

前回と同じく、テキストファイルを3つ置いたフォルダで Claude Code を起動し、頼んだあとに /rewind を開きます。最後のプロンプトを選んで Restore code(コードだけ戻す)を選び、ファイルの中身を比べました。

今回は2ターンの操作を足しています。

  1. 1ターン目: 「old.txt の1行目を keep you に書き換えて」(Edit で変わる)
  2. 2ターン目: 「old.txt を削除して」(PowerShell で消える)
  3. 2ターン目の前まで戻して、old.txt が1ターン目のあとの中身で戻るかを見る

サブエージェントも同じ形で、1ターン目に Edit で notes.txt を変え、2ターン目にサブエージェントに書き換えさせました。


先に Claude が触ったファイルなら、シェルで消しても戻る

2.1.310 の /rewind の一覧は、こう出ました。

     old.txt を削除して。ほかは何もしないで。
     old.txt -1

選ぶと確認画面に The code will be restored +1 in old.txt. と出て、Restore code で old.txt は1ターン目のあとの中身に戻りました。サブエージェントの場合も notes.txt +1 -1 と出て、3回とも戻っています。

ドキュメント(checkpointing)にも、いまはこう書かれています。

Once Claude has edited a file with its file editing tools in your conversation, /rewind undoes changes that Bash commands make to that file afterward. A file that only Bash commands changed isn't tracked and stays as it is.

修正文の「チェックポイントのあるファイル」は、その会話で Claude が Edit などで一度触ったファイルのことでした。


2.1.300 でも戻っていた。直ったのは一覧の表示

同じ2ターンの操作を 2.1.300 でも試しました。一覧はこうです。

     old.txt を削除して。ほかは何もしないで。
     No code changes

それでも確認画面には The code will be restored +1 in old.txt. と出て、Restore code で3回とも戻りました。サブエージェントの場合も同じです。

2.1.300 でも戻せていて、一覧だけが「No code changes」と出ていました。 2.1.309 の修正は、この表示の修正でした。
前回の記事では「No code changes なら戻せない」と書きましたが、2.1.300 では、Claude が先に触ったファイルについては一覧と実際が食い違っていたことになります。2.1.310 では一覧と実際が合っていました。


触っていないファイルは、今も戻らない

Claude が一度も触っていないファイルをシェルで消した場合と、サブエージェントが変えた場合は、2.1.310 でも3回とも戻りませんでした。一覧は No code changes、確認画面は The code will be unchanged. です。

Bash ツールの sed -i で書き換えさせた場合も、2.1.300・2.1.310 とも戻りませんでした(ファイルは書き換わっていました)。


注意書きは、戻せるときも出ていた

確認画面の下には、どちらの版でもこの行が出ます。

⚠ Rewinding does not affect files edited manually or via bash.

先に触ってからシェルやサブエージェントで変えた12回すべてで出ていて、12回とも実際には戻っています。戻るかどうかは、この注意書きではなく、確認画面の The code will be restored の行で見分けられます。


言えないこと

  • Windows・Sonnet 5.5・各3回です。削除に使われたシェルは9回中8回が PowerShell、1回が Bash でした(触っていないファイルを消した回)
  • 1ターン目に触るのは Edit だけで試しました(Write は試していません)
  • 先に触ったファイルを sed -i で変えた場合は測っていません
  • VS Code の拡張機能(メッセージの巻き戻しボタン)は測っていません

まとめ

  • Claude が先に Edit で触ったファイルは、そのあとシェルで消してもサブエージェントが変えても、/rewind で戻った
  • 2.1.300 でも戻っていた。 2.1.309 で直ったのは、一覧の「No code changes」という表示
  • Claude が一度も触っていないファイルは、今も戻らない
  • 見分けるなら、確認画面の The code will be restored … の行。注意書きは、戻るときも出る

消える可能性のある作業の前に git commit しておくのは、前回と変わらず一番確実です。


関連記事


JQITのエンジニアの95%以上は未経験からの採用です。
よければコーポレートサイトにも遊びに来てください。

▶ コーポレートサイト

エンジニア採用も行っています。もしご興味あれば覗いてみてください。

▶ 採用サイト

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?