10秒でいうと
どこまで自動で任せるかと、失敗をどう戻すかの話です。
巻き戻しは便利ですが、bashで消したファイルは戻せません。Gitの代わりにはなりません。
第3章のNo.21で「範囲を先に区切る」と書きました。Claude Codeでは、それが具体的な設定になります。
6つの権限モード
公式ドキュメントに載っているものです。Shift+Tab で切り替えられます。
| モード | 挙動 |
|---|---|
default(手動) |
ツールの初回使用ごとに確認する |
acceptEdits |
ファイル編集と mkdir mv などを自動で受け入れる |
plan |
読むだけ。ソースを書き換えない |
auto |
自動承認するが、背後で安全性の確認が入る |
dontAsk |
事前に許可したもの以外は自動で拒否する |
bypassPermissions |
確認を飛ばす |
日常はプランモードと手動の往復で足ります。調べるときと計画するときは plan、実装に入るときに手動へ。これがNo.37の型そのものです。
bypassPermissions については、公式が強い警告を出しています。.git や .claude のような保護されたパスへの書き込みまで確認を飛ばします。コンテナや仮想マシンのような、壊れても困らない環境でのみ使ってください。
dontAsk は逆向きで面白い設定です。許可したものだけが動き、あとは全部拒否される。自動で長く回したいが範囲は絞りたい、というときに向きます。
許可と拒否のルール
モードとは別に、何を許して何を拒むかを書けます。設定ファイルに入れてGitで共有できるので、チーム全員に同じ制約をかけられます。
パスの指定はgitignoreと同じ書き方です。たとえば Read(*.env) を拒否リストに入れると、認証情報の入ったファイルを読ませないようにできます。
ただし公式は制約も明記しています。Read と Edit の拒否ルールは、Claudeのファイルツールと、Claude Codeが認識するbashコマンド(cat head など)にしか効きません。PythonやNodeのスクリプトがファイルを開く場合は素通りします。
OSのレベルで止めたいならサンドボックスを有効にしてください。こちらはすべてのプロセスに効きます。
巻き戻し
失敗したときの戻し方です。プロンプトを送るたびに、その直前の状態が自動で記録されます。
/rewind か、入力欄が空の状態で Esc を2回押すとメニューが開きます。選べるのは4つ。
- コードと会話を戻す
- 会話だけ戻す(コードは現在のまま)
- コードだけ戻す(会話は残す)
- ここから要約する(文脈を空ける)
最後のものが地味に効きます。長いデバッグの途中経過を圧縮して、最初の指示は残すということができます(No.44)。
巻き戻しはGitの代わりにならない

ここが知らないと事故になるところです。公式が明記している制限を挙げます。
bashコマンドの変更は追跡されません。Claudeが rm file.txt や mv old.txt new.txt を実行した場合、巻き戻しでは戻せません。記録されるのは、Claudeのファイル編集ツールを通した変更だけです。
サブエージェントの編集は、通常は戻りません。背景で動いたサブエージェントの変更は、/rewind の対象外です。Gitで戻すことになります。
外で加えた変更は追跡されません。自分でエディタから直したもの、別のセッションが直したものは対象外です。
シンボリックリンクは戻りません。スキップされて、警告が出ます。
保存期間は既定で30日です。
つまり、巻き戻しはセッション中の素早いやり直しのための道具であって、履歴の保存はGitの仕事です。公式も「バージョン管理の代わりにはならない」と書いています。
作業を始める前にコミットしておく。これがいちばん確実な保険です。
やってみよう:巻き戻しの限界を確かめる(5分)
捨ててよいリポジトリで試してください。
プロンプト
test1.txt というファイルを作って、中に「A」と書いてください。次に、bash経由で消させます。
bashコマンドで test1.txt を削除してください。そのあと
/rewindを開き、コードを戻してみてください。期待される結果:ファイルは戻りません。編集ツールで作ったファイルでも、bashで消したものは追跡されていないためです。
うまくいかないとき:戻ったなら、削除がbashではなくファイルツール経由だった可能性があります。それも収穫で、どちらの経路を通ったかで結果が変わると分かります。
つまずきポイント
巻き戻せるから安心だと思う。戻せない経路があります。Gitでコミットしてから始めてください。
面倒なので bypassPermissions にする。公式が警告している設定です。面倒さの解決は、範囲を絞ることのほうです(No.21)。
プランモードを使わない。いちばんもったいない。読むだけの状態で調べさせるのは、安全で速い。
まとめ
- 日常はプランモードと手動の往復で足りる
- 拒否ルールは便利だが、スクリプト経由の読み書きには効かない。OSレベルで止めるならサンドボックス
- bashで消したファイル、サブエージェントの編集は巻き戻せない
- 作業前にコミット。巻き戻しはGitの代わりにならない
次に読む
※本記事の情報は 2026年8月時点のものです。