Tham chiếu Mods
Tra cứu mọi event mà một mod có thể xử lý, mọi method của mods API mà nó có thể gọi, và mọi render site mà nó có thể vẽ vào, cho Claude Code CLI và ứng dụng Desktop tính đến v2.1.289. Mỗi mục có tên và mô tả một dòng, kèm link tới phần hướng dẫn giải thích nó nếu có.
Một mod là một thư mục plugin với các file sau:
| File | Bắt buộc | Nội dung |
|---|---|---|
.claude-plugin/plugin.json | Có | Manifest của plugin. Mods không thêm field bắt buộc nào. |
hooks/hooks.json | Có | modules: một mảng gồm một đường dẫn, tương đối so với file này, tới hooks module, như "modules": ["./register.js"]. Cũng có thể chứa settings hooks dưới key hooks. |
Hooks module, như hooks/register.js | Có | Entry point của mod. Export register(on, options). Đuôi file là .js, .mjs, .cjs, .jsx, .ts, .mts, .cts hoặc .tsx. Là một ES module. |
types/index.d.ts, được trỏ tới bởi types trong manifest | Khi mod dùng $.state hoặc thêm namespace vào mods API | Khai báo các giá trị PluginState và mọi namespace mà mod thêm vào |
Các file có tên kết thúc bằng .test.ts hoặc .test.tsx | Không | Các test mà claude plugin test chạy |
register nhận on và options. options chứa giá trị của các field userConfig mà manifest khai báo, đã điền sẵn giá trị mặc định.
Hàm hook
Phần tiêu đề “Hàm hook”Một mod đăng ký từng hook, tức event handler, bằng cách gọi on bên trong register. on nhận tên event, một matcher tùy chọn, tức một bộ lọc trên các field của event, và hook, như on('tool.call', { tool: 'Bash' }, async ($, e, next) => next(e)). on trả về một registration có một method, .catch(handler), dùng để đặt error handler cho hook.
| Tham số | Là gì |
|---|---|
$ | Mods API: mọi method trong phương thức mods API. Viết đầy đủ mỗi lời gọi, namespace rồi method, như $.fs.read('notes.md'). |
e | Input của event, dưới dạng dữ liệu thuần bị đóng băng sâu. Để thay đổi, truyền một bản copy cho next. |
next(e) | Handler kế tiếp, như trong middleware. Chạy các hook phía sau hook này, rồi tới hành vi của Claude Code. Trả về kết quả của event. |
next.signal | Một AbortSignal bị abort khi event bị bỏ dở |
next.origin | { plugin, tier } của bên đã kích hoạt event. Bản thân Claude Code là { plugin: 'engine', tier: 'core' }. tier của một mod là nhóm ưu tiên của nó trong thứ tự chạy của các mod: prepend, user, append hoặc builtin. |
next.budget | Giới hạn thời gian của hook tính bằng mili giây: next.budget.ms là toàn bộ giới hạn, next.budget.remainingMs là phần còn lại ở thời điểm hiện tại |
next.to(e, tier) | Nhảy tới một tier phía sau, là append, builtin hoặc core. next.to(e, 'append') bỏ qua các mod do user cài. Chỉ mod nằm trong prependPlugins hoặc appendPlugins mới gọi được. |
next.error, next.called | Chỉ có trong .catch handler. next.error.kind là throw hoặc timeout, next.error.message là nội dung lỗi, và next.called là true khi hook bị lỗi đã gọi next. |
Event
Phần tiêu đề “Event”Các event được nhóm theo chủ đề, mỗi event kèm thời điểm kích hoạt và những gì một hook trên nó có thể trả về. Hook trên turn.step và process.spawn là async generator, các hook khác là async function.
Cột cuối của mỗi bảng dùng cách viết tắt. next(e) chuyển event đi tiếp nguyên vẹn. next({ ...e, text }) chuyển đi một bản copy với field được nêu tên đã thay đổi, như next({ ...e, text: e.text.trim() }). Một object nghĩa là trả lời event mà không gọi next, và một từ như reason đại diện cho một chuỗi do bạn viết, như { deny: 'Use the file tools.' }.
Các event tool kích hoạt xung quanh mỗi tool call của Claude, từ mô tả mà Claude đọc tới quyết định call có được chạy hay không:
| Event | Kích hoạt khi | Hook có thể trả về |
|---|---|---|
tool.call | Một tool sắp chạy | next(e), { deny: reason }, hoặc { result } |
tool.check | Claude Code quyết định một tool call có được chạy không, sau các hook tool.call và PreToolUse. next(e) trả về quyết định mà các rule, permission mode và các hook đó đưa ra. | { decision }, là allow, ask hoặc deny |
tool.describe | Một lần cho mỗi tool, khi mô tả của nó được gửi cho Claude lần đầu | { description }, có thể kèm isDeferred là true để đưa tool vào sau tool search hoặc false để nạp nó ngay từ đầu |
Prompt và những gì Claude đọc
Phần tiêu đề “Prompt và những gì Claude đọc”Các event prompt bao gồm text mà user gõ và text mà Claude Code tự gửi cho Claude, như system prompt và các lời nhắc (reminder):
| Event | Kích hoạt khi | Hook có thể trả về |
|---|---|---|
prompt.submit | Một prompt được gửi | next({ ...e, text }), next({ ...e, context }), hoặc { drop: reason } |
prompt.fill, prompt.suggest | Text sắp được đưa vào ô prompt dưới dạng bản nháp, hoặc dưới dạng gợi ý mờ | next(e) với text đã thay đổi |
prompt.edit | User sửa nội dung ô prompt | next(e) |
prompt.compose | Claude Code render một system prompt | { sections }, một danh sách { id, text, scope } theo thứ tự được gửi |
prompt.section | Một lần cho mỗi phần có tên của system prompt. e.name là id của phần đó trong prompt.compose. | { text }, hoặc { text: null } để bỏ phần đó |
prompt.context | Một lần cho mỗi cuộc hội thoại, cho context gửi kèm message đầu tiên | { blocks } |
prompt.attachment | Claude Code tự thêm một message cho Claude, như một lời nhắc. e.type cho biết loại, và với các loại mà type có khai báo, e.detail chứa các dữ kiện dùng để viết text đó. | { text }, hoặc { text: null } để bỏ nó |
skill.prompt | Nội dung của một skill được mở rộng cho Claude | { text } |
attribution.text | Claude Code soạn text attribution cho commit hoặc pull request | { text } |
Command và cấu hình
Phần tiêu đề “Command và cấu hình”Các event command và cấu hình kích hoạt khi một command chạy hoặc được liệt kê, và khi một dòng trong /config được hiển thị hoặc thay đổi:
| Event | Kích hoạt khi | Hook có thể trả về |
|---|---|---|
command.run | Một command sắp chạy | { text }, {}, hoặc next(e) |
command.describe | Một lần cho mỗi command, cho danh sách command | { description, argumentHint, isHidden } |
config.set | Một dòng trong /config sắp thay đổi | next({ ...e, value }) hoặc { deny: reason } |
config.describe | Một lần cho mỗi dòng trong /config | { label, description, isHidden } |
Các event turn theo dõi một câu trả lời từ đầu đến cuối, bao gồm từng request tới model trong đó:
| Event | Kích hoạt khi | Hook có thể trả về |
|---|---|---|
turn.start | Một turn bắt đầu | next(e) |
turn.step | Một request sắp được gửi tới model | yield* next(e), hoặc next({ ...e, model }), next({ ...e, effort }) |
turn.complete | Một turn đã kết thúc | next(e), hoặc { text } để hiện một dòng dưới câu trả lời |
Session
Phần tiêu đề “Session”Các event session đánh dấu session bắt đầu, kết thúc, compact, và trao đổi tin nhắn với session khác:
| Event | Kích hoạt khi | Hook có thể trả về |
|---|---|---|
session.start | Một lần cho mỗi mod đã nạp, trước prompt đầu tiên, và một lần nữa sau mỗi lần mod đó reload. Không chạy sau /clear, /resume hay /branch. | next(e) |
session.end | Session kết thúc, hoặc /clear, /resume hay /branch chạy. e.reason là clear, resume, logout, prompt_input_exit hoặc other. /branch báo là resume. | next(e) |
session.compact | Cuộc hội thoại sắp được compact | { skip: reason } |
session.receive, session.send | Một tin nhắn đến từ, hoặc sắp được gửi tới, một agent hay session khác. Xem Gửi và nhận tin nhắn giữa các session. | { consumed: reason } với receive, { isDelivered: false, reason } với send |
session.append | Một lần cho mỗi dòng mà cuộc hội thoại giữ lại, như một prompt, một khối response, một kết quả tool hay một thông báo, trước khi nó được lưu | next({ ...e, message }) để viết lại content của dòng |
session.attach, session.detach | Một ứng dụng khác kết nối hoặc ngắt kết nối với session | next(e) |
session.measure | Sau mỗi turn, và khi phần trăm sử dụng của một giới hạn gói thay đổi | next(e) |
Subagent
Phần tiêu đề “Subagent”Các event subagent kích hoạt khi một loại subagent được đề xuất cho Claude, và khi một subagent hoặc một thành viên agent team sắp khởi động:
| Event | Kích hoạt khi | Hook có thể trả về |
|---|---|---|
agent.offer | Một loại subagent được đề xuất cho Claude | { isOffered: false } để giữ lại không đề xuất |
agent.spawn | Một subagent hoặc một thành viên agent team sắp khởi động. Với thành viên team, e.isTeammate là true. | next({ ...e, model }) để chọn model cho nó, hoặc { deny: reason } |
Giao diện
Phần tiêu đề “Giao diện”Các event giao diện kích hoạt khi Claude Code vẽ một render site và khi user dùng một control mà mod đã vẽ. Trang Vẽ giao diện bằng mod cho thấy một hook ui.render trả về gì:
| Event | Kích hoạt khi |
|---|---|
ui.render | Một render site sắp được vẽ |
ui.resolve | Các mod được nạp, một lần cho mỗi ứng dụng, render site và mod. Kết quả là bảng element mà $.ui.resolve(e) đọc. |
ui.press, ui.input, ui.select | Một Button, Input hoặc Select mà mod đã vẽ được sử dụng |
ui.focus, ui.scroll | Control đang được focus hoặc vị trí cuộn của một pane hay band sắp thay đổi |
ui.close | Một pane sắp đóng. e.id là pane và e.origin.kind là plugin, person hoặc unload. |
ui.message | Một element Client post dữ liệu tới mod của nó |
ui.fault | Một element Client mà mod đã vẽ không nạp được, không vẽ được hoặc lỗi khi chạy. e.phase là load, render hoặc run, và e.reason là thông báo lỗi. Yêu cầu Claude Code v2.1.289 trở lên. |
Các mod khác
Phần tiêu đề “Các mod khác”Các event này cho phép một mod tác động lên các mod khác khi chúng được nạp, để từ chối một mod hoặc thay đổi mods API mà nó nhận:
| Event | Kích hoạt khi | Hook có thể trả về |
|---|---|---|
plugin.register | Một hooks module sắp được nạp. e.uses liệt kê các event, lời gọi mods API, biến môi trường và state của nó, đúng như claude plugin validate in ra. Mỗi lời gọi được viết không có tiền tố $., như fs.read. | { refuse: reason } |
engine.create | Mods API đang được dựng cho mod này | Một mods API đã thay đổi, để thêm hoặc giữ lại một namespace |
Telemetry
Phần tiêu đề “Telemetry”Các event telemetry kích hoạt cho các bản ghi usage mà Claude Code ghi lại:
| Event | Kích hoạt khi | Hook có thể trả về |
|---|---|---|
telemetry.log, telemetry.mark | Một bản ghi telemetry sắp được ghi, hoặc một lần dùng tính năng được đánh dấu. Trong một mod bạn cài, hãy cho hook telemetry bộ lọc { to: 'collector' }, như on('telemetry.log', { to: 'collector' }, hook). Không có bộ lọc, mod sẽ không vượt qua claude plugin validate. * không khớp các event này. | next(e), hoặc { deny: reason } |
Event của settings hook
Phần tiêu đề “Event của settings hook”Mỗi event của settings hook là một event có tên classic.<Event>, như classic.Stop hoặc classic.PostToolUse. e là JSON stdin của hook.
Lời gọi mods API
Phần tiêu đề “Lời gọi mods API”Mỗi method của mods API cũng là một event, đặt tên theo namespace và method, như fs.read, model.complete hoặc ui.open. Một hook trên event đó chặn được các lời gọi từ những mod chạy sau nó, và có thể trả về next(e), { deny: reason }, hoặc { value }.
Phương thức mods API
Phần tiêu đề “Phương thức mods API”Mods API là tham số $ mà mọi hook nhận được. Các method của nó được nhóm theo namespace, như $.ui. Bảng dưới liệt kê method của từng namespace theo tên, nên open ở dòng $.ui là lời gọi $.ui.open(...). Các bài hướng dẫn trình bày cách dùng những method phổ biến, còn type cho bản build của bạn mô tả mọi method kèm ví dụ.
| Namespace | Method |
|---|---|
$.plugin | name, root: tên và thư mục của plugin này |
$.ui | resolve, invalidate, open, close, panes, focus, scroll, toast, status, log, notice, ask, copy, selection, blit |
$.command | register, run, list |
$.tool | register, call, check, list |
$.agent | register, spawn, list |
$.model | complete, fork, classify |
$.prompt | submit, read, fill, suggest, compose. Claude đọc text từ submit({ text }) sau một câu nêu tên mod của bạn là người gửi. submit({ text, asUser: true }) gửi text như lời của chính user, không có câu đó. |
$.turn | abort |
$.session | messages, cwd, root, model, turns, id, repo, surfaces, usage, version, compact, send, append, authorize. usage() trả về { startedAt, context, rateLimits, cost }: context có tokens, window và percent, còn rateLimits là danh sách { kind, percentUsed, resetsAt }. |
$.config | list, set |
$.settings | read |
$.env | get, set |
$.fs | read, write, list, exists, stat, ancestors. write không atomic: nó thay nội dung file tại chỗ, nên process khác có thể đọc phải một file mới ghi được một phần. Hãy giữ dữ liệu mà nhiều session cùng thay đổi trong $.store. |
$.store | get, set, delete, keys. Một key-value store dùng chung cho mọi session trên máy. Xem Lưu từ nhiều session. |
$.state | Reactive state: get, set, cùng các helper atom, read, update, derive và memberOf import từ claude-code |
$.clock | now, sleep, after, every |
$.http | fetch |
$.process | run, spawn |
$.mcp | call, connect. connect(server) kết nối một MCP server mà manifest của chính plugin bạn liệt kê. |
$.audio | play, speak |
$.telemetry | log, mark. Bản ghi chỉ được gửi khi Claude Code hoặc một mod tích hợp sẵn thực hiện lời gọi. |
Render site
Phần tiêu đề “Render site”Render site là một điểm mở rộng trong giao diện Claude Code. Mỗi dòng là một giá trị của e.component trong hook ui.render, kèm các field của e.props và các ứng dụng render nó. e.surface là terminal hoặc desktop. Phần Thay đổi những gì Claude Code đã vẽ sẵn cho thấy một hook có thể làm gì tại một site, kèm ví dụ cho từng lựa chọn.
| Site | e.props | e.requestId | Được render trên |
|---|---|---|---|
Pane | title, isFocused, bodyColumns, placement, scroll, view | id của pane | Terminal, Desktop |
AbovePrompt | hasSurvey, isWorking, maxRows, bodyColumns, scroll, view | Một instance duy nhất | Terminal, Desktop |
UserMessage | text, origin, isExpanded, và task hoặc from tùy origin | id của message | Terminal, Desktop |
AssistantMessage | Text của câu trả lời | id của message | Terminal, Desktop |
ToolUse, ToolResult, ToolGroup | Tên, input và kết quả của tool | id của tool call | Terminal, Desktop |
CommandOutput | command, text | id của message | Terminal, Desktop |
AskUserQuestion | Câu hỏi và các lựa chọn | id của tool call | Terminal, Desktop |
ToolProgress | kind | id của tool call | Terminal |
Spinner | word, message, suffix, mode | id của agent | Terminal, Desktop |
TurnDuration | word, durationMs | id của message | Terminal |
InfoNotice | text, command | id của message | Terminal |
SessionMode | modes | Một instance duy nhất | Terminal, Desktop |
PromptHint | isDraft, isWorking, hint | Một instance duy nhất | Terminal, Desktop |
e.viewport chứa columns, rows và isFullscreen. Nó không có mặt cho đến khi ứng dụng đã đo kích thước cửa sổ. rows của nó là chiều cao của toàn bộ cửa sổ, không phải của pane.
Để cây vừa với site, hãy đọc các prop sau trong hook:
- Chiều rộng của
Panehoặc band: vẽ theoe.props.bodyColumns - Chiều cao của
Panenằm cạnh transcript: khie.props.placementlà'dock',e.props.scroll.bodyRowslà số hàng mà pane có - Chiều cao của
Panenằm phía trên prompt: khie.props.placementlà'inline', pane cao dần theo cây của bạn tới một giới hạn, vàbodyRowschỉ đếm các hàng đang hiển thị. Fieldrowscủa$.ui.openxin một giới hạn khác.
Một cây cao hơn pane sẽ được cuộn như một khối.
Element
Phần tiêu đề “Element”Element là các khối xây dựng nên cây mà hook ui.render trả về, và bạn lấy chúng từ $.ui.resolve(e). Phần Dựng cây từ các element trình bày các element thường dùng cùng cách terminal vẽ chúng, và thư viện phần tử giao diện có ảnh chụp của hầu hết element. Dấu tích nghĩa là ứng dụng vẽ được element đó.
| Element | Prop chính | Terminal | Desktop |
|---|---|---|---|
Box | key, flex layout, gap, padding, margin, width, height, borderStyle, backgroundColor, position, hover | ✓ | ✓ |
Text | color, backgroundColor, bold, italic, underline, dimColor, inverse, wrap | ✓ | ✓ |
Button | key, label, onPress, hotkey, plain, dimColor, autoFocus, action | ✓ | ✓ |
Link | href, label | ✓ | ✓ |
Code | Đoạn code, tối đa 10.000 ký tự | ✓ | ✓ |
Markdown | text, tối đa 10.000 ký tự, key, dimColor, onLinkPress, pressableLinks | ✓ | ✓ |
Input | key, label, placeholder, value, submitLabel, onSubmit, onInput, autoFocus | ✓ | ✓ |
Select | key, label, options, value, onSelect, autoFocus | ✓ | ✓ |
Svg | Một tài liệu SVG, tối đa 131.072 ký tự | ✓ | |
Client | module, key | ✓ | ✓ |
Raster | key, columns tối đa 512, rows tối đa 256, cells. Xem Vẽ lưới ô màu. | ✓ | |
Image | Byte PNG hoặc RGBA tối đa 2 MiB, hoặc một đường dẫn file | ✓ |
Các quy tắc khác của Button: action là tên một keybinding action của chính Claude Code, và phím tắt mà user gán cho action đó sẽ bấm nút khi phím tắt là một chord hoặc một phím có modifier. Một hotkey chữ số trên một nút trong band cũng được kích hoạt khi user gõ riêng chữ số đó vào ô prompt trống rồi dừng lại. Khi hai nút trong cùng một phần vẽ dùng chung một hotkey, nút sau sẽ nhận nó. autoFocus chỉ nhận true trên mọi control, nên hãy bỏ prop này đi để tắt nó.
Giới hạn
Phần tiêu đề “Giới hạn”Hook và các lời gọi mods API chạy dưới các giới hạn về thời gian và kích thước. Claude Code bỏ qua một hook vượt giới hạn thời gian và từ chối một lời gọi vượt giới hạn kích thước.
| Giới hạn | Giá trị |
|---|---|
Thời gian thực thi riêng của một hook cho một event, không tính thời gian bên trong next hoặc một lời gọi mods API khác $.clock.sleep | 10 giây, hoặc 50 mili giây với hook prompt.edit |
Thời gian thực thi của một .catch handler | 1 giây |
Tổng tất cả hook session.end | Bằng ngân sách của SessionEnd hook, 1,5 giây trừ khi bạn thay đổi, tính từ lúc các settings hook SessionEnd của bạn chạy xong |
Timeout của $.process.run | Mặc định 30 giây, tối đa 10 phút |
maxTokens của $.model.complete | Mặc định 1024, tối đa 64.000 hoặc giới hạn output của model |
$.fs.read và $.fs.write | 4 MiB cho một file |
Một string child của Text | 10.000 ký tự |
$.store | Tổng cộng 4 MiB JSON |
$.session.messages() | 4.096 mục mới nhất |
Số lần vẽ lại bằng $.ui.invalidate('ui.render') | Giới hạn 10 lần một giây, hoặc 30 lần trong terminal với pane đang hiển thị, band đang mở rộng, và dòng gợi ý dưới prompt. Các lời gọi đến sớm hơn sẽ được gộp lại. |
$.ui.toast | Hiển thị 4 giây, trừ khi bạn truyền { timeoutMs } |
| Pane được mở khi user không yêu cầu | Được đặt từ 144 cột terminal, 110 cột sau khi user đã tự mở nó một lần |
| Tên command, tool, loại subagent và pane | Chữ cái, chữ số, _ và -, tối đa 64 ký tự |
Một test claude plugin test | 5 giây, trừ khi test đặt timeoutMs |
Settings và biến môi trường
Phần tiêu đề “Settings và biến môi trường”Đây là các setting và biến môi trường ảnh hưởng tới mods. Cột Đọc từ đâu cho biết mỗi cái được đọc từ settings file hay môi trường nào:
| Tên | Đọc từ đâu | Tác dụng |
|---|---|---|
CLAUDE_CODE_PLUGIN_DIRS | Môi trường, hoặc env trong ~/.claude/settings.json | Các thư mục plugin cần nạp giống như --plugin-dir, dành cho những ứng dụng mà bạn không truyền cờ được. Đường dẫn tuyệt đối phân cách bằng :, hoặc ; trên Windows. |
CLAUDE_CODE_PLUGIN_DIR_WATCH | Môi trường | 1 khiến một session non-interactive chạy lâu reload các mod --plugin-dir khi lưu file |
prependPlugins, appendPlugins | Managed settings. Chỉ đọc từ user settings trên máy không có managed settings, với user không đăng nhập bằng gói Team hoặc Enterprise. | Danh sách plugin id, như acme-guard@acme-tools. Mod trong prependPlugins chạy trước mọi mod do user cài, mod trong appendPlugins chạy sau, theo thứ tự liệt kê. Xem Thứ tự chạy của các mod. |
allowManagedModsOnly | Managed settings, dưới dạng option của guard tích hợp sẵn | Chỉ các mod được tính là của tổ chức, và các mod tích hợp sẵn trong Claude Code, được nạp. Settings hooks của user vẫn tiếp tục chạy. |
allowModsToOverrideDenyRules | Managed settings, dưới dạng option của guard tích hợp sẵn | Cho phép mod do user cài duyệt một tool call mà rule deny từ chối |
allowManagedHooksOnly | Managed settings | Chặn hook và các mod đã cài không phải của tổ chức. Xem những gì vẫn chạy. |
disableAllHooks | Bất kỳ settings file nào | Trong managed settings, không mod hay hook nào từ plugin đã cài được chạy. Trong settings của bạn, những gì tổ chức quản lý vẫn tiếp tục chạy. Xem disableAllHooks. |
disableSideloadFlags | Managed settings | Từ chối --plugin-dir và --plugin-url lúc khởi động |
pluginConfigs | User settings hoặc managed settings | Chứa các giá trị userConfig cho một mod, theo key là plugin id, như acme-guard@acme-tools, hoặc tên kèm @inline, như first-mod@inline, với mod nạp bằng --plugin-dir |
sec-default@builtin là một guard tích hợp sẵn trong Claude Code, được liệt kê là cc-plugin-sec-default trong /plugin và debug log. Nó được nạp trước mọi mod do một người cài trên máy có managed settings, hoặc với user đăng nhập bằng gói Team hay Enterprise. Nếu managed prependPlugins đã được đặt, guard chỉ được nạp khi danh sách đó có tên nó, tại vị trí được liệt kê. Mã nguồn của nó nằm trong thư mục mods/sec-default của repository Claude Code.
Các command và cờ sau dùng để nạp, kiểm tra và test một mod. Các lệnh claude chạy trong shell, còn các lệnh / chạy tại prompt của Claude Code. Trong bảng, <directory> là đường dẫn bạn gõ, như claude plugin validate ./first-mod. Ngoặc vuông đánh dấu tham số tùy chọn.
| Lệnh | Tác dụng |
|---|---|
/plugin | Hiển thị một dòng như 1 mod active · first-mod dưới các tab khi có mod không phải tích hợp sẵn đã được nạp |
claude plugin validate <directory> | Đọc manifest và hooks module của một plugin, báo lỗi, các event nó xử lý, và các lời gọi mods API nó thực hiện. --strict coi warning là lỗi, còn --json in báo cáo dạng máy đọc được. |
claude plugin test [directory] | Chạy mọi file trong thư mục, hoặc thư mục hiện tại nếu không truyền, có tên kết thúc bằng .test.ts hoặc .test.tsx. Thoát với status 1 khi có test fail. |
claude --plugin-dir <directory> | Nạp một thư mục plugin cho một session và reload hooks module khi bạn lưu. Lặp lại cờ để nạp nhiều thư mục. |
/reload-plugins | Reload các plugin khi bạn chạy nó |
Bài tiếp theo: Quản lý mods cho tổ chức - Kiểm soát mods bằng managed settings: chặn mod do user cài, chỉ cho phép mod của tổ chức, và thực thi policy bằng mod riêng.