Quản lý session Claude Code: resume, đặt tên, rẽ nhánh, xuất transcript
Tóm tắt
Mọi hội thoại Claude Code là một session quay lại được: --continue cho phiên gần nhất, --resume để chọn, /rename để đặt tên, /branch để rẽ nhánh thử hướng khác. Transcript giữ 30 ngày mặc định; resume phiên dài sau khi nghỉ lâu sẽ tốn hơn bạn nghĩ.
Hôm qua bạn làm dở một refactor với Claude Code, hôm nay mở terminal mới thì mọi thứ trống trơn. Hay bạn muốn thử một hướng khác mà không mất hướng đang làm. Claude Code lưu mọi hội thoại thành session gắn với thư mục dự án, và có đủ công cụ để quay lại, đặt tên, rẽ nhánh hay xuất transcript. Nắm vững chúng giúp bạn không phải giải thích lại bối cảnh từ đầu, tức là đỡ tốn token.
Quay lại phiên cũ
| Lệnh | Tác dụng |
|---|---|
claude --continue | Mở lại phiên gần nhất trong thư mục hiện tại |
claude --resume | Mở danh sách chọn phiên |
claude --resume <tên> | Mở thẳng phiên theo tên |
claude --from-pr <số> | Lọc các phiên gắn với pull request đó |
/resume | Chuyển sang phiên khác ngay trong phiên đang chạy |
Phiên được khôi phục gồm lịch sử hội thoại, model, permission mode (với đa số cách resume từ terminal) và cả goal đang chạy. Nhưng một số cờ lúc khởi động như --mcp-config, --settings, --add-dir phải truyền lại.
Đặt tên để tìm lại dễ
claude -n auth-refactor # đặt tên lúc mở
/rename auth-refactor # đổi tên giữa phiên
claude --resume auth-refactor
Phiên không đặt tên vẫn có tiêu đề tự sinh từ prompt đầu, dùng để resume được; nhưng tên tự đặt dễ nhớ hơn nhiều khi chạy nhiều việc song song.
Danh sách chọn phiên
Space: xem trước nội dung;Ctrl+R: đổi tên.Ctrl+W: mở rộng ra mọi worktree của repo;Ctrl+A: mọi dự án trên máy;Ctrl+B: chỉ nhánh git hiện tại.- Dán URL pull request vào ô tìm kiếm để tìm phiên đã tạo PR đó.
Rẽ nhánh để thử hướng khác
/branch thu-cach-streaming # trong phiên
claude --continue --fork-session # từ dòng lệnh
Rẽ nhánh sao chép hội thoại tới thời điểm đó rồi chuyển bạn sang bản sao; phiên gốc nguyên vẹn. Nếu resume cùng một phiên ở hai terminal mà không fork, tin nhắn hai bên sẽ trộn vào một transcript.
Lưu ở đâu, giữ bao lâu?
- Transcript lưu dạng JSONL tại
~/.claude/projects/<project>/<session-id>.jsonl. - Mặc định giữ 30 ngày, đổi bằng
cleanupPeriodDays. /exportxuất hội thoại dạng văn bản đọc được; định dạng JSONL là nội bộ, có thể đổi giữa các phiên bản nên đừng viết script đọc trực tiếp.
Rủi ro và lưu ý
- Resume phiên dài sau thời gian nghỉ tốn kém: cache đã hết hạn nên lượt đầu đọc lại toàn bộ; Claude Code có thể hỏi "Resume this conversation?" kèm ước lượng phần hạn mức sẽ dùng.
- Transcript chứa mọi thứ: code, output lệnh, có thể cả bí mật in ra terminal. Bảo vệ thư mục
~/.claude. - Phiên
-pvà SDK không hiện trong danh sách: resume bằng session ID.
Áp dụng thế nào?
- Dev: Đặt tên phiên theo ticket hoặc nhánh; cuối ngày dùng
/clearthay vì để phiên phình mãi, mai--resumenếu cần. - Tech Lead: Dùng
/branchtrước các quyết định thiết kế lớn để có đường lui. - PM:
/exportphiên điều tra sự cố làm tài liệu postmortem.
Nguồn & tham khảo
- Manage sessions — Claude Code Docs