Lanjutkan sesi
Sesi disimpan secara berkelanjutan ke file transkrip lokal saat Anda bekerja, sehingga Anda dapat kembali ke satu setelah keluar atau menjalankan/clear. Gunakan titik masuk ini:
Claude Code meninggalkan sesi yang dibuat dengan
claude -p atau Agent SDK keluar dari pemilih sesi dan keluar dari claude --continue. Anda masih dapat melanjutkan satu dengan meneruskan ID sesinya ke claude --resume <session-id>. Dengan claude --continue, Claude Code juga melewati sesi yang prompt pertamanya adalah /loop. Ketika Anda menjalankan claude -p --continue, Claude Code menyertakan sesi -p, SDK, dan /loop.
claude --continue membuka sesi latar belakang yang telah selesai, tetapi bukan yang masih berjalan; membuka sesi latar belakang yang selesai memerlukan Claude Code v2.1.257 atau lebih baru. Jika percakapan terbaru Anda adalah sesi yang Anda pindahkan ke latar belakang dan masih berjalan di sana, Claude Code keluar dengan Your most recent conversation is running in the background dan ID sesi tersebut. Lampirkan ke sesi dari claude agents, atau jalankan claude --resume untuk memilih yang lain.
Anda dapat menjalankan claude --resume <session-id> dari direktori mana pun: Claude Code mencari ID di direktori proyek saat ini dan git worktrees-nya terlebih dahulu, kemudian di setiap proyek lain di mesin ini, sehingga menemukan sesi yang dimulai di tempat lain atau dipindahkan dengan /cd. Pencarian lintas proyek menyelesaikan ID hanya ketika tepat satu proyek lain menyimpan transkrip dengan pesan untuknya, sehingga duplikat yang disalin tangan membuat Claude Code melaporkan tidak ditemukan daripada melanjutkan salinan arbitrer. Jika tidak ada sesi yang disimpan cocok dengan ID, Claude Code melaporkan No conversation found with session ID: <session-id>. Sebelum v2.1.223, pencarian berhenti di direktori proyek saat ini dan git worktrees-nya, jadi Anda harus melanjutkan dari direktori tempat sesi terakhir bekerja.
Apa yang dipulihkan sesi yang dilanjutkan
Sesi yang dilanjutkan memulihkan percakapan bersama dengan status yang disimpan di dalamnya:- Riwayat percakapan: riwayat lengkap, termasuk panggilan alat dan hasil. Alat yang masih berjalan ketika proses sebelumnya berakhir, misalnya dalam kerusakan, tidak selesai atau berjalan lagi ketika Anda melanjutkan. Claude melihat panggilan yang ditandai sebagai terputus sebelum hasilnya dicatat dan diberitahu untuk memeriksa apakah itu berlaku sebelum menjalankannya lagi, kecuali
CLAUDE_CODE_RESUME_INTERRUPTED_TURNdiatur. Sebelum v2.1.281, Claude Code menghapus panggilan yang terputus dari percakapan atau menampilkannya kepada Claude sebagai yang Anda interupsi. - Model: sesi berlanjut pada model yang digunakannya. Model tidak dipulihkan ketika telah pensiun atau tidak diizinkan oleh
availableModels, ketika bendera--modelatau variabel lingkungan keluargaANTHROPIC_MODELmemilih satu saat peluncuran, atau pada penyedia yang menggunakan ID penerapan khusus penyedia, seperti Amazon Bedrock, Google Cloud’s Agent Platform, dan Microsoft Foundry; lihat konfigurasi model untuk urutan resolusi. - Agent: sesi yang dimulai dengan
--agentatau pengaturanagentberlanjut sebagai agen tersebut, mempertahankan pembatasan alat dan model-nya. Teruskan--agentsaat melanjutkan untuk memilih yang berbeda; untuk prompt sistem dalam kedua kasus, lihat Bendera prompt sistem dalam percakapan yang dilanjutkan. Claude Code mencari agen di dua tempat: direktori asli sesi, asalkan Anda telah mempercayai ruang kerja tersebut, dan kemudian direktori tempat Anda melanjutkan, sehingga agen yang bersifat proyek masih dimuat ketika Anda melanjutkan dari direktori lain. Jika Claude Code tidak menemukan agen di salah satu tempat, sesi dilanjutkan dengan alat default dan menampilkan peringatan yang menyebutkan agen. - Mode izin: jika Anda melanjutkan dari terminal dengan
claude --continue,claude --resume <session-id>, atauclaude --resume <name>ketika nama cocok dengan satu sesi, tanpa-p, Claude Code memulihkan mode izin yang ada di sesi, kecuali dalam kasus di mode izin saat melanjutkan, yang juga mencakup pemilih sesi,/resume, dan melanjutkan denganclaude -p. Teruskan--permission-modeatau--dangerously-skip-permissionsuntuk mengganti mode yang dipulihkan. - Tujuan aktif: tujuan yang masih aktif ketika sesi berakhir terbawa; hitungan giliran, pengatur waktu, dan baseline pengeluaran token-nya disetel ulang.
- Tugas terjadwal: tugas yang belum kedaluwarsa dipulihkan. Tugas Bash latar belakang dan monitor tidak.
- Pekerjaan latar belakang: subagen latar belakang, perintah Bash latar belakang, atau alur kerja yang berakhir dengan proses sebelumnya muncul dalam transkrip yang dilanjutkan sebagai catatan bahwa itu tidak selesai. Claude Code tidak memulai giliran dari catatan tersebut; Claude membacanya dengan prompt Anda berikutnya.
--mcp-config, --settings, --plugin-dir, --fallback-model, atau direktori yang ditambahkan dengan --add-dir, teruskan lagi saat Anda melanjutkan; direktori yang ditambahkan pertengahan sesi dengan /add-dir juga tidak dipulihkan, meskipun pemilih sesi masih menggunakannya untuk menemukan sesi. File pengaturan standar, seperti settings.json dan settings.local.json, dibaca ulang saat peluncuran, sehingga konfigurasi yang berada di dalamnya tidak perlu dilewatkan lagi. Untuk --system-prompt dan --append-system-prompt, lihat Bendera prompt sistem dalam percakapan yang dilanjutkan.
Mode izin saat melanjutkan
Mode izin mana yang dimulai Claude Code dalam sesi yang dilanjutkan tergantung pada cara Anda melanjutkan:- Terminal:
claude --continue,claude --resume <session-id>, atauclaude --resume <name>ketika nama cocok dengan satu sesi, tanpa-p. Claude Code memulihkan mode izin yang ada di sesi, kecuali dalam kasus di tabel. Teruskan--permission-modeatau--dangerously-skip-permissionsuntuk mengganti mode yang dipulihkan. - Non-interaktif:
claude -p --resumeatauclaude -p --continue. Claude Code memulai jalankan dalam mode izin yang akan dimulai oleh jalankanclaude -pbaru, kecuali sesi yang berakhir dalam mode rencana dilanjutkan dalam mode rencana di bawah kondisi di bawah. - VS Code: panel percakapan ekstensi. Tabel hanya mencakup percakapan yang berakhir dalam mode rencana; untuk sisanya, lihat lanjutkan percakapan masa lalu.
- Pemilih sesi saat peluncuran: sesi yang Anda pilih dari pemilih sesi, apakah Anda membukanya dengan
claude --resumesaja,claude --from-pr, atau nama yang cocok dengan lebih dari satu sesi. Claude Code tidak memulihkan mode izin yang disimpan. Ini memulai sesi dalam mode izin yang akan dimulai oleh sesi baru dari baris perintah yang sama. /resumedi dalam sesi, dengan atau tanpa argumen: Claude Code tidak memulihkan mode izin yang disimpan. Percakapan yang Anda alihkan berlanjut dalam mode izin yang ada di sesi saat ini.
Jalankan
claude -p --resume atau claude -p --continue dilanjutkan dalam mode rencana hanya ketika keempat kondisi berlaku:
- Anda meneruskan
--permission-prompt-tooldan tidak meneruskan--permission-prompts none, sehingga Claude Code dapat menyajikan rencana untuk persetujuan - Anda tidak meneruskan
--permission-modeatau--dangerously-skip-permissions - Anda tidak meneruskan
--fork-session - Jalankan tidak dimulai melalui saluran
Lanjutkan dari ringkasan
Pada paket Pro atau Max, ketika Anda melanjutkan sesi yang tidak aktif selama lebih dari sekitar satu jam dan lebih dari 100.000 token, Claude Code memulihkan percakapan dan kemudian membuka dialog sebelum Anda mengirim pesan pertama Anda. Cache prompt sesi telah kedaluwarsa pada saat itu, sehingga permintaan berikutnya memproses riwayat lengkap sekali tidak peduli opsi dialog mana yang Anda pilih. Dialog menawarkan tiga cara untuk melanjutkan sesi. Mereka berbeda dalam berapa banyak percakapan yang masing-masing bawa ke permintaan nanti, yang merupakan pertukaran antara menyimpan setiap detail dan mengirim lebih sedikit token per permintaan:- Lanjutkan dari ringkasan: menjalankan
/compactsegera. Claude Code mengirim satu permintaan peringkasan atas riwayat lengkap, kemudian mengganti riwayat dengan ringkasan, pertukaran terbaru Anda, dan hingga lima file yang baru-baru ini dibaca. Permintaan nanti membawa ringkasan daripada riwayat lengkap. - Lanjutkan sesi penuh apa adanya: memuat percakapan tanpa perubahan. Setelah Anda mengirim pesan pertama Anda, Claude Code memproses ulang dan meng-cache ulang riwayat lengkap, kemudian membacanya kembali dari cache pada permintaan nanti sementara cache tetap hangat.
- Jangan tanyakan saya lagi: melanjutkan sesi penuh dan berhenti menampilkan dialog pada semua lanjutan masa depan.
Tempat pemilih sesi mencari
Claude Code menyimpan sesi per direktori proyek. Secara default pemilih sesi menampilkan:- Sesi dari worktree saat ini, termasuk sesi latar belakang, yang ditandai
bgdalam daftar - Sesi yang dimulai di tempat lain yang menambahkan direktori saat ini dengan
/add-dir
Ctrl+W untuk memperluas ke semua worktree repositori atau Ctrl+A untuk memperluas ke setiap proyek di mesin ini.
Sesi yang prompt pertamanya adalah perintah /loop tidak muncul dalam pemilih, dan claude --continue juga melewati mereka. Menjalankan /loop nanti dalam percakapan tidak menyembunyikan sesi. Sebelum v2.1.211, jalankan /loop awal dalam percakapan menyembunyikan sesi dari pemilih secara permanen.
Memindahkan sesi dengan /cd memindahkannya ke penyimpanan proyek direktori baru, sehingga muncul dalam pemilih direktori tersebut setelahnya. Sejak v2.1.196, sesi yang dipindahkan tetap keluar dari pemilih direktori lama bahkan setelah kerusakan atau keluar paksa. Pada versi sebelumnya, sesi juga dapat muncul kembali dalam daftar direktori lama setelah keluar yang tidak bersih ketika jalur lama berisi karakter khusus seperti garis bawah.
Ketika Anda memilih sesi dari worktree lain dari repositori yang sama, Claude Code melanjutkannya di tempat; ketika worktree sesi sendiri tidak lagi ada, Claude Code melanjutkannya dalam direktori saat ini Anda. Ketika Anda memilih sesi dari proyek yang tidak terkait, Claude Code menyalin perintah cd dan resume ke clipboard Anda. Jika direktori proyek tersebut tidak lagi ada, Claude Code melanjutkan sesi dalam direktori saat ini Anda daripada menyalin perintah cd yang akan gagal.
Melanjutkan berdasarkan nama diselesaikan di seluruh repositori saat ini dan worktree-nya. Kedua bentuk mencari kecocokan yang tepat dan melanjutkannya secara langsung bahkan jika berada di worktree berbeda:
Beri nama pada sesi Anda
Berikan sesi nama deskriptif sehingga mudah ditemukan di pemilih sesi dan dapat dilanjutkan berdasarkan nama. Hal ini paling penting ketika Anda mengerjakan beberapa tugas secara paralel.
Setelah Anda memberi nama sesi melalui rute CLI atau dari claude.ai, kembali ke sesi tersebut dengan
claude --resume <name> atau /resume <name>; sesi aplikasi desktop dilanjutkan di aplikasi, yang menyimpan riwayat sesinya sendiri. Lihat Resume a session untuk mengetahui bagaimana perilaku resolusi nama di seluruh worktrees.
Ketika Anda memulai atau melanjutkan sesi interaktif dengan nama yang sudah digunakan oleh sesi live lain di mesin ini, atau mengganti nama sesi menjadi nama seperti itu, Claude Code membiarkan nama dengan sesi yang sudah memilikinya, mengganti nama Anda menjadi varian dengan akhiran dua kata, seperti auth-refactor-graceful-unicorn, dan memberitahu Anda. Jalankan /rename dengan nama baru jika Anda lebih suka memilih sendiri. Sebelum v2.1.232, kedua sesi menyimpan nama tersebut.
Dalam tiga kasus Claude Code tidak mengganti nama duplikat, sehingga Anda masih dapat melihat dua sesi dengan nama yang sama dalam daftar:
- Tidak memeriksa judul yang dihasilkan AI atau nama tampilan default.
- Tidak memeriksa
--namedari sesi background atau-psaat startup. - Tidak dapat mengganti nama sesi di versi Claude Code yang lebih awal.
-
Nama tampilan default: sesi interaktif yang tidak pernah Anda beri nama masih mendapatkan nama tampilan default saat dimulai. Memerlukan Claude Code v2.1.196 atau lebih baru. Default menggabungkan nama direktori kerja dengan akhiran dua karakter, misalnya
my-app-3f, dan mengidentifikasi sesi dalam daftar sesi yang berjalan, seperti agent view dan outputclaude agents --json. Default bukan handle resume. Jika Anda meneruskannya keclaude --resumeatau/resume, Claude Code tidak menemukan sesi. Memberi nama sesi menggantikan default dalam daftar tersebut, begitu juga dengan menerima plan. -
Judul yang dihasilkan: jika Anda tidak memberi nama sesi, Claude Code menghasilkan judul sesi untuk itu. Judul adalah ringkasan singkat dari prompt pertama Anda, ditulis oleh permintaan latar belakang ke model kecil/cepat, biasanya model kelas Haiku. Jalankan
claude -pyang Anda mulai langsung dari shell atau script tidak mendapatkan satu. Menerima plan menggantikan judul prompt pertama dengan judul berdasarkan plan. Memberi nama sesi juga menggantinya. Anda melihat judul prompt pertama di pemilih sesi dan di bidangsession_namestatusline ketika tidak ada nama yang diatur. Judul plan ditampilkan di tempat yang sama dan juga dalam daftar sesi yang berjalan, di mana ia menggantikan nama tampilan default. Anda dapat meneruskan salah satu judul keclaude --resumeatau/resume, dan Claude Code menyelesaikannya dengan cara yang sama seperti nama yang Anda atur.
Gunakan pemilih sesi
Jalankan/resume di dalam sesi, atau claude --resume tanpa argumen, untuk membuka pemilih sesi interaktif. Gunakan pintasan keyboard ini untuk menavigasi, mencari, dan memperluas daftar:
Setiap baris menampilkan nama sesi jika Anda menetapkan satu, jika tidak judul sesi yang dihasilkan AI, ringkasan percakapan, atau prompt pertama, bersama dengan waktu sejak aktivitas terakhir, cabang git, dan ukuran file. Perluas ke semua proyek dengan
Ctrl+A untuk juga melihat jalur proyek setiap sesi.
Sesi yang dibuat dengan /branch atau --fork-session mendapatkan ID sesi mereka sendiri dan muncul sebagai baris terpisah. Ketika pemilih menemukan lebih dari satu entri untuk sesi yang sama, sesi tersebut dikelompokkan di bawah satu baris. Tekan → untuk memperluas grup.
Jika Claude Code tidak dapat memuat sesi yang Anda pilih dari pemilih claude --resume, sesi tersebut mencetak Failed to resume the conversation dengan perintah untuk mencoba lagi, kemudian keluar dengan kode 1. Dari pemilih /resume di dalam sesi, Claude Code melaporkan kegagalan dan percakapan saat ini Anda terus berjalan.
Cabang sesi
Pencabangan membuat salinan percakapan sejauh ini dan beralih Anda ke dalamnya, meninggalkan yang asli tetap utuh. Gunakan untuk mencoba pendekatan berbeda tanpa kehilangan jalur yang Anda jalani. Dari dalam sesi, jalankan/branch dengan nama opsional:
Branched conversation alih-alih melihat melampaui ringkasan compaction ke prompt pertama asli.
Dari baris perintah, gabungkan --continue atau --resume dengan --fork-session:
/branch mencetak dua ID sesi: cabang baru yang sekarang Anda masuki dan yang asli. Yang asli tidak berubah di disk dan tetap tersedia di pemilih sesi; kembali ke sana dengan /resume <original-name> atau dengan meneruskan ID-nya ke /resume.
/branch menyalin transkrip dan beralih proses Claude Code yang berjalan untuk menulis ke dalamnya. Perbedaan itu menentukan apa yang diwarisi cabang:
Jika Anda melanjutkan sesi yang sama di dua terminal tanpa melakukan fork, pesan dari keduanya saling bersisipan menjadi satu transkrip. Untuk rewind berbasis checkpoint dalam satu sesi, lihat Checkpointing.
Kelola konteks dalam sesi
Perintah ini mengontrol apa yang ada di jendela konteks tanpa meninggalkan sesi:/clear: mulai segar dengan konteks kosong. Claude Code menyimpan percakapan sebelumnya; lanjutkan dengan/resume, atau, dalam proses Claude Code yang sama, dari entri sesi sebelumnya di menu rewind. Tanpa argumen, percakapan baru mempertahankan nama yang Anda tetapkan dengan--nameatau/rename, tetapi bukan judul sesi yang dihasilkan AI. Untuk memberi nama percakapan yang Anda tinggalkan, berikan nama, seperti dalam/clear release-prep; percakapan baru kemudian dimulai tanpa nama/compact [instructions]: ganti riwayat dengan ringkasan, secara opsional berfokus pada apa yang Anda tentukan/context: tampilkan apa yang saat ini mengonsumsi konteks
Ekspor dan temukan data sesi
Jalankan/export untuk membuka menu yang memungkinkan Anda menyalin percakapan saat ini ke clipboard atau menyimpannya sebagai file teks biasa, dengan pesan dan output alat dirender sebagai teks yang dapat dibaca. Teruskan nama file untuk melewati menu dan menulis langsung ke file tersebut.
Akses percakapan dari skrip
/export menghasilkan transkrip yang dirender untuk dibaca oleh seseorang. Antarmuka di bawah ini menghasilkan data terstruktur untuk skrip diurai: hasil JSON dari suatu run, jalur ke file transkrip sesi, atau aliran peristiwa langsung. Pilih berdasarkan apa yang memicu skrip:
- Jalankan Claude sekali dan tangkap hasilnya: panggil
claude -pdengan--output-format jsonataustream-jsonuntuk menangkap hasil, ID sesi, penggunaan, dan biaya dari run non-interaktif sebagai JSON terstruktur. - Tanyakan pertanyaan ke sesi yang ada: teruskan ID sesi ke
claude -p --resumeuntuk mengirim prompt tindak lanjut, seperti permintaan ringkasan, dan tangkap respons terstruktur. - Bereaksi terhadap peristiwa sesi: baca bidang
transcript_pathyang diterima hooks dan perintah status line sebagai input. HookSessionEnddapat mengarsipkan transkrip ketika sesi berakhir. - Sematkan Claude dalam aplikasi TypeScript atau Python: gunakan Agent SDK untuk menerima setiap pesan secara terprogram.
jq:
Tempat transkrip disimpan
Secara default, Claude Code menyimpan transkrip sebagai JSONL di~/.claude/projects/<project>/<session-id>.jsonl, di mana <project> adalah jalur direktori kerja Anda dengan karakter non-alfanumerik diganti dengan -. Untuk direktori kerja yang nama konversinya melebihi 200 karakter, Claude Code memotong nama menjadi 200 karakter dan menambahkan hash dari jalur lengkap, sehingga nama direktori tetap dalam batas sistem file.
Setiap baris adalah objek JSON untuk pesan, penggunaan alat, atau entri metadata. Format entri bersifat internal untuk Claude Code dan berubah antar versi, jadi skrip yang mengurai file ini secara langsung dapat rusak pada rilis apa pun. Untuk membangun data sesi, gunakan /export atau antarmuka skrip sebagai gantinya.
Lokasi, retensi, dan perilaku penulisan dapat dikonfigurasi:
Hapus data sesi
Transkrip berusia di bawah aturan penyapuan retensi. Untuk menghapus transkrip proyek dan status terkait lebih cepat, jalankanclaude project purge. Jika Anda menghapus sesi latar belakang dengan claude rm <id>, transkrip tetap di disk dan tetap tersedia melalui claude --resume.
Beri nama direktori proyek sendiri
Secara default, Claude Code menurunkan nama<project> dari seluruh jalur direktori kerja. Untuk memilih nama sendiri, atur CLAUDE_CODE_PROJECT_DIR_NAME bersama dengan CLAUDE_CONFIG_DIR. Claude Code kemudian menyimpan transkrip sesi tersebut dan auto memory di bawah nama Anda. Ini cocok untuk host yang menyematkan Claude Code dan memberikan setiap sesi direktori konfignya sendiri. Memerlukan Claude Code v2.1.234 atau lebih baru.
Misalnya, peluncuran ini menjaga data penyewa A di bawah /srv/tenant-a dan memberi nama direktori proyeknya work:
/srv/tenant-a/projects/work/ dan auto memory-nya ke /srv/tenant-a/projects/work/memory/, apa pun direktori kerjanya.
Tiga aturan berlaku ketika Anda menetapkannya:
- Atur
CLAUDE_CONFIG_DIRjuga: nama tidak bervariasi dengan direktori kerja, jadi di bawah~/.claudedefault, nama tersebut akan menggabungkan transkrip dan auto memory setiap proyek ke dalam satu direktori. Claude Code mengabaikanCLAUDE_CODE_PROJECT_DIR_NAMEketikaCLAUDE_CONFIG_DIRtidak diatur. - Gunakan 1-64 huruf, digit, tanda hubung, atau garis bawah: jangan gunakan nama perangkat Windows seperti
con. Claude Code mengabaikan nilai apa pun dan menggunakan nama yang diturunkan. - Atur di lingkungan shell yang memulai
claude: Claude Code membacanya sekali saat startup dari lingkungan tersebut, jadi blokenvdalam file pengaturan tidak dapat menetapkannya.
CLAUDE_CONFIG_DIR yang sama tetapi tanpa CLAUDE_CODE_PROJECT_DIR_NAME, Claude Code membaca dan menulis direktori yang diturunkan lagi. Sesi yang disimpan di bawah nama Anda tetap di disk: tekan Ctrl+A di pemilih sesi untuk mencantumkan sesi dari setiap direktori proyek di bawah direktori konfigurasi tersebut, termasuk yang disematkan, dan apa pun cara Anda meluncurkan, claude --resume <session-id> menemukan sesi yang disimpan di bawah nama apa pun.
Lihat juga
Halaman-halaman ini mencakup mekanik sesi dan paralelisme terkait:- Worktrees: jalankan sesi paralel terisolasi di cabang terpisah
- Checkpointing: putar ulang kode dan percakapan ke titik sebelumnya
- Jendela konteks: apa yang mengisi konteks dan apa yang bertahan dari pemadatan
- Mode non-interaktif: perilaku sesi di bawah
claude -p