Claude Code ล็อกอินได้ทีละบัญชีเดียว นี่คือวิธีรันหลายบัญชีพร้อมกัน

คู่มือจากหน้างานจริงสำหรับการรันบัญชีงานและบัญชีส่วนตัวบนเครื่องเดียวกัน: ตัวแปรสภาพแวดล้อมตัวเดียวที่ตัดสินว่าบัญชีไหนกำลังใช้งานอยู่ ทำไมวิธีผ่าน shell ถึงพังทันทีที่คุณเปิดเทอร์มินัลเกินสองหน้าต่าง และวิธีปักหมุดหนึ่งบัญชีต่อโปรเจกต์

มีช่วงเวลาหนึ่งที่เกิดขึ้นกับเกือบทุกคนที่ใช้ Claude Code ทั้งกับงานประจำและกับโปรเจกต์ของตัวเอง คุณปิดเซสชันงานเสร็จ สลับไปทำโปรเจกต์เสริม แล้วเพิ่งรู้ตัวว่าเอเจนต์ยังล็อกอินอยู่ด้วยบัญชีที่นายจ้างของคุณเป็นคนจ่าย คุณจึงล็อกเอาต์ ล็อกอินกลับเข้าไปใหม่ด้วยบัญชีตัวเอง แล้วอีกครึ่งชั่วโมงต่อมาก็ต้องทำย้อนกลับทั้งหมดอีกรอบ

วงจรแบบนี้ไม่ใช่ฟีเจอร์ที่ขาดหายไป มันคือผลลัพธ์ของตำแหน่งที่ Claude Code เก็บล็อกอินเอาไว้ และทันทีที่คุณรู้ว่าตำแหน่งนั้นอยู่ตรงไหน การรันหลายบัญชีข้างกันก็กลายเป็นแค่รายละเอียดของการตั้งค่า ไม่ใช่ปัญหาของเวิร์กโฟลว์อีกต่อไป

ตัวแปรสภาพแวดล้อมตัวเดียวตัดสินว่าบัญชีไหนกำลังใช้งานอยู่

Claude Code ไม่ได้เก็บข้อมูลรับรองไว้ในฐานข้อมูล หรือใน keyring ที่แยกรายการตามโปรไฟล์ มันอ่านทุกอย่างที่ต้องใช้จากไดเรกทอรีเดียว ทั้งข้อมูลรับรอง ข้อมูลเมตาของเซสชัน และประวัติต่อโปรเจกต์

ไดเรกทอรีนั้นคืออะไรก็ตามที่ CLAUDE_CONFIG_DIR ชี้ไป ถ้าคุณไม่เคยตั้งค่ามันเลย มันคือ ~/.claude

แผนภาพแสดงวิธีที่ Claude Code ระบุบัญชีที่ใช้งาน: ตัวแปรสภาพแวดล้อม CLAUDE_CONFIG_DIR ชี้ไปยังไดเรกทอรีเดียวที่บรรจุ credentials.json ข้อมูลเมตาของเซสชัน และประวัติของโปรเจกต์ โดยย้อนกลับไปใช้ค่าเริ่มต้น ~/.claude เมื่อไม่ได้ตั้งค่าตัวแปรนี้เอาไว้

นี่คือกลไกทั้งหมด และมันมีคุณสมบัติที่เป็นประโยชน์อยู่อย่างหนึ่ง เพราะบัญชีคือไดเรกทอรี ไม่ใช่การตั้งค่าระดับ global การมีสองบัญชีจึงหมายถึงการมีสองไดเรกทอรี ไม่มีอะไรถูกแชร์ระหว่างกัน ทั้งคู่ล็อกอินค้างอยู่ได้ไม่จำกัดเวลา และต่างฝ่ายต่างไม่รู้ว่าอีกฝ่ายมีอยู่

เวอร์ชันที่ตรงไปตรงมาที่สุดจึงใช้ได้จริง:

# ส่วนตัว
CLAUDE_CONFIG_DIR=~/.claude claude

# งาน
CLAUDE_CONFIG_DIR=~/.claude-work claude

รัน /login หนึ่งครั้งในตัวที่สอง แล้วคุณก็จะมีบัญชีที่ใช้งานได้จริงสองบัญชีบนเครื่องเดียว

จุดที่วิธีผ่าน shell เริ่มเจ็บ

เวอร์ชันสองบรรทัดข้างบนนั้นดีจริงถ้าคุณเปิดเทอร์มินัลทีละหน้าต่างและมีวินัยมากพอ มันเลิกดีด้วยเหตุผลสามข้อ และเหตุผลทั้งสามข้อทบกัน

ตัวแปรนี้เป็นค่าต่อโปรเซส ไม่ใช่ต่อเครื่อง ทุกเทอร์มินัลใหม่ ทุกเพนใหม่ ทุก shell ที่ฝังอยู่ในเอดิเตอร์ ล้วนเริ่มจากค่าเริ่มต้นในโปรไฟล์ของคุณ ถ้าคุณ export มันไว้ใน .zshrc คุณก็แค่ย้ายปัญหาไปที่อื่น ตอนนี้กลายเป็น บัญชีอีกตัว ต่างหากที่คุณลืมอยู่ตลอด

ไม่มีอะไรบอกคุณว่าบัญชีไหนกำลังใช้งานอยู่ Claude Code ไม่ได้แสดงชื่อบัญชีไว้ในพรอมต์ของมัน ถ้าคุณเปิดเทอร์มินัลสองหน้าต่างและหนึ่งในนั้นอยู่บนบัญชีงาน ทั้งสองหน้าต่างจะดูเหมือนกันทุกประการ ตอนที่คุณสังเกตเห็น มักเป็นตอนที่คุณเปิดดูใบเรียกเก็บเงินแล้ว

มันไม่รอดเมื่อเจอการทำงานขนาน เซตอัปที่น่าสนใจคือการรันเอเจนต์หลายตัวพร้อมกันบนหลายโปรเจกต์ พอคุณเลยจุดสองเซสชันพร้อมกันไปแล้ว การจำว่าเพนไหนถูกเปิดด้วยตัวแปรค่าไหนไม่ใช่ปัญหาเรื่องวินัยอีกต่อไป แต่เป็นปัญหาเรื่องการออกแบบ

แผนภาพเปรียบเทียบ: ด้านซ้ายคือการเลือกบัญชี Claude Code ด้วยการ export CLAUDE_CONFIG_DIR ในแต่ละเทอร์มินัล ซึ่งเทอร์มินัลที่สามไม่มีอะไรบ่งบอกให้เห็นเลยว่าบัญชีไหนกำลังใช้งานอยู่ ด้านขวาคือบัญชีที่ผูกติดอยู่กับโปรเจกต์พร้อมการเขียนทับต่อเอเจนต์ ซึ่งถูกระบุให้โดยอัตโนมัติตอนที่เอเจนต์ถูกสร้างขึ้น

ทางแก้ไม่ใช่การเขียน shell ให้มากขึ้น แต่คือการเลิกตัดสินใจตอนสั่งรัน แล้วหันมาผูกบัญชีเข้ากับสิ่งที่เป็นตัวกำหนดมันจริง ๆ นั่นคือโปรเจกต์

ผูกบัญชีไว้กับโปรเจกต์ ไม่ใช่กับเทอร์มินัล

สิ่งที่คุณต้องการจริง ๆ มักเป็นกฎ ไม่ใช่คำสั่ง อะไรทำนองว่า repository ของลูกค้ารายนี้ต้องรันบนบัญชีของลูกค้ารายนี้เสมอ พอกฎข้อนี้มีอยู่แล้ว ก็ไม่มีใครต้องจำอะไรอีก

การทำแบบนั้นให้ถูกต้องหมายถึงการระบุบัญชีตามลำดับที่นิยามไว้ชัดเจน เพราะกฎย่อมต้องมีข้อยกเว้น ค่าเริ่มต้นระดับโปรเจกต์ถูกต้องเกือบตลอดเวลา แต่เอเจนต์บางตัวอาจต้องไปรันที่อื่น เช่น การทดลองแบบใช้แล้วทิ้งบนบัญชีทดสอบ หรือเอเจนต์รีวิวบนสิทธิ์การใช้งานที่มีโควตาใหญ่กว่า

แผนภาพลำดับการระบุบัญชีสี่ระดับ: การเขียนทับระดับเอเจนต์เอาชนะการปักหมุดระดับโปรเจกต์ ซึ่งเอาชนะค่าเริ่มต้นของแอปพลิเคชัน ซึ่งจะย้อนกลับไปใช้ไดเรกทอรีค่าเริ่มต้นของระบบคือ ~/.claude

อ่านจากบนลงล่าง กฎข้อแรกที่ตรงคือกฎที่ชนะ การเขียนทับระดับเอเจนต์เอาชนะการปักหมุดระดับโปรเจกต์ การปักหมุดระดับโปรเจกต์เอาชนะค่าที่คุณตั้งไว้เป็นค่าเริ่มต้นทั่วไป ถ้าไม่ได้ตั้งค่าอะไรไว้เลยในทุกระดับ คุณจะไปจบที่ ~/.claude ซึ่งเป็นสิ่งที่การติดตั้งใหม่ทำอยู่แล้ว การย้อนกลับระดับสุดท้ายนี้สำคัญ มันแปลว่าการเพิ่มกลไกนี้เข้าไปในเซตอัปที่มีอยู่เดิมจะไม่เปลี่ยนอะไรเลย จนกว่าคุณจะปักหมุดอะไรสักอย่างอย่างชัดเจน

นี่คือโมเดลที่ AgentsRoom นำไปใช้จริง แต่ละบัญชีคือไดเรกทอรีที่ถูกจัดการให้ การล็อกอินเกิดขึ้นภายในแอปแทนที่จะเกิดใน shell และลำดับการระบุบัญชีข้างบนจะทำงานตอนที่เอเจนต์ถูกสร้างขึ้น โดยตั้งค่า CLAUDE_CONFIG_DIR ให้เฉพาะโปรเซสนั้นตัวเดียว ถ้าคุณใช้ตัวสลับบัญชีจากภายนอกอยู่แล้วอย่าง CCS คุณสามารถชี้บัญชีไปยังไดเรกทอรีโปรไฟล์ที่มีอยู่เดิมได้ แทนที่จะต้องล็อกอินใหม่

ปัญหาเดียวกันนี้มีอยู่บน Codex แค่คนละตัวแปร

ถ้าคุณใช้ผู้ให้บริการมากกว่าหนึ่งเจ้า คุณจะเจอเรื่องนี้สองรอบ รูปแบบของปัญหาเหมือนกันเป๊ะ แต่ตัวแปรไม่เหมือนกัน ตัวสลับบัญชีที่สร้างมาเพื่อเจ้าหนึ่งจึงครอบคลุมอีกเจ้าไม่ได้ เราแยกเอกสารฝั่ง Codex ไว้ต่างหากที่ หลายบัญชีสำหรับ Codex รวมถึงสิ่งที่ต่างออกไปในขั้นตอนการล็อกอินด้วย

ประเด็นรวมนี้ควรพูดให้ชัดสักครั้ง การแยกบัญชีเป็นกลไกที่ขึ้นอยู่กับผู้ให้บริการแต่ละราย เครื่องมือใดก็ตามที่อ้างว่าจัดการเรื่องนี้ได้แบบครอบจักรวาล ไม่ก็กำลังห่อผู้ให้บริการทีละรายอยู่ ไม่ก็รองรับอยู่แค่เจ้าเดียว

รู้ให้ได้ว่าบัญชีไหนกำลังเผาโทเค็นอยู่จริง

การแยกบัญชีเป็นเหตุผลแค่ครึ่งเดียวที่คนทำเรื่องนี้ อีกครึ่งคือการรู้ว่าการใช้งานไปตกอยู่ที่บัญชีไหน โดยเฉพาะเมื่อลูกค้าเป็นคนจ่าย

นี่คือส่วนที่พังอย่างเงียบ ๆ เมื่อใช้วิธีผ่าน shell เครื่องมืออ่านการใช้งานที่มองแค่ ~/.claude จะรายงานต่ำกว่าความจริงทันทีที่เอเจนต์ตัวหนึ่งไปรันที่อื่น และตัวเลขก็ดูสมเหตุสมผลมากพอจนไม่มีใครสังเกตเห็นเป็นสัปดาห์ ๆ เครื่องมืออ่านที่รู้จักบัญชีต้องวนอ่านทุกไดเรกทอรีที่ตั้งค่าไว้ ไม่ใช่แค่ไดเรกทอรีค่าเริ่มต้น

ถ้าคุณอยากได้ตัวเลขต่อบัญชีและต่อเซสชัน เราเขียนถึงฝั่งการวัดไว้แล้วใน วิธีตรวจสอบการใช้โทเค็น Claude Code ส่วนมุมมองแบบสดอยู่ที่ หน้าการใช้งานโทเค็น

สิ่งที่กลไกนี้ไม่ได้มีไว้ใช้

ขอชี้แจงหนึ่งเรื่อง เพราะคำถามนี้ถูกถามอยู่เรื่อย ๆ และมันสมควรได้คำตอบตรง ๆ มากกว่าความเงียบ

ทุกอย่างข้างบนนี้พูดถึง การแยกบัญชีที่มีอยู่อย่างถูกต้องอยู่แล้ว สิทธิ์การใช้งานที่นายจ้างของคุณจ่ายให้ กับการสมัครสมาชิกส่วนตัวที่คุณจ่ายเอง คือความสัมพันธ์ทางการค้าคนละอย่างกัน และการเก็บทั้งสองไว้บนเครื่องเดียวโดยไม่ปนเปื้อนข้ามกันคือความต้องการที่มีอยู่จริงและธรรมดามาก การเรียกเก็บโทเค็นของลูกค้าไปที่ลูกค้ารายนั้นก็เช่นกัน การกันบัญชีทดลองให้ห่างจากบัญชีโปรดักชันก็เช่นกัน

การสร้างบัญชีเพิ่มขึ้นมาเพื่อเลี่ยงขีดจำกัดความจุของแพลนที่คุณใช้อยู่เป็นคนละเรื่องกัน และนั่นคือสิ่งที่นโยบายการใช้งานเล็งเอาไว้ กลไกที่อธิบายไว้ตรงนี้ไม่ได้ทำให้เรื่องนั้นกลายเป็นเรื่องที่ยอมรับได้ และเครื่องมือที่ทำเรื่องนั้นให้เป็นอัตโนมัติก็เท่ากับกำลังช่วยคุณละเมิดข้อตกลงที่คุณเซ็นไปเอง ถ้าบัญชีที่สองของคุณมีอยู่เพราะมีคนอื่นเป็นคนจ่าย คุณยืนอยู่บนพื้นที่มั่นคง แต่ถ้ามันมีอยู่เพื่อรีเซ็ตขีดจำกัดอัตรา คุณไม่ได้ยืนอยู่ตรงนั้น นโยบายการใช้งานของ Anthropic คือสิ่งที่ต้องยึดเป็นหลัก ไม่ใช่บทความนี้

คำถามที่คนถามกันจริง ๆ

ใช้บัญชี Claude Code สองบัญชีบนคอมพิวเตอร์เครื่องเดียวกันได้ไหม?

ได้ Claude Code อ่านข้อมูลรับรอง ข้อมูลเมตาของเซสชัน และประวัติต่อโปรเจกต์จากไดเรกทอรีที่ CLAUDE_CONFIG_DIR ชี้ไป ซึ่งค่าเริ่มต้นคือ ~/.claude ชี้ตัวแปรนั้นไปยังไดเรกทอรีที่สองแล้วล็อกอินในนั้น คุณก็จะมีสองบัญชีที่แยกขาดจากกันบนเครื่องเดียวกัน ไม่มีอะไรถูกแชร์ระหว่างสองไดเรกทอรีนี้ ทั้งคู่จึงล็อกอินค้างอยู่พร้อมกันได้

จะสลับบัญชี Claude Code โดยไม่ต้องล็อกเอาต์ได้อย่างไร?

คุณไม่ต้องล็อกเอาต์เลย การล็อกเอาต์แล้วล็อกอินกลับเข้าไปใหม่คือการใช้ไดเรกทอรีเดิมซ้ำ คุณจึงต้องเสียเซสชันแรกไปเพื่อให้ได้เซสชันที่สองมา วิธีที่ถูกคือให้แต่ละบัญชีมีไดเรกทอรีคอนฟิกของตัวเอง แล้วเลือกระหว่างสองบัญชีด้วยการตั้งค่า CLAUDE_CONFIG_DIR ตอนเปิด CLI ข้อมูลรับรองทั้งสองชุดยังใช้ได้อยู่บนดิสก์ และการสลับไม่มีต้นทุนอะไรเลย

Claude Code เก็บล็อกอินไว้ที่ไหน?

อยู่ในไดเรกทอรีที่ CLAUDE_CONFIG_DIR ชี้ไป ซึ่งคือ ~/.claude ถ้าคุณไม่ได้เปลี่ยนมัน ตัวข้อมูลรับรองเองจะไปอยู่ในไฟล์ .credentials.json ภายในไดเรกทอรีนั้น ข้าง ๆ ข้อมูลเมตาของเซสชันและประวัติต่อโปรเจกต์ ไดเรกทอรีเดียวนั้นคือทั้งบัญชี นั่นคือเหตุผลที่การสลับไดเรกทอรีเป็นการสลับบัญชีที่สะอาด ไม่ใช่การแฮ็ก

เอเจนต์สองตัวรันบนบัญชี Claude คนละบัญชีพร้อมกันได้ไหม?

ได้ ตราบใดที่โปรเซสของเอเจนต์แต่ละตัวได้รับ CLAUDE_CONFIG_DIR ของตัวเองในสภาพแวดล้อมของมัน ตัวแปรนี้ถูกอ่านต่อโปรเซสตอนสั่งรัน ไม่ใช่อ่านแบบ global เอเจนต์สองตัวที่ถูกสั่งรันด้วยค่าคนละค่าจึงทำงานบนคนละบัญชีขนานกันได้ นี่คือสิ่งที่ทำให้โปรเจกต์งานกับโปรเจกต์ส่วนตัวใช้งานอยู่ในหน้าต่างเดียวกันได้

การมีบัญชี Claude มากกว่าหนึ่งบัญชีผิดข้อกำหนดของ Anthropic หรือไม่?

การถือบัญชีแยกกันเพื่อวัตถุประสงค์ที่ต่างกันเป็นเรื่องปกติ: สิทธิ์การใช้งานที่นายจ้างของคุณจ่ายให้ กับการสมัครสมาชิกส่วนตัวที่คุณจ่ายเอง คือความสัมพันธ์ทางการค้าคนละอย่างกัน สิ่งที่นโยบายการใช้งานเล็งเอาไว้คือการสร้างบัญชีขึ้นมาเพื่อเลี่ยงขีดจำกัดความจุของแพลนที่คุณใช้อยู่ ถ้าบัญชีที่สองของคุณมีอยู่เพราะมีคนอื่นเป็นคนจ่าย คุณยืนอยู่บนพื้นที่มั่นคง แต่ถ้ามันมีอยู่เพื่อรีเซ็ตขีดจำกัดอัตรา คุณไม่ได้ยืนอยู่ตรงนั้น นโยบายการใช้งานของ Anthropic คือสิ่งที่ต้องยึดเป็นหลัก

สรุปสั้น ๆ

Claude Code เก็บบัญชีในรูปของไดเรกทอรี และ CLAUDE_CONFIG_DIR เป็นตัวตัดสินว่าไดเรกทอรีไหนกำลังใช้งานอยู่ สองไดเรกทอรีหมายถึงสองบัญชีที่ล็อกอินค้างไว้ถาวร โดยไม่มีอะไรถูกแชร์ระหว่างกัน

เวอร์ชันที่ทำผ่าน shell ใช้ได้จนถึงตอนที่คุณเปิดเทอร์มินัลมากกว่าหนึ่งหน้าต่าง หลังจากนั้นสิ่งที่คุณต้องการคือให้บัญชีเป็นคุณสมบัติของโปรเจกต์ พร้อมการเขียนทับต่อเอเจนต์ไว้รองรับข้อยกเว้น เพื่อให้ข้อมูลรับรองที่ถูกต้องถูกผูกเข้าไปตั้งแต่ตอนที่เอเจนต์ถูกสร้างขึ้น และไม่มีใครต้องจำอะไรอีกเลย

ดาวน์โหลด AgentsRoom

เรียกใช้ AI agents ของคุณ (Claude, Codex, Antigravity CLI, OpenCode, Aider, Grok Build, Mistral Vibe, Kimi Code) ในทุกโปรเจกต์ของคุณจากหน้าต่างเดียว

ฟรีดาวน์โหลด AgentsRoom

แอปคู่หู: ตรวจสอบตัวแทนของคุณได้ทุกที่

นำของคุณเอง: Claude, Codex, Antigravity CLI, หรือผู้ให้บริการ AI อื่น ๆ

รับส่วนขยาย
Chrome Web Store

ส่งข้อบกพร่องและคำขอไปยังแบ็คล็อกสาธารณะของคุณโดยตรง

มองเห็น AgentsRoom ในการทำงาน

หลายโปรเจกต์
ผู้ให้บริการหลายราย
หลาย agents
สถานะสด
ไฟล์ diff & commit
คู่หูมือถือ
ตัวอย่างสด
ทีมตัวแทน
การทำงานอัตโนมัติในเบราว์เซอร์
การพัฒนาที่ขับเคลื่อนด้วย backlog
ห้องสมุดคำสั่ง
ห้องสมุดทักษะ
ดูฟีเจอร์ทั้งหมด

อ่านต่อ