การจัดการเซสชัน
ตั้งชื่อ ดำเนินต่อ แยก และสลับระหว่างการสนทนาของ Claude Code ครอบคลุม
--continue,--resume,--from-pr, ตัวเลือก/resume, การตั้งชื่อเซสชัน และตำแหน่งที่บันทึก transcript
เซสชันคือการสนทนาที่บันทึกไว้ซึ่งเชื่อมโยงกับไดเรกทอรีโปรเจกต์ Claude Code เก็บไว้ในเครื่องขณะที่คุณทำงาน เพื่อให้คุณกลับมาต่อจากที่ค้างไว้ แยกออกเพื่อลองวิธีอื่น หรือสลับระหว่างงานต่าง ๆ
หน้านี้ครอบคลุม CLI:
- ดำเนินต่อ การสนทนาก่อนหน้าด้วย flag, ชื่อ, หรือ PR
- ตั้งชื่อ เซสชันเพื่อค้นหาได้ในภายหลัง
- เรียกดู เซสชันด้วยตัวเลือก
/resume - แยก การสนทนาเพื่อลองวิธีอื่น
- ส่งออก transcript และค้นหาในดิสก์
ดำเนินต่อเซสชัน
เซสชันถูกบันทึกต่อเนื่องไปยัง ไฟล์ transcript ในเครื่อง ขณะที่คุณทำงาน ดังนั้นคุณสามารถกลับมาหลังจากออกหรือรัน /clear ใช้จุดเริ่มต้นเหล่านี้:
| คำสั่ง | ทำอะไร |
|---|---|
claude --continue | ดำเนินต่อเซสชันล่าสุดในไดเรกทอรีปัจจุบัน |
claude --resume | เปิดตัวเลือกเซสชัน |
claude --resume <name> | ดำเนินต่อเซสชันที่มีชื่อโดยตรง |
claude --from-pr <number> | ดำเนินต่อเซสชันที่เชื่อมโยงกับ pull request นั้น |
/resume | สลับไปยังการสนทนาอื่นจากภายในเซสชันที่ใช้งาน |
เซสชันที่สร้างด้วย claude -p หรือ Agent SDK จะไม่ปรากฏในตัวเลือกเซสชัน แต่คุณยังดำเนินต่อได้โดยส่ง session ID ไปยัง claude --resume <session-id>
ตำแหน่งที่ตัวเลือกเซสชันมอง
เซสชันถูกเก็บต่อไดเรกทอรีโปรเจกต์ ตัวเลือกเซสชันแสดงเซสชันแบบ interactive จาก worktree ปัจจุบัน รวมถึงเซสชันที่เริ่มที่อื่นที่เพิ่มไดเรกทอรีปัจจุบันด้วย /add-dir ใช้ Ctrl+W เพื่อขยายไปยัง worktrees ทั้งหมดของ repository หรือ Ctrl+A เพื่อขยายไปทุกโปรเจกต์ในเครื่องนี้
ตั้งชื่อเซสชัน
ตั้งชื่อที่สื่อความหมายให้เซสชันเพื่อให้ค้นหาได้ในตัวเลือกเซสชันและดำเนินต่อได้ด้วยชื่อ
| เมื่อใด | วิธีตั้งชื่อ |
|---|---|
| เมื่อเริ่มต้น | claude -n auth-refactor |
| ระหว่างเซสชัน | /rename auth-refactor |
| จากตัวเลือกเซสชัน | เน้นเซสชันและกด Ctrl+R |
| เมื่อยืนยัน plan | การยืนยัน plan ใน plan mode จะตั้งชื่อเซสชันจากเนื้อหา plan |
ใช้ตัวเลือกเซสชัน
รัน /resume ภายในเซสชัน หรือ claude --resume โดยไม่มีอาร์กิวเมนต์ เพื่อเปิดตัวเลือกเซสชันแบบ interactive ใช้ keyboard shortcuts เหล่านี้:
| Shortcut | การกระทำ |
|---|---|
↑ / ↓ | เลื่อนระหว่างเซสชัน |
→ / ← | ขยายหรือยุบกลุ่มเซสชัน |
Enter | ดำเนินต่อเซสชันที่เน้น |
Space | ดูตัวอย่างเนื้อหาเซสชัน |
Ctrl+R | เปลี่ยนชื่อเซสชันที่เน้น |
/ หรือตัวอักษรที่พิมพ์ได้ | เข้าโหมดค้นหาและกรองเซสชัน |
Ctrl+A | แสดงเซสชันจากทุกโปรเจกต์ในเครื่อง |
Ctrl+W | แสดงเซสชันจาก worktrees ทั้งหมดของ repository ปัจจุบัน |
Ctrl+B | กรองเซสชันจาก git branch ปัจจุบัน |
Esc | ออกจากตัวเลือกเซสชันหรือโหมดค้นหา |
แยกเซสชัน
การแยกสร้างสำเนาการสนทนาจนถึงปัจจุบันและสลับเข้าไป โดยปล่อยให้ต้นฉบับยังคงอยู่ ใช้เพื่อลองวิธีอื่นโดยไม่สูญเสียเส้นทางที่ดำเนินอยู่
จากภายในเซสชัน รัน /branch พร้อมชื่อที่เป็นตัวเลือก:
/branch try-streaming-approach
จาก command line รวม --continue หรือ --resume กับ --fork-session:
claude --continue --fork-session
เซสชันต้นฉบับไม่เปลี่ยนแปลงและยังคงพร้อมใช้งานในตัวเลือกเซสชัน สิทธิ์ที่คุณอนุมัติด้วย "allow for this session" จะไม่ถ่ายโอนไปยัง branch ใหม่
จัดการบริบทภายในเซสชัน
คำสั่งเหล่านี้ควบคุมสิ่งที่อยู่ในหน้าต่างบริบทโดยไม่ออกจากเซสชัน:
/clear: เริ่มต้นใหม่ด้วยบริบทว่างเปล่า การสนทนาก่อนหน้าบันทึกไว้และดำเนินต่อได้/compact [instructions]: แทนที่ประวัติด้วยสรุป/context: แสดงสิ่งที่กำลังใช้บริบทปัจจุบัน
ส่งออกและค้นหาข้อมูลเซสชัน
รัน /export เพื่อคัดลอกการสนทนาปัจจุบันไปยัง clipboard หรือบันทึกเป็นไฟล์ข้อความธรรมดา
Transcript ถูกเก็บเป็น JSONL ที่ ~/.claude/projects/<project>/<session-id>.jsonl ซึ่ง <project> มาจากเส้นทางไดเรกทอรีการทำงานของคุณ หากต้องการเก็บเซสชันในตำแหน่งอื่นนอกจาก ~/.claude ให้ตั้งค่า CLAUDE_CONFIG_DIR ไฟล์ในเครื่องเหล่านี้จะถูกลบหลังจาก 30 วันโดยค่าเริ่มต้น
ดูเพิ่มเติม
- Worktrees: รันเซสชันแบบ parallel ที่แยกได้บน branch ต่าง ๆ
- Checkpointing: ย้อนรหัสและการสนทนาไปยังจุดก่อนหน้า
- Context window: สิ่งที่เติมบริบทและสิ่งที่ยังคงอยู่หลัง compaction
- Non-interactive mode: พฤติกรรมเซสชันภายใต้
claude -p