Claude Code ใช้ API key แทนการสมัครสมาชิกได้หรือไม่
Claude Code ใช้ Anthropic API key ได้โดยไม่ต้องมีสมาชิก Claude และเรียกเก็บเงินแยกกัน ใช้คำสั่ง `/status` เพื่อตรวจสอบเซสชันและดูวิธีสลับ
เซสชัน Claude Code ของคุณกำลังใช้ข้อมูลรับรองใด?
การเข้าสู่ระบบ Claude Code ทำได้ 2 วิธี คุณลงชื่อเข้าใช้ด้วยบัญชีที่มี subscription ของ Claude จาก claude.ai หรือยืนยันตัวตนกับองค์กรใน Anthropic Console ซึ่งจะเรียกเก็บการใช้ token จากบัญชี API (application programming interface) ขององค์กรนั้น แทนการเรียกเก็บตามแผนของคุณ เรียกใช้ /status ภายในเซสชันที่กำลังทำงาน เพื่อดูว่าขณะนี้ใช้วิธีใดอยู่ แท็บ Status จะแสดงแถว Login method สำหรับบัญชีที่คุณลงชื่อเข้าใช้ และจะแสดงแถว API key เพิ่มเติมเมื่อ credential มาจาก API key แทน
เครื่องมือนี้อยู่ภายใต้แผนของคุณหรือไม่เป็นอีกคำถามหนึ่ง คำตอบอยู่ใน Claude Code รวมอยู่ใน Claude Pro subscription หรือไม่ ส่วนกลไกการใช้ key กับ Claude API อธิบายไว้ใน การยืนยันตัวตนของ Claude API ทำงานอย่างไร เนื้อหาต่อไปนี้ครอบคลุมส่วนที่ทั้งสองหัวข้อไม่ได้อธิบายไว้ ได้แก่ เซสชันเลือก credential ใดจริง และวิธีเปลี่ยน credential นั้น
พฤติกรรมที่อธิบายด้านล่างอ้างอิงจาก เอกสารการยืนยันตัวตนของ Claude Code ของ Anthropic ซึ่งอ่านเมื่อ 31 October 2026 Claude Code มีการออกเวอร์ชันใหม่บ่อยครั้ง และพฤติกรรมหลายรายการระบุเวอร์ชันขั้นต่ำไว้ ดังนั้นให้เรียกใช้ claude --version ก่อนสรุปว่าเครื่องของคุณทำงานผิดปกติ
บัญชี 2 บัญชีที่ใช้ที่อยู่อีเมลเดียวกันได้
บัญชี claude.ai และบัญชี Claude Console ที่ platform.claude.com เป็นคนละบัญชีกัน ทั้งสองบัญชีใช้ที่อยู่อีเมลเดียวกันได้ และยังคงเป็นการเข้าสู่ระบบคนละรายการ โดยมียอดคงเหลือแยกกันและอยู่ในคนละองค์กร การสร้างบัญชีหนึ่งไม่ได้สร้างอีกบัญชีหนึ่ง การเติมเงินให้องค์กรใน Console จะไม่เพิ่มสิทธิ์ใด ๆ ให้กับแผนของคุณ
กรณีตรงกันข้ามมีข้อยกเว้น 1 กรณี ซึ่งตรวจสอบเมื่อวันที่ 31 October 2026 ขณะนี้แผน Max และ Ultra รวมเครดิต API รายเดือน โดยให้ $100 และ $200 ต่อเดือนตามลำดับ ส่วนแผน Team ได้รับเครดิตแบบรวม เครดิตเหล่านี้จะไปถึงองค์กรใน Console ได้ก็ต่อเมื่อคุณเชื่อมโยงองค์กรจากการตั้งค่าการเรียกเก็บเงินใน claude.ai และเครดิตดังกล่าวไม่ครอบคลุม Claude Code แบบโต้ตอบ เอกสารแพลตฟอร์มของ Anthropic ระบุว่า Claude Code ไม่อยู่ในขอบเขตความคุ้มครอง และศูนย์ช่วยเหลือระบุข้อยกเว้นไว้เฉพาะการรัน claude -p ที่ใช้ API key จากองค์กรที่เชื่อมโยงเท่านั้น ดังนั้นเซสชันแบบโต้ตอบที่เรียกเก็บเงินจากองค์กรซึ่งมีเฉพาะเครดิตเหล่านี้จึงล้มเหลวด้วย Credit balance too low
ยอดคงเหลือต่างกันเพราะรูปแบบการเรียกเก็บเงินต่างกัน การเข้าสู่ระบบด้วย subscription จะใช้โควตาการใช้งานของแผน ซึ่งใช้ร่วมกับ Claude บนเว็บและมีขีดจำกัดรายสัปดาห์ แผน Pro และ Max ยังมีขีดจำกัดเซสชัน 5 ชั่วโมง ส่วนบัญชี Ultra ที่ผ่านการยืนยันไม่มีขีดจำกัด 5 ชั่วโมง และบัญชี Ultra ที่ยังไม่ผ่านการยืนยันมีขีดจำกัดชั่วคราว ในแผน Max และ Ultra นั้น Fable มีขีดจำกัดย่อย 50% ของโควตารายสัปดาห์ปกติ และใช้โควตาเดียวกันนี้เร็วกว่ารุ่น Claude อื่น ๆ ข้อมูลรับรองของ Console จะเรียกเก็บเงินตามจำนวน token จากองค์กร และตัวเลขอ้างอิงอยู่ที่หน้า usage ของ Console ความแตกต่างด้านค่าใช้จ่ายเมื่อทำงานจริงเป็นหัวข้อของ การจ่ายเงินตามจำนวน token เทียบกับการจ่ายค่า subscription
ประเภทบัญชีหนึ่งไม่สามารถใช้เส้นทาง subscription ได้เลย Anthropic ระบุประเภทบัญชีที่ใช้เข้าสู่ระบบได้ ได้แก่ subscription ของ Pro, Max หรือ Ultra, seat ของ Claude for Teams หรือ Enterprise, บัญชี Claude Console, cloud provider และ Cloud gateway ซึ่งหมายถึง gateway สำหรับแอป Claude แบบ self-hosted ที่องค์กรของคุณเป็นผู้ดูแล และคุณเข้าสู่ระบบด้วย corporate SSO (single sign-on) ผ่าน /login บัญชี claude.ai แบบฟรีไม่อยู่ในรายการดังกล่าว ดังนั้นผู้ใช้แผนฟรีจึงไม่มีข้อมูลรับรอง subscription สำหรับเข้าสู่ระบบ และ สิ่งที่ Claude ระดับฟรีมีและไม่มี ไม่ได้ครอบคลุมเครื่องมือบรรทัดคำสั่ง เส้นทางที่เหลือคือการใช้องค์กรใน Console ที่มีเครดิต API ซึ่งเป็นบัญชีแบบชำระเงินที่มีลักษณะแตกต่างกัน
วิธีที่หนึ่ง: ลงชื่อเข้าใช้ด้วยการสมัครสมาชิก Claude ของคุณ
รัน claude ในไดเรกทอรีของโปรเจกต์ ในการเปิดใช้งานครั้งแรก ระบบจะเปิดหน้าต่างเบราว์เซอร์เพื่อให้คุณลงชื่อเข้าใช้ด้วยบัญชี claude.ai ที่มีแผนการใช้งานของคุณอยู่
claudeการทำงานบนเซิร์ฟเวอร์จะมีข้อแตกต่างอยู่สองประการ หากเบราว์เซอร์ไม่เปิดขึ้นมา ให้กด c เพื่อคัดลอก URL สำหรับเข้าสู่ระบบไปยังคลิปบอร์ดของคุณ แล้วนำไปวางในเบราว์เซอร์บนเครื่องของคุณเอง หากเบราว์เซอร์นั้นแสดงรหัสเข้าสู่ระบบแทนที่จะส่งคุณกลับไปยังเทอร์มินัล ให้วางรหัสนั้นลงในช่องรับข้อมูลที่ปรากฏขึ้น กรณีที่สองนี้เป็นเรื่องปกติเมื่อใช้งานผ่าน SSH (secure shell), ใน WSL2 และภายในคอนเทนเนอร์ เนื่องจากเบราว์เซอร์ไม่สามารถเข้าถึง local callback server ที่ Claude Code เริ่มทำงานไว้บนเครื่องระยะไกลได้
เมื่อการลงชื่อเข้าใช้เสร็จสิ้น ให้ตรวจสอบสถานะแทนการคาดเดา เริ่มเซสชันแล้วรัน /status แท็บ Status จะแสดงวิธีการลงชื่อเข้าใช้ รวมถึงชื่อองค์กรและที่อยู่อีเมลที่บันทึกไว้ /login ใช้สำหรับเริ่มขั้นตอนการลงชื่อเข้าใช้อีกครั้งด้วยบัญชีอื่น และ /logout ใช้สำหรับลบข้อมูลรับรองที่จัดเก็บไว้ การออกจากระบบจะรีเซ็ตสถานะการตั้งค่าครั้งแรกด้วย ดังนั้นการรัน claude ในครั้งถัดไปจะนำคุณเข้าสู่ขั้นตอนการเริ่มต้นใช้งานใหม่อีกครั้ง
การทราบตำแหน่งที่จัดเก็บข้อมูลรับรองมีความสำคัญเมื่อคุณต้องสร้างเซิร์ฟเวอร์ใหม่หรือส่งมอบเซิร์ฟเวอร์ให้ผู้อื่น:
- Linux:
~/.claude/.credentials.json, โหมดไฟล์0600 - macOS: ใช้ Keychain ที่มีการเข้ารหัส เมื่อ Keychain ปฏิเสธการเขียนข้อมูล ซึ่งมักเกิดขึ้นเมื่อถูกล็อกในเซสชัน SSH, Claude Code จะเปลี่ยนไปใช้ไฟล์
0600แทน การล็อกอินผ่าน Console ที่สร้าง API key จะไม่ใช้กลไกสำรองนี้และจะล้มเหลวหาก Keychain ไม่สามารถเขียนข้อมูลได้ - Windows:
%USERPROFILE%\.claude\.credentials.jsonโดยถูกจำกัดสิทธิ์ไว้เฉพาะผู้ใช้ของคุณผ่านการควบคุมการเข้าถึงของไดเรกทอรีโปรไฟล์ - แพลตฟอร์มใดก็ตามที่มีการตั้งค่า
CLAUDE_CONFIG_DIR: ไฟล์จะถูกย้ายไปอยู่ภายใต้ไดเรกทอรีนั้น และรายการใน macOS Keychain จะถูกผูกไว้กับไดเรกทอรีดังกล่าว ดังนั้นเซสชันที่เริ่มด้วยCLAUDE_CONFIG_DIRที่ต่างกันจะอ่านข้อมูลรับรองที่ต่างกัน
Claude Code จัดการไฟล์ดังกล่าวผ่าน /login และ /logout การแก้ไขไฟล์ด้วยตนเองไม่ใช่วิธีที่รองรับสำหรับการสลับบัญชีผู้ใช้
เส้นทางที่ 2: ยืนยันตัวตนกับองค์กรใน Console
การเข้าถึง Console ต้องเริ่มจากผู้ดูแลระบบ ผู้ดูแลจะเชิญคุณจาก Console โดยไปที่ Settings จากนั้น Members แล้วเลือก Invite ผู้ดูแลยังกำหนด role ให้คุณด้วย โดย role Claude Code สร้างได้เฉพาะ Claude Code API keys ส่วน role Developer สร้าง key ได้ทุกประเภท จากนั้นให้เลือกบัญชี Anthropic Console ที่พรอมต์ /login
ตั้งแต่ Claude Code v2.1.242 เป็นต้นมา Console มี 2 เส้นทาง และแต่ละเส้นทางจัดเก็บข้อมูลต่างกัน การลงชื่อเข้าด้วยบัญชี Console จะเก็บ OAuth (open authorisation) token จากการลงชื่อเข้าใช้ผ่าน browser นั้นไว้เป็น Anthropic profile และจะไม่สร้าง API key เลย Claude Code จะ refresh การลงชื่อเข้าใช้ดังกล่าวโดยอัตโนมัติ หากการ refresh ล้มเหลว คำขอจะล้มเหลวจนกว่าคุณจะลงชื่อเข้าใช้อีกครั้ง การลงชื่อเข้าใช้แบบไม่ใช้ key นี้ยังทำให้คุณออกจากระบบ claude.ai ที่จัดเก็บไว้ในเครื่องด้วย ส่วนการสร้าง API key ซึ่งพรอมต์ระบุว่าเป็น legacy จะสร้าง Console key และจัดเก็บไว้ร่วมกับ credentials อื่นของคุณ static key จะไม่ refresh จึงใช้งานต่อได้จนกว่าจะมีผู้ revoke เหมาะสำหรับ build server แต่เป็นความเสี่ยงบน laptop
Unset ANTHROPIC_API_KEY ก่อนเริ่มการลงชื่อเข้าใช้ Console แบบไม่ใช้ key หากตั้งค่าตัวแปรดังกล่าวไว้ Claude Code จะข้ามพรอมต์ลงชื่อเข้าใช้ทั้งหมด และขอให้คุณอนุมัติ key ที่พบแทน
คุณอาจไม่มีตัวเลือกนี้เสมอไป Claude Code จะสร้าง key โดยไม่ถามเมื่อ session ทำงานกับ cloud provider เมื่อ settings file ใดก็ตามตั้งค่า forceLoginOrgUUID หรือกำหนด forceLoginMethod เป็น "claudeai" หรือเมื่อมี managed settings source อยู่ในเครื่อง แต่ Claude Code อ่านไม่ได้ และไม่มี managed source อื่นจัดเตรียม policy ให้ หากตั้งค่า forceLoginMethod เป็น "console" เพียงอย่างเดียว การลงชื่อเข้าใช้ที่ล้มเหลวจะมีตัวเลือก retry ซึ่งทำให้คุณเลือกวิธีแบบไม่ใช้ key ได้ การตั้งค่าเหล่านี้เป็นการตัดสินใจของผู้ดูแลระบบ ดังนั้นหากตัวเลือกแบบไม่ใช้ key ไม่ปรากฏ ให้สอบถามผู้ที่ดูแล fleet /status ยังพิมพ์บรรทัด Setting sources ซึ่งระบุชื่อ settings file ทุกไฟล์ที่ session โหลด และจะระบุ managed source ด้วยหากมีผลกับคุณ ข้อจำกัดการลงชื่อเข้าใช้ที่ผู้ดูแลกำหนดยังบล็อก session ที่ใช้ ANTHROPIC_API_KEY, ANTHROPIC_AUTH_TOKEN หรือ apiKeyHelper ด้วย ให้ลบ credentials เหล่านั้น แล้วใช้วิธีลงชื่อเข้าใช้ที่กำหนด
ครั้งแรกที่คุณยืนยันตัวตน Claude Code กับองค์กรใน Console, Console จะสร้าง workspace ชื่อ "Claude Code" ให้ workspace นี้มีไว้เพื่อให้ติดตามค่าใช้จ่ายของ Claude Code ได้จากที่เดียว และคุณจะสร้าง API keys ภายใน workspace นี้ไม่ได้
เหตุใด ANTHROPIC_API_KEY จึงมีผลหลังจากคุณ login แล้ว
Claude Code จะไม่ถามว่าคุณต้องการใช้ credential ใด แต่จะตรวจสอบแหล่งต่าง ๆ ตามลำดับที่กำหนดไว้ตายตัว และใช้แหล่งแรกที่พบ ตามเอกสารในเดือน October 2026 ลำดับดังกล่าวคือ:
- credential ของ cloud provider เมื่อมีการตั้งค่า
CLAUDE_CODE_USE_BEDROCK,CLAUDE_CODE_USE_VERTEXหรือCLAUDE_CODE_USE_FOUNDRY ANTHROPIC_AUTH_TOKENซึ่งส่งเป็น headerAuthorization: Bearerสำหรับ gateway ที่ยืนยันตัวตนด้วย bearer tokenANTHROPIC_API_KEYซึ่งส่งเป็น headerX-Api-Key- ผลลัพธ์จากสคริปต์
apiKeyHelperที่ระบุไว้ใน settings file CLAUDE_CODE_OAUTH_TOKENซึ่งเป็น token อายุยาวจากclaude setup-token- credential ของ Anthropic profile และ federation ซึ่งเป็น credential ที่
antCLI และ Workload Identity Federation ใช้ - credential ของ subscription ที่
/loginเขียนไว้
มีข้อยกเว้น 2 ประการที่เกี่ยวข้องกับลำดับนี้ profile จะอยู่ที่ลำดับ 6 เมื่อคุณระบุ profile นั้นใน ANTHROPIC_PROFILE เมื่อมีการตั้งค่า federation variables หรือเมื่อ profile ที่กำลังใช้งานเป็น profile ของ Workload Identity Federation ส่วน profile ที่กำลังใช้งานในโหมด user_oauth ซึ่งเป็นประเภทที่ ant auth login หรือการ login แบบ keyless ผ่าน Console เขียนไว้ จะอยู่หลัง credential /login ที่ใช้งานได้แทน และ session ของ Claude apps gateway ที่ login แล้วจะอยู่นอกลำดับนี้ทั้งหมด โดยมีลำดับความสำคัญเหนือกว่าทุกแหล่ง รวมถึงตัวแปรของ cloud provider ด้วย เมื่อ managed settings ของผู้ดูแลระบบบังคับให้ login ผ่าน gateway และไม่มีการเลือก cloud provider ผ่าน environment variable, Claude Code จะข้ามแหล่งอื่นและขอให้คุณ login ผ่าน /login
ข้อยกเว้นเหล่านี้ไม่ช่วยให้ subscription ของคุณมีลำดับเหนือกว่า key ที่ export ไว้ หากไม่มี gateway หรือข้อจำกัดจาก managed login ทุกอย่างตั้งแต่ลำดับ 1 ถึงลำดับ 5 จะมีลำดับเหนือกว่า account ที่คุณ login ไว้ ดังนั้น ANTHROPIC_API_KEY ที่ถูก export ไว้ที่ใดก็ตามใน process environment จะถูกใช้ และ session จะคิดค่าใช้จ่ายกับ Console organisation ทั้งที่คุณเข้าใจว่ากำลังใช้แผนของตนเองอยู่ ระบบไม่ได้ทำงานผิด ลำดับดังกล่าวทำงานตามที่ระบุไว้ Claude Code จะแสดงการแจ้งเตือนหลัง login เมื่อ credential ทั้ง 2 รายการกำลังใช้งาน เพื่อเตือนว่าอาจเกิดค่าใช้จ่าย API ที่ไม่คาดคิด
มี 2 รายละเอียดที่ทำให้ตรวจพบเรื่องนี้ได้ยาก ใน interactive session, Claude Code จะถามเพียงครั้งเดียวว่าจะใช้ key ที่พบหรือไม่ และจะจดจำคำตอบของคุณ ดังนั้นตัวเลือกที่คุณเลือกไว้เมื่อเดือนก่อนยังคงมีผลในวันนี้ ใน non-interactive mode ที่ใช้ -p จะไม่มี prompt และระบบจะใช้ key ทุกครั้งที่มี key ดังกล่าว -p คือโหมดที่ cron job หรือขั้นตอน CI (continuous integration) ทำงาน ดังนั้น unattended job จึงเป็นกรณีที่ credential ผิดอาจถูกใช้งานโดยไม่มีใครสังเกตเห็นเป็นเวลานานที่สุด
คุณสามารถตรวจสอบจากหน้าจอภายใน session ได้อย่างรวดเร็ว ขณะที่ตั้งค่า ANTHROPIC_API_KEY ไว้ /config จะแสดง toggle "Use custom API key" toggle นี้จะแสดงเฉพาะขณะที่มีการตั้งค่าตัวแปรดังกล่าว ดังนั้นหากไม่พบ toggle แสดงว่าตัวแปรนั้นไม่ได้ถูกตั้งค่าใน session
ค้นหา key ที่ตกค้างบนเซิร์ฟเวอร์
key ที่ export ไว้จะคงอยู่ในหลายตำแหน่ง ไม่ได้อยู่เฉพาะใน shell profile:
~/.bashrc,~/.bash_profile,~/.profileหรือ~/.zshrcซึ่ง shell ที่ login ใหม่ทุกครั้งจะอ่าน- systemd unit ผ่าน
Environment=หรือEnvironmentFile=สำหรับสิ่งที่คุณเรียกใช้เป็น service - tmux server ซึ่งเก็บสำเนาของ environment ที่ใช้เริ่มต้นไว้ pane ที่เปิดวันนี้อาจรับตัวแปรที่คุณลบออกจาก profile เมื่อสัปดาห์ก่อนได้ เพราะ server ทำงานมาตั้งแต่ก่อนแก้ไข
- container image หรือคำจำกัดความของ CI job ซึ่งตั้งค่าตัวแปรไว้นอกไฟล์ที่คุณอ่านได้จากภายใน shell
- block
envของไฟล์ settings ของ Claude Code ซึ่งเป็น settings key ปกติและใช้ลำดับ precedence เดียวกับ settings อื่น
ตรวจสอบตำแหน่งเหล่านี้ก่อนดำเนินการอื่น:
[ -n "$ANTHROPIC_API_KEY" ] && echo "ANTHROPIC_API_KEY is set" || echo "not set"
env | grep -E '^(ANTHROPIC_|CLAUDE_CODE_)' | cut -d= -f1
grep -n 'ANTHROPIC_API_KEY' ~/.bashrc ~/.bash_profile ~/.profile ~/.zshrc 2>/dev/null
tmux show-environment 2>/dev/null | grep ANTHROPIC
grep -n 'ANTHROPIC_API_KEY\|apiKeyHelper' ~/.claude/settings.json .claude/settings.json .claude/settings.local.json 2>/dev/nullคำสั่งที่สอง pipe ผ่าน cut โดยตั้งใจ เพื่อให้แสดงเฉพาะชื่อตัวแปรและไม่แสดงค่า secret บนหน้าจอที่อาจมีการแชร์หรือบันทึกอยู่ คำสั่งแรกตรวจสอบ shell นี้ หากแสดงว่ามีการตั้งค่าตัวแปรไว้ claude ถัดไปจะรับค่าตัวแปรนั้น แต่ settings สามารถ override ค่าได้ และ interactive session จะจดจำว่าคุณอนุมัติไว้หรือไม่ หากผลลัพธ์เป็น not set และคำสั่งที่เหลือไม่พบรายการใด ก็ยังไม่ตัดความเป็นไปได้ว่ามี credentials อยู่ใน settings file อื่นหรือแหล่งข้อมูลที่มีลำดับสูงกว่า /status ยืนยันค่าที่ session เลือกใช้
เพิ่ม systemctl cat your-unit.service | grep -i environment สำหรับ service ใดก็ตามที่เรียกใช้ Claude Code เนื่องจาก unit file กำหนด environment ของตนเองและจะไม่อ่าน shell profileของคุณ
การสลับ session จาก credential หนึ่งไปยังอีก credential หนึ่ง
หากต้องการกลับไปใช้ subscription ของคุณ:
unset ANTHROPIC_API_KEY
[ -n "$ANTHROPIC_API_KEY" ] && echo "still set" || echo "clear"
claudeรอให้ clear แสดงขึ้น จากนั้นเรียกใช้ /status ใน session ใหม่ และยืนยันว่า subscription ของคุณเป็น credential ที่กำลังใช้งานอยู่ เมื่อกำหนดทั้ง login และ API key ไว้ /status จะระบุรายการที่ไม่ได้ใช้งาน การยกเลิกการตั้งค่าตัวแปรใน shell ไม่มีผลต่อกระบวนการ Claude Code ที่กำลังทำงานอยู่แล้ว เพราะกระบวนการจะเก็บ environment ที่ได้รับตอนเริ่มทำงานไว้ ให้เริ่ม session ใหม่
จากนั้นลบคำสั่ง export ออกจากไฟล์ที่ตั้งค่าดังกล่าว มิฉะนั้น login shell ครั้งถัดไปจะเพิ่มค่ากลับมาอีก ภายใน tmux การใช้ tmux set-environment -u ANTHROPIC_API_KEY จะล้างค่าดังกล่าวสำหรับ pane ที่เปิดหลังจากจุดนั้นใน session แต่ pane ที่เปิดอยู่ก่อนแล้วจะยังคงมีค่าของตนเอง
หากต้องการสลับกลับอีกทาง ให้ตั้งค่า ANTHROPIC_API_KEY ใน environment หรือเรียกใช้ /login แล้วเลือกบัญชี Console หากต้องการล้าง login ที่บันทึกไว้อย่างสมบูรณ์ ให้เรียกใช้ /logout หลังจาก sign-in เข้า Console โดยไม่ใช้ key แล้ว /logout จะลบและเพิกถอน credential ที่ sign-in ดังกล่าวบันทึกไว้
หาก /status ยังไม่ตรงกับที่คาดไว้ ให้เรียกใช้ claude doctor คำสั่งนี้จะแสดงรายการ settings ที่ Claude Code ปฏิเสธ ซึ่งช่วยตรวจพบ settings file ที่ parse ไม่สำเร็จและจึงไม่มีผลบังคับใช้เลย
การยืนยันตัวตนในกรณีที่ไม่มี browser
claude setup-token เปิด flow การอนุญาตผ่าน browser แบบเดียวกับ /login และแสดง OAuth token ที่มีอายุหนึ่งปีใน terminal
claude setup-tokenระบบจะไม่บันทึก token ไว้ที่ใด ดังนั้นให้คัดลอก token ทันทีที่แสดงขึ้นมา แล้วกำหนดเป็น CLAUDE_CODE_OAUTH_TOKEN บนเครื่องที่ต้องใช้ token นี้ Token จะยืนยันตัวตนด้วย subscription ของคุณ จึงต้องใช้แผน Pro, Max, Ultra, Team หรือ Enterprise และใช้ส่งคำขอไปยัง model ได้เท่านั้น Bare mode จะไม่อ่านค่า token นี้ ดังนั้นสคริปต์ที่ส่ง --bare ต้องใช้ ANTHROPIC_API_KEY หรือ apiKeyHelper แทน
ลำดับความสำคัญมีผลในกรณีนี้เช่นกัน หาก CLAUDE_CODE_OAUTH_TOKEN อยู่ใน shell profile การเรียกใช้ /login จะเปลี่ยน session ปัจจุบันไปใช้ login ใหม่ และทุก session ใหม่จะอ่านตัวแปรนี้อีกครั้งจนกว่าคุณจะลบออก
หากองค์กรของคุณเรียกใช้ inference ผ่าน Amazon Bedrock, Google Cloud หรือ Microsoft Foundry credentials เหล่านั้นจะอยู่ลำดับแรก และจะไม่มีการ login ผ่าน browser การตั้งค่านี้เป็นงานแยกต่างหาก ซึ่งอธิบายไว้ใน การเรียกใช้ Claude Code กับ Bedrock หรือ Vertex
ปัญหาเหล่านี้มักเกิดกับ session ที่ทำงานต่อเนื่องเป็นเวลานานบน VPS (virtual private server) เพราะ shell ที่ใช้เริ่ม session อาจถูกตั้งค่าไว้หลายเดือนก่อนและยังไม่เคย restart ตั้งแต่นั้น การเรียกใช้ Claude Code บน VPS ภายใน tmux อธิบายส่วนที่เกี่ยวกับ session ของการตั้งค่านี้
ตรวจสอบว่า credential แต่ละรายการใช้จ่ายจริงเท่าใด
สำหรับการเข้าสู่ระบบด้วย subscription, /usage จะแสดงแถบการใช้งานตามแผนและแจกแจงว่าการใช้งานถูกใช้ไปกับรายการใด ตัวเลขดอลลาร์ในบล็อก Session คำนวณภายในเครื่องจากจำนวน token ตามราคาปลีก หรือใช้อัตราที่องค์กรทำสัญญาไว้เมื่อผู้ดูแลระบบกำหนดตาราง modelPricing ไว้ในการตั้งค่าแบบ managed ซึ่งกรณีนี้บรรทัด Total cost จะแจ้งไว้ ไม่ว่ากรณีใด ให้ถือว่าตัวเลขนี้เป็นค่าประมาณสำหรับผู้ใช้ API ไม่ใช่ใบเรียกเก็บเงิน ผู้สมัครสมาชิกควรดูแถบการใช้งาน ไม่ใช่ตัวเลขดอลลาร์
สำหรับ credential ของ Console ตัวเลขที่ใช้ตรวจสอบจริงจะอยู่ใน Console ได้แก่หน้าการใช้งานสำหรับค่าใช้จ่าย และแดชบอร์ด Claude Code สำหรับตัวเลขแยกตามสมาชิก สิ่งที่แสดงใน terminal ไม่ใช่ข้อมูลอ้างอิงที่มีผลต่อการเรียกเก็บเงินนี้
หากแถบการใช้งานตามแผนไม่ขยับขณะทำงาน อาจมี credential จาก environment ถูกเลือกใช้งานก่อน และ /status จะยืนยันกรณีนี้ได้ ข้อยกเว้นคือแถบที่เต็มอยู่แล้ว: session แบบ subscription สามารถใช้งานต่อเกินขีดจำกัดที่รวมอยู่ในแผนได้โดยใช้ usage credits ซึ่ง Anthropic จะเรียกเก็บตามอัตรามาตรฐานของ API และแถบจะไม่ขยับระหว่างนั้น หากมีหมายเหตุ Showing last-known usage ก็เป็นคำอธิบายได้เช่นกัน: /usage กำลังแสดงข้อมูลย้อนหลังจาก 60 นาทีที่ผ่านมา เพราะไม่สามารถดึงขีดจำกัดล่าสุดได้ ให้กด r เพื่อลองใหม่ นอกเหนือจากกรณีเหล่านี้ แถบที่ไม่ขยับเป็นสัญญาณที่ชัดเจนที่สุดว่า credential ที่ใช้งานอยู่อาจไม่ใช่รายการที่ต้องการ และ การติดตามว่า session ของ Claude Code ใช้จ่ายเท่าใด จะอธิบายวิธีวัดเพิ่มเติม หากแถบขยับแล้วหยุด แสดงว่าใช้งานถึงขีดจำกัดของแผนแทน ซึ่ง วิธีทำงานของขีดจำกัดการใช้งาน Claude และช่วงเวลารีเซ็ต อธิบายรายละเอียดไว้
รูปแบบความล้มเหลวและสิ่งที่ควรตรวจสอบ
ทุกอย่างทำงานปกติ แต่การใช้งานตามแผนของคุณไม่มีการเปลี่ยนแปลง โดยปกติแล้วอาจมี credential ใน environment ทำงานอยู่ /status จะแสดงแถว API key และการตรวจสอบ shell ด้านบนจะแสดงตัวแปรดังกล่าว หากไม่พบทั้งสองอย่างและแถบสถานะของคุณยังคงอยู่ที่ขีดจำกัด แสดงว่าเซสชันได้เปลี่ยนไปใช้เครดิตการใช้งานซึ่งคิดค่าบริการตามอัตรา API มาตรฐาน โดยค่าใช้จ่ายดังกล่าวจะแสดงภายใต้ Settings แล้วไปที่ Usage บน claude.ai
คำขอไม่สำเร็จแม้ว่าสถานะการสมัครสมาชิกของคุณจะปกติ คีย์ที่อยู่ในองค์กรบน Console ที่ถูกปิดใช้งานหรือหมดอายุอาจมีลำดับความสำคัญสูงกว่าการเข้าสู่ระบบของคุณ ให้รัน unset ANTHROPIC_API_KEY เริ่มเซสชันใหม่ และตรวจสอบ /status อีกครั้ง หากความล้มเหลวระบุว่าเป็น API key ที่ไม่ถูกต้อง การแก้ไขข้อผิดพลาด API key ของ Claude Code ไม่ถูกต้อง จะครอบคลุมกรณีดังกล่าวโดยละเอียด รวมถึงเหตุผลที่การรัน /login อีกครั้งไม่สามารถล้างค่าดังกล่าวได้
คำเตือนขณะเริ่มต้นระบบว่าการเข้าสู่ระบบของคุณกำลังจะหมดอายุ เวอร์ชันล่าสุดจะแจ้งเตือนเมื่อ credential /login เหลือเวลาอีกสามวันก่อนหมดอายุ เมื่อหมดอายุจริง /status จะแสดงแถวการเข้าสู่ระบบในสถานะหมดอายุพร้อมกับองค์กรและอีเมลที่บันทึกไว้ ให้รัน /login เพื่อต่ออายุ คำเตือนนี้จะไม่บล็อกคำขอใดๆ ซึ่งเป็นเหตุผลว่าทำไมจึงละเลยได้ง่ายจนกว่าเซสชันที่ทำงานแบบไม่มีผู้ดูแลจะหยุดดำเนินการ
apiKeyHelper ทำงานช้าหรือล้มเหลว โดยค่าเริ่มต้น Claude Code จะรัน helper ใหม่ทุกห้านาที ซึ่งสามารถปรับแต่งได้ด้วย CLAUDE_CODE_API_KEY_HELPER_TTL_MS และจะแสดงประกาศในแถบ prompt เมื่อการรันใช้เวลานานกว่าสิบวินาที Helper ที่ไม่ส่งคืนคีย์ ไม่ว่าจะเกิดจากข้อผิดพลาดหรือหมดเวลา จะทำให้คำขอล้มเหลวภายในสามครั้งที่พยายาม
Credential ถูกต้อง แต่ผิดองค์กร ที่อยู่อีเมลหนึ่งสามารถเป็นสมาชิกของสององค์กรได้ /status จะระบุชื่อองค์กรที่ตรวจสอบสิทธิ์สำเร็จ ดังนั้นให้อ่านบรรทัดนั้นแทนการคาดเดาว่าคุณเข้าสู่ระบบในองค์กรใด
FAQ
ฉันจะตรวจได้อย่างไรว่า Claude Code กำลังใช้บัญชีใดอยู่
เรียกใช้ /status ใน session แท็บ Status จะแสดงแถว Login method สำหรับบัญชีที่คุณลงชื่อเข้าใช้ และจะแสดงแถว API key เพิ่มเมื่อมีการใช้ API key เป็น credential หากเลือก Anthropic profile หรือ federation credential แทน แถว Profile จะแทนที่แถว login นอก session ให้ตรวจว่า shell ของคุณกำหนด ANTHROPIC_API_KEY ไว้หรือไม่ เพื่อดูว่ามี environment credential อยู่หรือไม่ Credential นี้จะมีลำดับความสำคัญสูงกว่าการ login เมื่อได้รับอนุมัติ เว้นแต่ gateway หรือข้อจำกัดของ managed login จะมีผลเหนือกว่า
เหตุใด subscription Claude Pro หรือ Max ของฉันจึงไม่ถูกใช้งาน
เพราะ environment credential มีลำดับความสำคัญสูงกว่า Claude Code จะใช้ credential แรกที่พบตามลำดับตายตัว โดย subscription credential ของ /login อยู่ต่ำกว่าตัวแปรของ cloud provider, ANTHROPIC_AUTH_TOKEN, ANTHROPIC_API_KEY, apiKeyHelper, CLAUDE_CODE_OAUTH_TOKEN และ Anthropic profile หรือ federation credential ที่คุณเลือกด้วย ANTHROPIC_PROFILE หรือตัวแปร federation มีเพียง profile ที่ active ในโหมด user_oauth เท่านั้นที่มีลำดับต่ำกว่า และ session ของ Claude apps gateway ที่ลงชื่อเข้าใช้อยู่จะมีลำดับสูงกว่ารายการทั้งหมด เรียกใช้ unset ANTHROPIC_API_KEY เริ่ม session ใหม่ แล้วตรวจสอบด้วย /status จากนั้นลบ export ออกจาก shell profile, systemd unit, environment ของ tmux หรือ container definition ที่เป็นผู้กำหนดค่า มิฉะนั้นค่าดังกล่าวจะกลับมาอีกเมื่อเปิด login shell ครั้งถัดไป
ฉันใช้ Claude Code กับบัญชี Claude ฟรีได้หรือไม่
ไม่ได้ ประเภทบัญชีที่ Anthropic ระบุว่าสามารถใช้ login ได้แก่ subscription แบบ Pro, Max หรือ Ultra, seat ของ Claude for Teams หรือ Enterprise, บัญชี Claude Console, cloud provider และ Cloud gateway ซึ่งเป็น Claude apps gateway ที่ self-host และลงชื่อเข้าใช้ด้วย corporate SSO ผ่าน /login บัญชี claude.ai ฟรีไม่อยู่ในรายการดังกล่าว จึงไม่มี subscription credential ให้จัดเก็บ ทางเลือกแบบชำระเงินแทน subscription คือ Claude Console organisation ที่มี API credit และคิดค่าบริการตามจำนวน token ซึ่งเป็นบัญชีแยกต่างหาก แม้จะใช้อีเมลเดียวกันก็ตาม
บัญชี claude.ai และบัญชี Console ของฉันใช้ยอดคงเหลือร่วมกันหรือไม่
ไม่ใช้ร่วมกัน ทั้งสองเป็นบัญชีแยกกันและมีการเรียกเก็บเงินแยกกัน แม้จะใช้อีเมลเดียวกันก็ตาม การใช้งาน subscription จะหักจากโควตาของแผน ซึ่งใช้ร่วมกับ Claude บนเว็บและมีขีดจำกัดรายสัปดาห์ บัญชี Ultra ที่ยืนยันแล้วไม่มีขีดจำกัด 5 ชั่วโมง ส่วน Pro และ Max มีขีดจำกัด session 5 ชั่วโมง และบัญชี Ultra ที่ยังไม่ได้ยืนยันมีขีดจำกัดชั่วคราว ใน Max และ Ultra, Fable มีขีดจำกัดย่อยที่ 50% ของโควตารายสัปดาห์ปกติ และใช้โควตาเดียวกันนี้เร็วกว่ารุ่น Claude อื่น การใช้งาน Console จะเรียกเก็บเงินตามจำนวน token จาก organisation และแสดงในหน้า Console usage การเพิ่ม credit ให้บัญชีหนึ่งไม่มีผลต่ออีกบัญชี ลิงก์เสริมเพียงรายการเดียวทำงานจากแผนไปยัง Console โดยแผน Max, Ultra หรือ Team สามารถส่ง API credit รายเดือนไปยัง Console organisation ที่คุณลิงก์จาก claude.ai ได้ แต่ credit ดังกล่าวไม่ครอบคลุมการใช้งาน Claude Code แบบ interactive และครอบคลุมเฉพาะการเรียก claude -p ที่คุณเริ่มเองโดยใช้ API key จาก organisation ที่ลิงก์ไว้
ฉันจะ authenticate Claude Code บนเซิร์ฟเวอร์แบบ headless ได้อย่างไร
มี 2 วิธี เรียกใช้ claude ผ่าน SSH แล้วทำ browser login บนเครื่องของคุณเอง กด c เพื่อคัดลอก URL ลงชื่อเข้าใช้ที่ URL ดังกล่าว แล้ววาง code กลับเข้า terminal หาก browser แสดง code แทนการ redirect หรือเรียกใช้ claude setup-token บนเครื่องที่มี browser คัดลอก token ที่มีอายุ 1 ปีซึ่งคำสั่งแสดง แล้วกำหนด token นั้นเป็น CLAUDE_CODE_OAUTH_TOKEN บนเซิร์ฟเวอร์ Token นี้ต้องใช้กับแผน Pro, Max, Ultra, Team หรือ Enterprise และใช้ได้เฉพาะการส่งคำขอไปยัง model ดังนั้น script ที่ใช้ --bare จึงต้องใช้ API key หรือ apiKeyHelper แทน