Checkpointing
Lacak, putar ulang, dan ringkas edit dan percakapan Claude untuk mengelola status sesi.
Claude Code secara otomatis melacak edit file Claude saat Anda bekerja, memungkinkan Anda dengan cepat membatalkan perubahan dan memutar ulang ke status sebelumnya jika ada yang tidak sesuai.
Cara kerja checkpoints
Saat Anda bekerja dengan Claude, checkpointing secara otomatis menangkap status kode Anda sebelum setiap prompt pengguna.
Pelacakan otomatis
Claude Code melacak semua perubahan yang dibuat oleh alat pengeditan filenya:
- Setiap prompt pengguna membuat checkpoint baru
- Claude Code menyimpan snapshot file untuk 100 checkpoint paling terbaru dalam sesi. Membuang checkpoint yang lebih lama menghapus file snapshot yang tidak direferensikan oleh checkpoint yang tersisa, kecuali snapshot pertama setiap file, yang digunakan oleh ekstensi VS Code sebagai baseline untuk diffs sesi-nya.
- Claude Code menyimpan checkpoints dengan percakapan, sehingga Anda masih dapat menjalankan
/rewindsetelah Anda melanjutkan sesi - Claude Code menghapus snapshot file sesi dalam retention sweep, secara default sekitar 30 hari setelah sesi terakhir menyimpannya. Memutar ulang ke checkpoint yang snapshotnya hilang dapat gagal dengan
No files were restored. Untuk menyimpan snapshot lebih lama, aturcleanupPeriodDays.
Putar ulang dan ringkas
Jalankan /rewind, atau tekan Esc dua kali ketika bidang input prompt kosong, untuk membuka menu putar ulang.
Jika bidang input prompt berisi teks, tekan Esc dua kali akan menghapusnya alih-alih membuka menu. Teks yang dihapus disimpan ke riwayat input Anda, jadi tekan Up untuk memanggilnya kembali setelah Anda selesai di menu putar ulang.
Menu putar ulang mencantumkan setiap prompt yang Anda kirim selama sesi. Pilih titik yang ingin Anda tindaklanjuti, kemudian pilih tindakan:
- Pulihkan kode dan percakapan: kembalikan kode dan percakapan ke titik tersebut
- Pulihkan percakapan: putar ulang ke pesan tersebut sambil mempertahankan kode saat ini
- Pulihkan kode: kembalikan perubahan file sambil mempertahankan percakapan
- Ringkas dari sini: kompres percakapan dari titik ini ke depan menjadi ringkasan, membebaskan ruang context window
- Ringkas hingga di sini: kompres percakapan sebelum titik ini menjadi ringkasan, menjaga pesan-pesan selanjutnya tetap utuh
- Tidak jadi: kembali ke daftar pesan tanpa membuat perubahan
Dua opsi restore kode muncul hanya ketika checkpoint yang dipilih memiliki perubahan file yang dilacak untuk dikembalikan. Jika tidak ada pengeditan file yang ditangkap setelah titik tersebut, menu hanya menawarkan Restore conversation, opsi summarize, dan Never mind.
Setelah memulihkan percakapan atau memilih Ringkas dari sini, prompt asli dari pesan yang dipilih dipulihkan ke dalam bidang input sehingga Anda dapat mengirimnya kembali atau mengeditnya.
Memilih Summarize up to here membuat Anda tetap berada di akhir percakapan dengan input kosong. Dengan opsi summarize apa pun, penanda Summarized conversation muncul dalam percakapan di mana pesan yang dikompres berada.
Putar ulang melewati percakapan yang dihapus
Jika Anda menjalankan /clear sebelumnya dalam proses Claude Code yang sama, menu putar ulang menampilkan entri tambahan di bagian atas daftar berlabel /resume <session-id> (previous session). Pilih untuk melanjutkan percakapan yang aktif sebelum /clear dijalankan. Entri tersedia hingga Anda keluar dari Claude Code atau melanjutkan sesi yang berbeda, dan memerlukan Claude Code v2.1.191 atau lebih baru. Pada versi sebelumnya, jalankan /resume dan pilih sesi sebelumnya dari daftar sebagai gantinya.
Panduan ringkasan
Meringkas tidak mengubah file di disk, dan pesan asli tetap berada dalam transkrip sesi, sehingga Claude masih dapat mereferensikan detail. Untuk memandu apa yang difokuskan ringkasan, sorot opsi Summarize dengan tombol panah dan ketik instruksi di mana baris membaca add context (optional), kemudian tekan Enter. Memilih opsi dengan tombol nomornya meringkas segera tanpa instruksi.
Summarize membuat Anda tetap berada di sesi yang sama dan mengompres konteks, seperti /compact yang ditargetkan. Untuk bercabang dan mencoba pendekatan berbeda sambil mempertahankan sesi asli tetap utuh, gunakan /branch atau claude --continue --fork-session sebagai gantinya.
Kasus penggunaan umum
Checkpoints sangat berguna ketika:
- Menjelajahi alternatif: coba pendekatan implementasi berbeda tanpa kehilangan titik awal Anda
- Memulihkan dari kesalahan: dengan cepat batalkan perubahan yang memperkenalkan bug atau merusak fungsionalitas
- Iterasi pada fitur: bereksperimen dengan variasi mengetahui Anda dapat kembali ke status yang berfungsi
- Membebaskan ruang konteks: ringkas sesi debugging yang bertele-tele dari titik tengah ke depan, menjaga instruksi awal Anda tetap utuh
Keterbatasan
Perubahan perintah Bash tidak dilacak
Checkpointing tidak melacak file yang dimodifikasi oleh perintah bash. Misalnya, jika Claude Code menjalankan:
rm file.txt
mv old.txt new.txt
cp source.txt dest.txt
Modifikasi file ini tidak dapat dibatalkan melalui rewind. Hanya edit file langsung yang dibuat melalui alat pengeditan file Claude yang dilacak.
Edit subagent tidak dipulihkan
Sebuah subagent membuat edit dengan alat pengeditan file Claude, tetapi Claude Code biasanya tidak menangkap edit tersebut dalam checkpoint sesi Anda. Apakah rewind memulihkannya tergantung pada cara subagent berjalan:
- Foreground forked skill: sebuah skill dengan
context: forkyang berjalan di foreground mengedit working tree Anda selama giliran Anda sendiri, sehingga rewind memulihkan editnya seperti biasa. Aturbackground: falseuntuk menjalankan fork di foreground; beberapa situasi, tercantum di halaman skills, menjalankannya di sana terlepas dari pengaturannya. - Subagent lainnya: rewind tidak memulihkan edit. Gunakan git untuk mengembalikannya. Ini termasuk forked skill yang berjalan di background, default, dan background
/code-review --fixrun.
Perubahan eksternal tidak dilacak
Checkpointing hanya melacak file yang telah diedit dalam sesi saat ini. Perubahan manual yang Anda buat pada file di luar Claude Code dan edit dari sesi bersamaan lainnya biasanya tidak ditangkap, kecuali jika kebetulan memodifikasi file yang sama dengan sesi saat ini.
Jalur symlink dan hard-link tidak dipulihkan
Checkpointing tidak melakukan rewind file symlink atau hard-link. Ketika Anda memilih Restore code atau Restore code and conversation dari menu /rewind, Claude Code melewati jalur terlacak apa pun yang merupakan symlink atau hard link dan menampilkan peringatan Restored the code, but skipped N files. File yang dilewati mempertahankan konten saat ini mereka. Untuk membatalkan perubahan sesi pada salah satunya, minta Claude untuk membalikkan edit atau edit file sendiri. File konfigurasi yang disymlink oleh dotfile manager ke proyek Anda dan file yang dipnpm hard-link ke tempat keduanya termasuk dalam kategori ini.
Untuk melihat jalur mana yang dilewati restore, aktifkan debug logging dengan /debug sebelum Anda memulihkan: debug log di ~/.claude/debug/<session-id>.txt menamai setiap jalur yang dilewati. Untuk setiap alasan skip dan langkah pemulihan, lihat entri skipped-files dalam referensi kesalahan.
Bukan pengganti kontrol versi
Checkpoints dirancang untuk pemulihan cepat tingkat sesi. Untuk riwayat versi permanen dan kolaborasi, terus gunakan kontrol versi, seperti Git, untuk commit, branch, dan riwayat jangka panjang.
Lihat juga
- Mode interaktif - Pintasan keyboard dan kontrol sesi
- Commands - Mengakses checkpoints menggunakan
/rewind - CLI reference - Opsi baris perintah