Claude Code พยายามส่งคำขอใหม่เมื่อเกิดข้อผิดพลาด Rate-Limit สำหรับ API Key แต่ไม่ทำสำหรับแผน Max

เซสชัน Claude Code ของคุณอาจหยุดทำงานทันทีเพียงเพราะข้อผิดพลาดเพียงครั้งเดียว

หากคุณใช้ API key ระบบจะพยายามส่งคำขอใหม่ (retry) แต่หากคุณใช้แผน Max เซสชันจะสิ้นสุดลงทันที

ผมได้ทำการ decompiled ไฟล์ binary ของ Claude Code (เวอร์ชัน 2.1.179) เพื่อหาคำตอบว่าทำไม ตรรกะของมันนั้นเรียบง่ายมาก โค้ดจะตรวจสอบวิธีการชำระเงินของคุณก่อนที่จะตัดสินใจว่าจะ retry ข้อผิดพลาด 429 หรือไม่

ตรรกะทำงานดังนี้:

  • API keys: ระบบจะพยายามส่งคำขอใหม่เมื่อเกิดข้อผิดพลาด
  • Enterprise accounts: ระบบจะพยายามส่งคำขอใหม่เมื่อเกิดข้อผิดพลาด
  • Pro and Max plans: ระบบจะไม่พยายามส่งคำขอใหม่ และข้อผิดพลาดนั้นจะทำให้งานของคุณหยุดชะงัก

สิ่งนี้เกิดขึ้นเพราะ client จะระบุประเภทการสมัครสมาชิกของคุณ โดยจะตรวจสอบ OAuth token และข้ามขั้นตอนการ retry ไปเลย

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

แต่แนวทางนี้ก็มีปัญหาอยู่

ข้อจำกัดของ Anthropic มีสองประเภท:

  • ช่วงการใช้งานระยะยาว (เป็นชั่วโมง)
  • ข้อจำกัดระยะสั้นต่อนาที (เป็นวินาที)

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

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

นี่หมายความว่าความน่าเชื่อถือ (reliability) ของคุณขึ้นอยู่กับระดับการชำระเงิน (billing tier)

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

คุณสามารถทดสอบเรื่องนี้ได้ด้วยตัวเอง โดยการตรวจสอบ log เพื่อดู header anthropic-ratelimit-unified-status

  • หากคุณใช้ metered key คุณจะเห็นการ retry
  • หากคุณใช้ Max คุณจะเห็นเซสชันหยุดทำงาน

ความน่าเชื่อถือคือส่วนหนึ่งของสิ่งที่คุณจ่ายเงินซื้อ ในกรณีนี้ กฎเกณฑ์ได้เปลี่ยนไปอย่างเงียบๆ ตามวิธีการชำระเงินของคุณ

Source: https://dev.to/alexey-pelykh/claude-code-retries-rate-limit-errors-for-api-keys-not-for-your-max-plan-4p31

Optional learning community: https://t.me/GyaanSetuAi