BOOTBLOCK ROM 40.1 · — · zero reklam · RSS · o serwisie
DF0: / DEV / claude-code-mods-javascript-wtyczki
DEV · 20.10.2026

Mods w Claude Code: własne panele, komendy i blokady w kilkunastu linijkach JavaScriptu

Claude Code od wersji 2.1.287 domyślnie ładuje mody, czyli kod w JavaScripcie i TypeScripcie, który przechwytuje zdarzenia: rysuje panele, przerabia interfejs, łapie wywołania narzędzi. Mod nie ma sandboksa i działa z uprawnieniami użytkownika, więc instalowanie byle czego to zły pomysł.

autor: Maxczytanie: 4 minpublikacja: 20.10.2026
df0:claude-code-mods-jgrafika 300×170
Mods w Claude Code: własne panele, komendy i blokady w kilkunastu linijkach JavaScriptu

Kto pisał skrypty ARexxa pod Directory Opusa, zna to uczucie: program przestaje być zamkniętym pudełkiem i zaczyna robić to, czego chce właściciel. Mody w Claude Code działają podobnie. To procedury obsługi zdarzeń w JavaScripcie albo TypeScripcie, ładowane do środka aplikacji. Są włączone domyślnie od wersji 2.1.287 w terminalu i od 2.1.286 w aplikacji Desktop.

Co potrafi mod w Claude Code

Sporo. Mod może narysować własny panel albo pasek, zmienić wygląd interfejsu, przechwycić wywołanie narzędzia albo zapytanie do modelu i dodać nowe polecenie z ukośnikiem. Kompletny przykład z dokumentacji (tu bez komentarzy i z przełamanymi liniami) liczy wywołania narzędzi i dopisuje licznik do spinnera:

let calls = 0
export function register(on) {
  on('tool.call', async ($, e, next) => {
    calls += 1
    $.ui.invalidate('ui.render')
    return next(e)
  })
  on('ui.render', { component: 'Spinner' },
    async ($, e, next) => next({ ...e,
      props: { ...e.props,
        suffix: ' · tool calls: ' + calls + '…' }
    }))
}

Każdy handler dostaje zdarzenie i funkcję next. Może je przepuścić dalej bez zmian, zmodyfikować albo zatrzymać. Pierwszy handler zwiększa licznik przy każdym wywołaniu narzędzia i każe przerysować interfejs. Drugi łapie renderowanie komponentu Spinner i dokleja do niego sufiks. W efekcie przy kręcącym się wskaźniku widać „Thinking · tool calls: 3…”.

Przykładowe mody: token-weather, blast-radius, replay-theater

Anthropic trzyma przykłady w repozytorium anthropics/claude-code-playground. token-weather rysuje nad promptem prognozę zapełnienia okna kontekstu. blast-radius wstrzymuje ryzykowne polecenie w rodzaju rm -rf albo force push, pokazuje, co by zmieniło, i czeka na decyzję. replay-theater dodaje komendę /replay, która przechodzi krok po kroku przez edycje plików z ostatniej tury. Część funkcji samego Claude Code to też mody, na przykład /diff i obsługa AGENTS.md. Instaluje się je jak wtyczki, poleceniem w rodzaju /plugin install token-chart@your-org.

W ostatnich tygodniach API szybko rośnie. Wersja 2.1.300 z 14 października dodała virtualText, a 2.1.304 z 19 października pozwala przy zdarzeniu tool.check ustawić decider: "person", czyli oddać decyzję człowiekowi.

Czy mody w Claude Code są bezpieczne?

Tu dokumentacja nie zostawia złudzeń. Mod nie ma sandboksa. Działa z uprawnieniami użytkownika: czyta i zapisuje pliki, uruchamia programy, łączy się z siecią, widzi każdy prompt i każde wywołanie narzędzia, czyta klucze API ze zmiennych środowiskowych i potrafi zatwierdzić wywołanie, zanim człowiek zostanie o nie zapytany. Nie zmieni jednego: tego, co pokazuje monit o zgodę. Proces uruchomiony przez mod działa też poza sandboksem Basha, nawet gdy ten jest włączony. Przed instalacją warto więc puścić claude plugin validate ./some-mod. Polecenie wypisze, do jakich zdarzeń mod się podpina (hooks:) i co sam wywołuje (calls:). Gdy coś pójdzie nie tak, Claude Code uruchomiony z --safe-mode albo z ustawieniem disableAllHooks startuje bez modów.

Warto to zestawić z resztą bezpieczeństwa wokół agenta. Kto trzyma całe Claude Code w kontenerze albo w sandboksie, ogranicza też szkody od źle napisanego moda, bo mod nie sięgnie dalej niż ten kontener. Ten sam mechanizm, który w blast-radius blokuje rm -rf, w cudzym modzie mógłby po cichu przepuszczać wszystko. Skrypt ARexxa pod Directory Opusem też mógł zrobić wszystko, na co pozwalał program, który go wołał. Różnica jest taka, że dziś w tym samym procesie siedzą klucze API, a wyciek z OpenCode pokazał, ile kosztuje jedna noc z cudzym kluczem.

EOF / 4 MIN READBOOTBLOCK:/dev/claude-code-mods-javascr
<< Gothic 3 Classic wychodzi 24 listopada. …Agenty AI piszą działający kod. Bezpiecz… >>

Komentarze

Czytają wszyscy. Żeby dodać komentarz, zaloguj się — GitHub, Google albo e-mail.