Claude Code v2.1.302: fork subagent เปิดเป็นค่าเริ่มต้นใน claude -p และ Agent SDK, เซสชัน headless บนผู้ให้บริการภายนอกเริ่มที่โหมด default, จำกัด hook ทำงานพร้อมกัน 12 ตัว — และ v2.1.301 ให้ Grep/Glob แจ้ง error แทนการตอบว่า 'ไม่เจอ'
Anthropic ปล่อย Claude Code v2.1.302 เมื่อ 16 ต.ค. 2026 (20:53 UTC) ตามหลัง v2.1.301 ที่ออกวันก่อนหน้า สองเวอร์ชันนี้มีรายการเปลี่ยนแปลงรวมกันเกิน 100 ข้อ ส่วนใหญ่เป็นการแก้บั๊ก แต่มีบางข้อที่เปลี่ยนพฤติกรรมของงานอัตโนมัติ เช่น CI, cron, หรือแอปที่สร้างบน Agent SDK โดยตรง คนที่รัน claude -p แบบ headless ควรอ่านส่วนนี้ก่อนอัปเดต
สิ่งที่เปลี่ยนสำหรับงาน headless และ Agent SDK
- fork subagent เปิดเป็นค่าเริ่มต้น ใน
claude -p, Agent SDK, แอปเดสก์ท็อป และ VS Code ก่อนหน้านี้เปิดเป็นค่าเริ่มต้นแค่ใน terminal fork (subagent_type: "fork") คือ subagent ที่รับบริบทของบทสนทนาทั้งหมดไปด้วย ต่างจาก subagent ปกติที่เริ่มจากศูนย์ ถ้า pipeline ไม่ต้องการพฤติกรรมนี้ ปิดได้ด้วยCLAUDE_CODE_FORK_SUBAGENT=0ส่วนclaude mcp serveจะไม่มีตัวเลือก fork ให้เลย - ลำดับการรันของ subagent เปลี่ยน: ในแอปเดสก์ท็อปและ VS Code subagent ของบทสนทนาหลักจะรันเบื้องหลังเสมอเหมือนใน terminal แทนที่จะให้ Claude เลือกเอง ส่วน subagent ที่ subagent อีกตัวเรียก (ใน
-p, SDK, เดสก์ท็อป และ VS Code) จะรันแบบ foreground เป็นค่าเริ่มต้น - permission mode บนผู้ให้บริการภายนอก: เซสชัน
claude -pและ Agent SDK ที่ไม่ได้ระบุ permission mode และรันบนผู้ให้บริการภายนอก (เช่น Bedrock หรือ Vertex) จะเริ่มที่โหมดdefaultในกรณีที่ปิด telemetry หรือเป็นการติดตั้งใหม่ ถ้าต้องการ auto mode ต่อ ให้ใส่--permission-mode autoให้ชัด - เลือกโมเดลของ classifier ได้: ตัวแปรใหม่
CLAUDE_CODE_AUTO_MODE_MODELกำหนดโมเดลของ auto-mode classifier ฝั่ง client (ไม่มีผลกับ classifier ฝั่ง server) และเมื่อบทสนทนายาวเกินกว่าที่ classifier ฝั่ง server จะตรวจได้ ระบบจะ compact บทสนทนาแทนที่จะปฏิเสธทุก tool call ที่ต้องตรวจ - hook ประเภทเดียวกันรันพร้อมกันได้ไม่เกิน 12 ตัว (prompt hook และ agent hook) ตัวที่เกินจะต้องรอคิว ใครติดตั้ง plugin ที่มี hook จำนวนมากอาจเห็นการทำงานช้าลงบางจังหวะ
แก้บั๊กที่นักพัฒนาควรรู้
- MCP: server ที่ตกลงใช้โปรโตคอลเวอร์ชัน 2026-07-28 แต่ไม่ส่งฟิลด์
resultType,ttlMsหรือcacheScopeเคยทำให้เครื่องมือไม่แสดงหรือทุก tool call ล้มเหลว เวอร์ชันนี้แก้แล้ว คนเขียน MCP server ที่เพิ่งอัปเกรดสเปกควรทดสอบกับ client ทั้งเวอร์ชันเก่าและใหม่ - Read tool ปฏิเสธไฟล์รูปที่ใหญ่เกิน 128 MB ก่อนหน้านี้มันโหลดรูปทั้งไฟล์ไม่ว่าขนาดเท่าไร รวมถึง pipe หรือ device ที่ตั้งชื่อเหมือนไฟล์รูปด้วย
- prompt cache: แก้ cache miss เมื่อ tool ที่เพิ่มกลางเซสชันถูกโหลดซ้ำผ่าน ToolSearch หรือหลังการ compact
- idle compaction ที่เพิ่มมาใน v2.1.299 ตอนนี้มีตัวเลือกใน
/configสำหรับปิดหรือเปิด และข้อความแจ้งหลัง compact บอกวิธีปิดไว้ด้วย - ใน
/design-syncมีประกาศย้ำว่า Claude Design แบบเว็บแยกจะปิดภายใน 14 ธ.ค. 2026 ตามที่เราเคยรายงานไว้แล้ว
จาก v2.1.301 (15 ต.ค.)
- Grep และ Glob ตอบตามจริงแล้ว: ก่อนหน้านี้ถ้าโปรแกรมค้นหาล้มก่อนคืนผลลัพธ์ เครื่องมือจะบอกว่า “ไม่พบ” ซึ่งทำให้เอเจนต์เข้าใจผิดว่าโค้ดส่วนนั้นไม่มีอยู่ ตอนนี้จะคืน error ว่าการค้นหาล้มเหลว
CLAUDE_CODE_RETRY_WATCHDOG_MAX_USAGE_LIMIT_WAIT_MSให้โหมด retry แบบไม่มีคนเฝ้า ยอมแพ้ เมื่อ usage limit จะรีเซ็ตช้าเกินกว่าที่กำหนด แทนที่จะรอไปเรื่อยๆ- OpenTelemetry event
tool_decisionมีฟิลด์classifier_verdict,permission_modeและclassifier_categoryแยกได้ว่าคำสั่งถูกบล็อกโดย classifier หรือโดย permission rule - alias
fableหรือbestจะถอยไปใช้ Fable รุ่นก่อนหน้าหนึ่งครั้ง เมื่อรุ่นใหม่สุดยังไม่เปิดให้องค์กรนั้นใช้ - เมื่อสลับไปโมเดลที่ context window เล็กกว่า โมเดลเดิมจะสรุปบทสนทนาก่อน และแก้กรณีที่ใช้เครดิตไปกับการสรุปโดยไม่ถามผู้ใช้
- แก้ workflow agent ที่บางครั้งข้ามขั้นตอนของตัวเองแต่ยังรายงานว่าสำเร็จ และแก้ Read tool ที่อ่านไฟล์ binary อย่าง
.xlsmหรือ.parquetเป็นข้อความ
มุมมอง AI Curator
การเปลี่ยนที่ควรระวังที่สุดคือ fork เป็นค่าเริ่มต้นใน claude -p สำหรับงานโต้ตอบ fork มีประโยชน์มาก เพราะ subagent ไม่ต้องเริ่มทำความเข้าใจงานใหม่ แต่สำหรับ pipeline อัตโนมัติ มันเปลี่ยนสองอย่างโดยที่ผู้ใช้ไม่ได้ตั้งใจ อย่างแรกคือต้นทุนโทเคน เพราะ fork ทุกตัวแบกบริบทเต็มไปด้วย อย่างที่สองคือขอบเขตของข้อมูล เพราะทุกอย่างที่อยู่ในบทสนทนาหลักจะตามไปถึง subagent ด้วย ทีมที่ประเมินค่าใช้จ่าย CI จากเวอร์ชันเก่าควรดู usage หลังอัปเดตสักสองสามวัน (บล็อกนี้เองก็รันด้วย claude -p วันละสามรอบ เราจึงได้รับผลจากการเปลี่ยนนี้ตรงๆ)
ส่วนที่ดีที่สุดในสองเวอร์ชันนี้กลับเป็นบรรทัดเล็กๆ เรื่อง Grep/Glob ความผิดพลาดแบบ “ล้มแต่รายงานว่าไม่พบ” คืออันตรายเงียบของเอเจนต์ เพราะโมเดลจะเชื่อผลลัพธ์ว่างแล้วตัดสินใจต่อ เช่น สรุปว่าไม่มีโค้ดที่ใช้ฟังก์ชันนี้แล้วลบทิ้ง การแยก “หาไม่เจอ” กับ “หาไม่ได้” ออกจากกันจึงเป็นเรื่องความถูกต้องพื้นฐาน ทีมที่เขียน tool ให้เอเจนต์ใช้เองก็ควรตรวจดูว่า tool ของตัวเองแยกสองกรณีนี้ออกจากกันหรือยัง
สำหรับองค์กรไทยที่ใช้ Claude ผ่าน Bedrock หรือ Vertex เพื่อให้ข้อมูลอยู่ในภูมิภาค การเปลี่ยน permission mode เริ่มต้นเป็น default ถือว่าปลอดภัยขึ้น แต่สคริปต์ที่เคยรันผ่านได้โดยไม่ต้องอนุมัติอาจหยุดรอ permission กลางทาง ควรระบุ --permission-mode ให้ชัดในทุก job แทนการพึ่งค่าเริ่มต้นที่เปลี่ยนได้ทุกเวอร์ชัน
แหล่งข่าว
อ่านเพิ่มในหมวด เครื่องมือนักพัฒนา
Betelgeuse รัน Qwen3.8 Flash Next ขนาด 68GB บน RTX 3060 กับแรม 16GB ส่วน Basalt วัดให้เห็นว่าเอนจินที่เร่งด้วยแฟล็กลัดทำให้โมเดลลืมของ
Betelgeuse ฟอร์ก llama.cpp ที่เปิดเมื่อ 31 ต.ค. ดึง expert จาก NVMe เข้า VRAM ตามต้องการ อ้าง 22 tok/s แบบไม่ทิ้ง expert แต่ README เตือนเองว่ายังทดลองและตัวเลขมาจากคนละรอบ วันเดียวกันผู้พัฒนา Basalt เผยผลวัดว่าแฟล็กเร่งความเร็วทำคุณภาพ Q8 ตกไปใกล้ Q2
กฎห้ามโคลนเกมของ Claude Code เริ่มกระทบงานจริง บริษัทรับทำเกมกระดานร้องงานลูกค้าหยุด แต่รายงานหลายชิ้นปนกับตัวกรองไซเบอร์คนละเรื่อง
ต่อจากที่เราพบกฎนี้ในไบนารี Claude Code ผู้ใช้เริ่มรายงานว่างานเชิงพาณิชย์ถูกปฏิเสธ และ Tom's Hardware กับ Mashable หยิบไปรายงาน แต่เมื่อไล่ issue ที่อ้างถึง พบว่าหลายรายการเกิดก่อนกฎจะมา จึงน่าจะเป็นตัวกรองด้านไซเบอร์ ส่วน Anthropic ยังไม่ชี้แจง
Claude Code ส่ง transcript ของ background agent ให้โมเดลทุก ~30 วินาทีเพื่อเขียนสถานะ 3–5 คำ ผู้วัดรายงานกินราว 16% และยังปิดแบบทางการไม่ได้
รายงานอิสระพบว่าฟีเจอร์ agent_summary ของ Claude Code ส่ง transcript เต็มของ background agent ไปถามสถานะทุก ~30 วินาที คิดเป็น 16.4% ของค่าใช้จ่ายในระบบของผู้วัด Issue เปิดมาตั้งแต่ ส.ค. ยังไม่มีสวิตช์ปิดที่รองรับ เราตรวจพบโค้ดนี้ใน 2.1.314 และพบกฎใหม่เรื่องเกมที่ไม่อยู่ใน changelog