- Mã Claude 2.1.287 Phiên bản này ra mắt vào ngày 1 tháng 10 cùng với Claude Mods, cho phép các plugin JavaScript và TypeScript can thiệp vào các lời nhắc, lệnh gọi công cụ, quyền hạn và giao diện.
- Các bản mod được phân phối dưới dạng plugin và chạy với quyền hạn của người dùng; chúng không được cách ly trong môi trường sandbox và có thể truy cập vào các tệp, quy trình, yêu cầu mạng và các thông tin bí mật như khóa API.
- Các biện pháp kiểm soát bảo mật bao gồm thứ tự tải, bảo vệ sec-default cho Team và Enterprise hoặc các máy được quản lý, allowManagedModsOnly, xác thực plugin claude, --safe-mode và disableAllHooks.
- Các bản mod mẫu của Anthropic bao gồm TokenWeather, Blast Radius và Replay Theater, trong khi các tính năng chính thức như hỗ trợ /diff và AGENTS.md đã được tích hợp sẵn trong các bản mod.
Anthropic đã bổ sung Claude Mods vào Claude Code 2.1.287 , phiên bản được đưa lên npm vào ngày 1 tháng 10. Tính năng này cho phép các plugin được xây dựng bằng JavaScript hoặc TypeScript kết nối với các sự kiện nội bộ trong tác nhân lập trình, để chúng có thể theo dõi những gì xảy ra và thay đổi kết quả.
Công ty mô tả các bản mod như một lớp tùy chỉnh sâu hơn so với các tùy chọn tùy chỉnh trước đây. Chúng được cài đặt dưới dạng plugin và được thiết kế để hoạt động cả trong giao diện dòng lệnh và ứng dụng máy tính để bàn. Tài liệu của chính Anthropic cảnh báo rằng các bản mod chạy với quyền của người dùng , điều này đặt tính năng này vào trung tâm của một cuộc tranh luận rộng hơn về khả năng mở rộng, sự tin cậy và quyền kiểm soát.
Các bản mod có thể thay đổi những gì bên trong Claude Code?
Một mod được điều khiển bởi các trình xử lý sự kiện. Claude Code phát ra các sự kiện khi nó gọi một công cụ, nhận một lời nhắc, yêu cầu quyền hoặc vẽ lại một phần màn hình. Theo tài liệu, một trình xử lý có thể quan sát một sự kiện, sửa đổi nó hoặc chiếm quyền điều khiển nó . Điều đó cho phép các tác giả viết lại lời nhắc trước khi nó đến được mô hình, chặn hoặc viết lại lệnh gọi công cụ, xử lý các yêu cầu quyền, thay thế các phần tử giao diện hoặc thêm các tính năng mới.
Các nhà phát triển đã có nhiều cách để cá nhân hóa công cụ: các tệp cài đặt, hướng dẫn cố định trong CLAUDE.md, các hook, máy chủ MCP, dòng trạng thái và kiểu đầu ra. Những phương pháp đó có thể ảnh hưởng đến hướng dẫn, quyền hạn và các công cụ có sẵn, nhưng chúng không thể thay thế các tính năng tích hợp sẵn hoặc định hình lại giao diện. Các bản mod được thiết kế để tiến xa hơn bằng cách hoạt động trên cùng một lớp sự kiện quyết định cách các lời nhắc, đầu ra của công cụ và quyền hạn di chuyển trong hệ thống.
Cơ chế này lần đầu tiên được thảo luận công khai trên GitHub vào đầu tháng 9 với tên gọi là function hooks. Sau đó, Anthropic đã đổi tên ý tưởng này thành Claude Mods trong khi vẫn giữ function hooks làm nền tảng kỹ thuật. Mods được bật mặc định trong phiên bản 2.1.287 trở lên, và mã của chúng vẫn hoạt động trong suốt một phiên làm việc, cho phép chúng ghi nhớ trạng thái giữa các sự kiện và hỗ trợ các bảng điều khiển, lệnh, quy trình hoặc công cụ trực tiếp được hiển thị cho mô hình.
Anthropic hiện đang sử dụng kiến trúc này cho một số công việc của riêng mình. Bảng điều khiển /diff và hỗ trợ AGENTS.md được mô tả là dựa trên mod, và mã nguồn của chúng đã được công bố trong kho lưu trữ Claude Code. Tính năng /diff hiện được cung cấp dưới dạng một mod có thể bị vô hiệu hóa hoặc thay thế. Công ty cho biết họ có kế hoạch chuyển thêm nhiều tính năng tích hợp sẵn lên lớp này theo thời gian, hướng tới một lõi nhỏ hơn mà hệ sinh thái có thể sửa đổi.
Boris Cherny, người tạo ra Claude Code, đã lý giải sự thay đổi này xoay quanh quy trình làm việc cá nhân. Ông nói trên diễn đàn X rằng mọi người tiếp cận công việc theo những cách khác nhau, vì vậy không có lý do gì để mọi người dùng đều có trải nghiệm giống hệt nhau với trợ lý ảo. Mô tả của ông cho thấy mod là một cách để thay đổi cả giao diện và hành vi thông qua một yêu cầu đơn giản, sau đó đóng gói những thay đổi đó thành các plugin mà người khác có thể cài đặt. Addy Osmani, một thành viên của đội ngũ kỹ thuật của Anthropic, cũng đưa ra quan điểm tương tự trong một bài đăng trên blog: mod cho phép các nhà phát triển định hình công cụ sao cho phù hợp với cách họ làm việc thay vì chấp nhận một thiết lập cố định.
Các giới hạn bảo mật, môi trường biệt lập và lời nhắc cấp quyền

Phần nhạy cảm nhất của quá trình ra mắt là quyền truy cập. Anthropic tuyên bố rằng các mod không được chạy trong môi trường biệt lập (sandbox). Nếu bật chế độ biệt lập, nó sẽ cách ly các lệnh Bash mà Claude chạy, nhưng một tiến trình được khởi chạy bởi mod sẽ chạy bên ngoài sự cách ly đó . Một mod có thể đọc và ghi tệp, khởi chạy các tiến trình và thực hiện các yêu cầu mạng. Nó cũng có thể kiểm tra các biến môi trường và tệp cài đặt, bao gồm cả khóa API được lưu trữ ở một trong hai vị trí. Tài liệu hướng dẫn người dùng chỉ nên cài đặt mod từ các tác giả và cửa hàng trực tuyến mà họ tin tưởng.
Có một ranh giới mà Anthropic vạch ra rõ ràng. Một bản mod có thể thiết kế lại phần lớn giao diện của Claude Code, nhưng không thể thay đổi lời nhắc cấp quyền hoặc nội dung hiển thị của lời nhắc đó. Hộp thoại phê duyệt vẫn thuộc về Claude Code , bất kể bản mod đó có thiết kế lại giao diện người dùng xung quanh đến mức nào. Đồng thời, một bản mod có thể phê duyệt các lệnh gọi công cụ có thể phê duyệt một hành động mà quy tắc hỏi thông thường sẽ đặt câu hỏi, hoặc một hành động mà hook PreToolUse của người dùng đã chặn.
Khi nhiều mod cùng can thiệp vào một sự kiện, thứ tự tải rất quan trọng. Chúng sẽ chạy theo trình tự được tải, và mod được tải đầu tiên sẽ nhận được sự kiện trước tiên trong khi nhận được kết quả cuối cùng sau cùng. Trên các gói Team và Enterprise, và trên bất kỳ máy nào có cài đặt được quản lý, một mod do Anthropic xây dựng có tên là sec-default sẽ được tải trước các mod do người dùng cài đặt . Mục đích của nó là ngăn chặn các hành vi rủi ro như ghi đè các quy tắc từ chối quyền, và Anthropic cho biết mã nguồn của nó có thể được kiểm tra. Quản trị viên có thể tải các mod của riêng họ trước, nhưng công ty khuyên họ nên bao gồm sec-default trong danh sách đó để giữ nguyên các hạn chế của nó.
Bên ngoài những môi trường được bảo vệ đó, các bản mod có thể ghi đè lên một số quyết định về quyền. Chợ plugin cũng chịu sự kiểm soát: Chủ sở hữu gói Team và Enterprise cấu hình nó trong bảng điều khiển quản trị, trong khi quản trị viên trên các gói Claude API và API của bên thứ ba sẽ đẩy các cài đặt được quản lý đến các máy. Điều đó biến câu hỏi triển khai thành câu hỏi quản trị: bản mod nào được tải trước và ai quyết định thứ tự đó >.
Cài đặt, xác thực và tắt các bản mod.
Các mod được phân phối giống như các plugin và có thể được chia sẻ thông qua các chợ plugin, bao gồm cả kho lưu trữ GitHub. Trước khi tải một mod, quản trị viên hoặc người dùng có thể chạy lệnh `claude plugin validate` đối với thư mục của plugin đó. Lệnh này sẽ liệt kê các sự kiện mà mod xử lý và các hành động mà nó yêu cầu, chẳng hạn như đọc tệp hoặc thực hiện yêu cầu mạng, mà không thực thi mã. Hướng dẫn của Anthropic là nên kiểm tra các hook của mod trước khi cài đặt chứ không phải sau khi cài đặt.
Có một số cách để vô hiệu hóa tính năng này. Có thể vô hiệu hóa hoặc gỡ cài đặt một plugin riêng lẻ từ tab Đã cài đặt trong /plugin. Khởi động phiên với tùy chọn –safe-mode sẽ tắt các mod cùng với các tùy chỉnh khác. Đặt disableAllHooks thành true trong ~/.claude/settings.json cung cấp một tùy chọn khác. Các tổ chức có một tùy chọn riêng biệt, allowManagedModsOnly, ngăn không cho các mod do người dùng cài đặt tải lên trong khi phần còn lại của mỗi plugin, bao gồm kỹ năng, lệnh, tác nhân và máy chủ MCP, vẫn tiếp tục hoạt động.
Tính khả dụng của các phiên bản không đồng nhất. Các bản mod yêu cầu Claude Code 2.1.287 trở lên và được bật mặc định, nhưng vào ngày 2 tháng 10, thẻ ổn định của kho lưu trữ npm vẫn trỏ đến phiên bản 2.1.285. Các thẻ latest và next trỏ đến phiên bản 2.1.287, có nghĩa là một máy chỉ theo kênh ổn định có thể chưa có các bản mod. Phiên bản 2.1.286 được phát hành trước đó vào ngày 30 tháng 9 với các bản sửa lỗi liên quan đến việc che giấu thông tin bí mật.
Các mod hoạt động bất cứ khi nào phiên làm việc tải plugin. Điều đó bao gồm bảng trò chuyện của tiện ích mở rộng VS Code, lệnh claude -p, Agent SDK và phiên đám mây cho một plugin nào đó. Chỉ có cửa sổ terminal và tab Code trong ứng dụng máy tính để bàn mới hiển thị các bảng và thanh của mod. Phiên WSL trong ứng dụng máy tính để bàn không hiển thị cả hai vì plugin không có sẵn ở đó. Do đó, cần kiểm tra bản dựng thực tế và kênh cài đặt trước khi cho rằng tính năng này đang hoạt động.
Ví dụ về các bản mod và các thử nghiệm ban đầu
Anthropic đã công bố ba bản mod mẫu trong kho lưu trữ claude-code-playground của họ và chia sẻ chúng nguyên trạng mà không có hỗ trợ. TokenWeather hiển thị dự báo thời tiết trong cửa sổ ngữ cảnh phía trên dấu nhắc lệnh. Nó hiển thị thời tiết từ "Trời quang" ở mức 18% của cửa sổ 200,000 token, đến "Mưa rào" ở mức 67% và "Bão" ở mức 81%, đồng thời hiển thị mức sử dụng gần đây và số token được thêm vào trong lượt chơi gần nhất. Blast Radius chứa một lệnh shell rủi ro như rm -rf hoặc force push và hiển thị những gì lệnh đó sẽ thay đổi. Replay Theater thêm lệnh /replay, cho phép xem lại các chỉnh sửa tệp mà Claude đã thực hiện trong lượt chơi trước đó trong một khung cửa sổ được gắn cố định.
Những ví dụ đó chạy với cùng quyền người dùng như bất kỳ mod nào khác, đó là lý do tại sao tài liệu lặp lại cảnh báo kiểm tra các hook trước khi cài đặt. Người dùng bắt đầu thử nghiệm chỉ vài giờ sau khi thông báo được đưa ra. Một nhà phát triển đã tạo ra một mod để chuyển thông tin đăng nhập cho Claude mà không để lại bí mật cơ bản trong lịch sử hội thoại. Các ý tưởng khác bao gồm hiển thị trực tiếp số lượng lệnh gọi công cụ, thời gian đã trôi qua và mức tiêu thụ token, tiếp theo là bản tóm tắt khi một tác vụ kết thúc.
Ngoài ra còn có khía cạnh tự sửa đổi. Người dùng có thể yêu cầu Claude Code tạo một bản mod, và tác nhân có thể viết mã TypeScript, cài đặt plugin và tải lại nóng (hot-reload) trong cùng một phiên làm việc. Do đó, công cụ có thể viết lại một số quy tắc mà nó hoạt động theo như một phần của quy trình làm việc thông thường. Đối với các nhóm tuân thủ và xem xét, điều đó làm thay đổi mục tiêu kiểm toán: hiện vật liên quan không chỉ là những gì nhà phát triển đã triển khai, mà còn là những gì mô hình đã tạo ra và thực thi trong thời gian chạy.
Đối với việc triển khai trong doanh nghiệp, việc kích hoạt plugin cần có một bước phê duyệt riêng. Các nhóm nên ghi lại phiên bản plugin, quyền hạn của nó, người đã kích hoạt và cách vô hiệu hóa nó. Thông báo ra mắt không bao gồm đánh giá bảo mật độc lập, kiểm toán, số liệu về việc sử dụng hoặc cài đặt, hoặc giá cả. Nó cũng chỉ là một bài đăng về sản phẩm của nhà cung cấp và không báo cáo về lỗ hổng hoặc sự cố. Việc thiếu những chi tiết đó có nghĩa là các tổ chức phải tự xác thực các bản sửa đổi dựa trên chính sách, khả năng giám sát và quy trình quản lý thay đổi của riêng họ.
Nhìn chung, các bản mod của Claude Code biến các plugin thành một lớp mở rộng có thể tác động đến lời nhắc, lệnh gọi công cụ, các yếu tố giao diện và quyết định quyền hạn trong khi chạy với quyền truy cập của người dùng và bên ngoài môi trường sandbox của Bash. Các biện pháp bảo vệ phụ thuộc vào sự tin cậy, xác thực, thứ tự tải và các kiểm soát của doanh nghiệp như sec-default và allowManagedModsOnly. Vì thẻ npm ổn định vẫn ở mức 2.1.285 vào ngày 2 tháng 10, các nhóm nên xác minh bản dựng thực tế trước khi cho rằng các bản mod đã có sẵn. Câu hỏi thực tế không phải là liệu các bản mod có hữu ích hay không, mà là ai có thể tạo ra chúng, bản nào được tải trước và cách các thay đổi của chúng được xem xét.
