Claude Code 2.1.287 เปิด "Mods" ให้ทุกคน — ปลั๊กอินที่เขียนเป็นโค้ด JavaScript รันอยู่ในตัว Claude Code วาด pane ได้ แก้ tool call ได้ และอนุมัติคำสั่งแทนผู้ใช้ได้ เปิดเป็นค่าเริ่มต้นโดยไม่มี sandbox
1 ต.ค. 2026 (18:00 UTC) Anthropic ปล่อย Claude Code v2.1.287 บรรทัดแรกของ release notes เขียนไว้สั้น ๆ ว่า “Added Claude Mods: plugins may now modify deeper behavior” แต่ถ้าอ่านเอกสารชุดใหม่ใต้ code.claude.com/docs/en/plugins/mods/ จะเห็นว่านี่คือการเปลี่ยนวิธีขยายความสามารถของ Claude Code ครั้งใหญ่ที่สุดนับจากมีระบบปลั๊กอิน mod คือปลั๊กอินที่มีโค้ด JavaScript หรือ TypeScript รันอยู่ใน process ของ Claude Code เอง ต่างจาก settings hook, skill หรือ MCP server ที่ทำงานจากภายนอกทั้งหมด
ก่อนหน้านี้ระบบนี้อยู่ในช่วง early access ซึ่งต้องเปิดเองด้วย CLAUDE_CODE_ENABLE_FUNCTION_HOOKS บล็อกนี้เคยเขียนถึงตอนที่การรองรับ AGENTS.md ถูกทำเป็น mod ในตัวเมื่อ 19 ก.ย. แต่ตั้งแต่ 2.1.287 เป็นต้นไป เอกสารระบุว่า “Mods require Claude Code v2.1.287 or later, and they’re on by default.” และตัวแปรเดิมจะถูกเพิกเฉย ตั้งเป็น 0 ก็ปิด mods ไม่ได้แล้ว
mod ทำอะไรได้บ้างที่ hook เดิมทำไม่ได้
mod หนึ่งตัวคือปลั๊กอินที่มีไฟล์ hooks/register.js ซึ่ง export ฟังก์ชัน register(on) ไว้ลงทะเบียน handler ให้กับ event ต่าง ๆ ทุก handler มีรูปแบบ ($, e, next) และเลือกได้สามแบบว่าจะ ดูเฉย ๆ (ส่ง next(e) ต่อ), แก้ event (ส่ง next พร้อมค่าที่แก้แล้ว) หรือ ตอบเอง โดยไม่ให้พฤติกรรมปกติทำงาน เอกสารยกตัวอย่างความสามารถไว้ดังนี้
- วาด UI ของตัวเอง เช่น pane ข้าง transcript หรือแถบเหนือช่องพิมพ์ ที่มีแท็บ ปุ่ม และช่องกรอกข้อความ
- วาดส่วนของ Claude Code ใหม่ เช่น แถวของ tool call, spinner หรือกล่องคำถาม แต่ permission prompt แก้ไม่ได้
- เข้าไปแทรก tool call หรือ request เช่น พัก tool call ไว้เพื่อถามผู้ใช้ก่อน ตอบแทนโดยไม่รัน tool เลย หรือส่ง request หนึ่งไปให้อีกโมเดล
- เพิ่ม
/commandที่รันฟังก์ชันได้ทันทีโดยไม่ต้องเริ่ม turn ใหม่ แม้ Claude จะกำลังทำงานอยู่ - เรียก mods API อย่าง
$.fs,$.process.run,$.http.fetchและ$.model.completeได้ (ค่าเริ่มต้น 1,024 โทเคน สูงสุด 64,000)
ฝั่ง hook มีข้อจำกัดเรื่องเวลา คือ handler หนึ่งตัวใช้เวลาประมวลผลของตัวเองได้ไม่เกิน 10 วินาทีต่อ event และ $.fs.read/write อ่านเขียนได้ไม่เกิน 4 MiB ต่อไฟล์ ส่วน UI ที่ mod วาดจะเห็นเฉพาะใน terminal และแท็บ Code ของแอป Desktop เท่านั้น ใน VS Code, claude -p และ Agent SDK ตัว hook ยังทำงานแต่จะไม่เห็นสิ่งที่วาด
Anthropic ปล่อย mod ตัวอย่างสามตัวไว้ใน repo claude-code-playground ได้แก่ token-weather ที่แสดง “พยากรณ์” ว่า context window ใกล้เต็มแค่ไหน, blast-radius ที่พักคำสั่งเสี่ยงอย่าง rm -rf หรือ force push แล้วแสดงว่าจะกระทบอะไรบ้างพร้อมปุ่มยืนยัน และ replay-theater ที่เพิ่ม /replay ไว้ไล่ดูไฟล์ที่ Claude แก้ใน turn ล่าสุด นอกจากนี้ Claude Code ยังมีปลั๊กอินในตัวชื่อ plugin-authoring ให้สั่ง Claude เขียน mod จากคำอธิบายได้เลย
”You should know” — side agent คอยเตือนระหว่างทำงาน
mod ในตัวที่เพิ่มมาพร้อมเวอร์ชันนี้คือ cc-plugin-you-should-know ตามคำอธิบายในเอกสาร มันจะ “runs a side agent that watches your back while Claude works on longer tasks” ถ้าเจอเรื่องที่ผู้ใช้หรือ Claude อาจมองข้ามไป จะแสดงโน้ตไว้เหนือช่องพิมพ์ mod นี้ ปิดไว้เป็นค่าเริ่มต้น เปิดได้ด้วย /plugin enable cc-plugin-you-should-know@builtin และตาม release notes ใช้ได้เฉพาะ “first-party sessions with telemetry on” คนที่ใช้ผ่าน Bedrock/Vertex/Foundry หรือปิด telemetry ไว้จึงยังใช้ไม่ได้
เรื่องความปลอดภัยที่ต้องอ่านก่อนติดตั้ง
เอกสารเขียนเรื่องนี้ไว้ตรง ๆ ว่า mod ไม่มี sandbox มันอ่านเขียนไฟล์ได้ทุกที่ที่บัญชีผู้ใช้เข้าถึงได้ อ่าน environment variable รวมถึง API key ได้ เห็นทุก prompt และทุก tool call และ “approve a tool call before you’re asked” ได้ด้วย ถ้าเปิด sandboxing ไว้ ก็คุมได้แค่คำสั่ง Bash ที่ Claude รัน process ที่ mod สั่งรันเองจะอยู่นอก sandbox
หน้าเอกสารสำหรับผู้ดูแลระบบระบุพฤติกรรมเริ่มต้นไว้ดังนี้
- จะมี guard ในตัวชื่อ
sec-defaultโหลดก่อน mod ของผู้ใช้ เฉพาะ เครื่องที่มี managed settings หรือผู้ใช้ที่ล็อกอินแผน Team/Enterprise เท่านั้น ส่วนคนที่ใช้ API key หรือผ่าน Bedrock/Vertex/Foundry จะไม่มี guard นี้ถ้าเครื่องไม่มี managed settings - ในเครื่องที่มี guard โหลดอยู่ mod จะอนุมัติคำสั่งที่ถูก
denyrule ห้ามไว้ไม่ได้ แต่ ยังข้ามกฎaskและPreToolUsehook ที่ไม่ได้มาจาก managed settings ได้ และใน auto mode คำสั่งที่ mod อนุมัติจะรันโดยไม่ผ่าน classifier - deny rule มีผลกับ tool call ของ Claude เท่านั้น ถ้าห้าม
Read(.env)ไว้ mod ก็ยังอ่านไฟล์นั้นผ่าน$.fs.readได้อยู่ดี
ก่อนติดตั้ง mod ให้รัน claude plugin validate ./some-mod ก่อน คำสั่งนี้จะแสดงบรรทัด hooks: และ calls: ว่า mod รับ event อะไรและเรียก API อะไรบ้างโดยไม่ต้องรันโค้ด ถ้าจะปิด mod ทั้งหมดใช้ --safe-mode (ปิดเฉพาะ session นั้น) หรือตั้ง "disableAllHooks": true ส่วนองค์กรใช้ managed setting allowManagedModsOnly ได้ ทั้งนี้ --safe-mode, --bare และ disableAllHooks ไม่ปิด mod ในตัว
มุมมอง AI Curator
ข่าวนี้คือการเปลี่ยน Claude Code จาก “เอเจนต์ที่ต่อเครื่องมือภายนอกได้” ไปเป็น “แพลตฟอร์มที่คนอื่นเขียนโค้ดมาแก้พฤติกรรมข้างในได้” คล้ายกับที่ VS Code กลายเป็นแพลตฟอร์มเพราะ extension API ตัวอย่างอย่าง blast-radius แสดงให้เห็นชัดว่าทีมที่อยากได้ guardrail ของตัวเอง เช่น ห้าม push ไปบัญชีส่วนตัว หรือให้ถามก่อนรัน migration กับ production ตอนนี้เขียนเป็นโค้ดจริงได้แล้ว ไม่ต้องเขียน shell script ไปคั่นตรงกลาง (ข่าว PixelLeak ที่บล็อกนี้รายงานวันนี้ ซึ่งเอเจนต์เอาภาพหน้าจอภายในไปโพสต์ใน repo สาธารณะ ก็เป็นปัญหาแบบที่ mod ลักษณะนี้ช่วยกันได้)
แต่สิ่งที่ควรพูดให้ชัดคือ ค่าเริ่มต้นเอียงไปทางความสะดวกมากกว่าความปลอดภัย mod เปิดอยู่แล้ว ไม่มี sandbox อนุมัติ tool call แทนผู้ใช้ได้ และสำหรับนักพัฒนาอิสระที่ใช้ API key โดยไม่มี managed settings ก็ไม่มี guard ใด ๆ คั่นอยู่เลย เท่ากับว่าการติดตั้งปลั๊กอินจาก marketplace ตอนนี้มีความเสี่ยงระดับเดียวกับการ npm install แพ็กเกจที่มี postinstall script แถมแพ็กเกจนั้นยังเห็นทุก prompt ด้วย ข้อดีคือ claude plugin validate ที่แสดง hooks/calls ให้ดูก่อนติดตั้งเป็นแนวทางที่ถูกต้อง และน่าจะกลายเป็นขั้นตอนที่ต้องทำทุกครั้ง
สำหรับทีมไทยที่ใช้ Claude Code แบบองค์กร ควรทำสองอย่างทันที ได้แก่ ตรวจว่าเครื่องนักพัฒนามี managed settings หรือยัง (ถ้าไม่มี sec-default จะไม่โหลด) และพิจารณาตั้ง allowManagedModsOnly ไว้จนกว่าจะรีวิว mod ที่ทีมจะใช้ได้ ส่วนในระยะยาว การที่ policy เขียนเป็น mod ได้ เช่น บล็อกการอ่านไฟล์ที่มีข้อมูลส่วนบุคคล จะช่วยงาน PDPA ได้มากกว่าการเขียนกฎไว้ใน CLAUDE.md แล้วหวังให้โมเดลทำตาม
แหล่งข่าว
อ่านเพิ่มในหมวด เครื่องมือนักพัฒนา
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