JIMDRURY.
Jim Drury
Pink editorial diagram: a stippled harness sphere wrapped in dashed mod rings (sec-default, flight-recorder, blast-radius) denying a Bash tool.call, beside a terminal window showing a TypeScript mod
agents

Claude Code Mods: TypeScript that rewrites the agent, not just the prompt

6 MIN READ
- @ClaudeDevs, 1 Oct 2026, follow-up on the mods launch; /diff and AGENTS.md ship as mods

Knowledge files vs middleware that owns events

A brief confession

What a mod actually is

Minimal tool.call Bash guard (adapt, don't paste blind)
// Adapted from Addy Osmani's getting-started guide (Blast Radius shape)
on("tool.call", { tool: "Bash" }, async ($, e, next) => {
  const cmd = String(e.command ?? "");
  if (!/rm\s+-rf|git\s+reset\s+--hard/.test(cmd)) {
    return next(e);
  }
  return { deny: `Held risky Bash: ${cmd.slice(0, 80)}` };
});
AbovePrompt stub (from the public guide)
export function register(on) {
  on("ui.render", { component: "AbovePrompt" }, ($, e, next) => {
    const { Box, Text } = $.ui.resolve(e);
    return Box({ paddingX: 1, children: [Text({ color: "yellow", bold: true, children: "Clear skies" })] });
  });
}

Trust is the spit-take


Thoughts

Similar Articles