Bez firemní správy smí mod v Claude Code schválit i volání zakázané pravidlem deny
Claude Code 2.1.287 zapnul 1. října mody, tedy zásuvné moduly, jejichž kód běží přímo v nástroji a vidí každý pokyn i volání nástroje. Pravidla deny proti nim drží jen tam, kde se načte vestavěný strážce: na počítači se spravovaným nastavením nebo u tarifů Team a Enterprise. Jinde smí mod schválit i volání, které uživatel výslovně zakázal.
V seznamu změn Claude Code má hlavní novinka verze 2.1.287 jediný řádek: „Added Claude Mods: plugins may now modify deeper behavior“, tedy že zásuvné moduly teď mohou měnit chování nástroje hlouběji. Verze podle evidence balíčku na npm vyšla 1. října 2026 v 18.59 našeho času. Co se za tím skrývá, popisuje až dokumentace k modům. Mod je zásuvný modul (plugin) s obsluhou událostí v JavaScriptu nebo TypeScriptu, kterou Claude Code volá ve vlastním procesu: při volání nástroje, při odeslání pokynu nebo při kreslení části rozhraní. Obsluha může událost jen sledovat, může ji přepsat, nebo ji vyřídit sama, a pak se původní akce vůbec neprovede.
Od verze 2.1.287 jsou mody zapnuté bez dalšího nastavení. Do té doby šly vyzkoušet v předběžném přístupu přes proměnnou prostředí CLAUDE_CODE_ENABLE_FUNCTION_HOOKS. Nová verze ji podle dokumentace ignoruje, takže hodnota 0 mody už nevypne. Zdrojový kód prvních vestavěných modů přibyl do veřejného repozitáře 9. září.

Mod běží s právy uživatele a bez izolace
Dokumentace to říká bez obalu: mody nejsou izolované (sandboxed). Po načtení smí mod číst a zapisovat soubory všude, kam smí uživatelský účet, spouštět programy a posílat síťové požadavky. Přečte proměnné prostředí i soubory s nastavením, a tím i klíč API, pokud v nich leží. Vidí každý pokyn a každé volání nástroje, smí je přepsat a smí odeslat pokyn, jako by ho napsal uživatel. Volá model na jeho předplatné nebo klíč. A smí schválit volání nástroje dřív, než se Claude Code na svolení vůbec zeptá.
Jednu mez dokumentace uvádí. Mod překreslí většinu rozhraní, ale ne dotaz na oprávnění, takže nezmění, co v něm uživatel uvidí. Když ovšem volání schválí sám, žádný dotaz se neukáže.
Pravidla deny hlídá strážce, který se nenačte všem
Rozhoduje o tom událost tool.check. Podle stránky o oprávněních odpovídá mod až po pravidlech a po hácích PreToolUse a jeho odpověď smí tu jejich nahradit. Volání, na které by se pravidlo ask zeptalo, mod schválí. Zablokování hákem PreToolUse přebije, pokud ten hák neleží ve spravovaném nastavení. V automatickém režimu projde volání, které mod schválil, bez kontroly klasifikátorem.
Pravidlo deny, tedy výslovný zákaz, drží jen tam, kde se načte vestavěný strážce sec-default. Ten se načte na počítači se spravovaným nastavením (managed settings), nebo když je uživatel přihlášený tarifem Team či Enterprise. Kdo se přihlašuje klíčem API nebo jede přes Amazon Bedrock, Google Cloud či Microsoft Foundry, dostane strážce jen se spravovaným nastavením. „Anywhere else, the mod can approve a call that a deny rule refuses,“ stojí v dokumentaci. Jinde tedy smí mod schválit i volání zakázané pravidlem deny. Typicky jde o vývojáře s osobním předplatným na vlastním počítači.
Popis strážce v repozitáři vysvětluje, proč vůbec vznikl. Mod, který si člověk nainstaluje, aby se ho Claude Code přestal ptát, se dá napsat jako jediná funkce vracející „allow“. Bez strážce by taková funkce zvedla i pravidlo deny, spravované nevyjímaje. Strážce proto v tom případě spustí rozhodování znovu, tentokrát bez modů uživatele, a když z něj vyjde zákaz s konkrétním pravidlem, platí zákaz. Uživatel se to dozví větou v přepisu relace, jednou za sezení u každého modu. Při chybě se strážce zavírá: když nepřečte spravované nastavení, mody uživatele odmítne. Firma mu může nastavit dvě volby. První, allowManagedModsOnly, pustí jen mody, které firma sama nasadila. Druhá, allowModsToOverrideDenyRules, naopak dovolí modům uživatelů pravidla deny přebíjet.
Ani pod strážcem se pravidla deny netýkají toho, co mod dělá sám. Čtení přes $.fs.read nebo program spuštěný přes $.process.run nejsou volání nástroje, a stránka pro správce proto výslovně uvádí, že se zakázaným Read(.env) si mod ten soubor přečte stejně. Podobně zákaz síťového přístupu pokryje požadavek přes $.http.fetch, ale ne program, který mod spustí. Ten jde do sítě s právy uživatele.
Co mod dělá, se dá vypsat před instalací
Mod se instaluje jako kterýkoli jiný plugin, z tržiště (marketplace). Před instalací stačí stáhnout jeho soubory a spustit claude plugin validate ./adresar-modu. Výpis má řádek hooks: s událostmi, na které mod reaguje, a řádek calls: s tím, co po Claude Code chce. Mod, jehož volání tenhle rozbor nepřečte, Claude Code podle dokumentace odmítne načíst. Pozornost zaslouží tool.check mezi událostmi a $.fs.write, $.process.run, $.http.fetch nebo $.env.get mezi voláními.
Vypnout jde mod jednotlivě v nabídce /plugin. Všechny nainstalované vypne na jedno sezení přepínač --safe-mode, natrvalo volba "disableAllHooks": true v souboru ~/.claude/settings.json; ta ale zastaví i háky z nastavení a vlastní stavový řádek. V adresáři, kterému uživatel ještě nepotvrdil důvěru, se žádný mod nenačte, dokud na ten dotaz neodpoví. Stahovat mod přitom nikdo nemusí. Claude Code ho na požádání napíše sám a načte ho v téže relaci, pokud to nezakáže firemní seznam povolených tržišť nebo volba disableSideloadFlags.
Část funkcí Claude Code už mody jsou
Mody jsou i některé vestavěné funkce. Čtení souboru AGENTS.md, které Claude Code přidal v září, obstarává mod cc-plugin-agents-md. Panel příkazu /diff kreslí cc-plugin-diff a analytické záznamy odesílá cc-plugin-telemetry. Přepínače disableAllHooks, --bare ani --safe-mode vestavěné mody nezastaví, každý má vlastní vypínač.
Druhou novinkou verze je vestavěný mod You should know. Pouští postranního agenta, který při delších úlohách sleduje práci a nad pole pro pokyn vypíše poznámku, když narazí na něco, co by uživatel mohl přehlédnout. Ve výchozím stavu je vypnutý, zapíná se příkazem /plugin enable cc-plugin-you-should-know@builtin a podle seznamu změn funguje jen v relacích vedených přímo přes Anthropic se zapnutou telemetrií.
Rozšíření, která sahají do toku nástrojů, nejsou mezi agentními nástroji nová. Codex v srpnu dovolil rozšířením přepsat výsledek nástroje MCP. U Claude Code ale v seznamu změn nestojí ani to, že jsou mody zapnuté ve výchozím stavu, ani to, kdy smějí přebít zákaz. Obojí je jen v dokumentaci.
Zdroje
- Seznam změn Claude Code – znění položek u verze 2.1.287
- Evidence balíčku @anthropic-ai/claude-code na npm – datum a čas vydání verze 2.1.287
- Dokumentace Claude Code: Mods overview – co mod smí, jak se vypíná a které mody jsou vestavěné
- Dokumentace Claude Code: Manage mods for your organization – výchozí chování, strážce a jeho volby
- Dokumentace Claude Code: Configure permissions – pořadí pravidel, háků a modů u volání nástroje
- Popis modu sec-default v repozitáři anthropics/claude-code – jak strážce drží pravidla deny a kde se načte