What mods change
Anthropic's product post, dated October 1, 2026, introduces mods as small TypeScript functions that change how Claude Code works in the CLI and the desktop app. The post says developers had asked for more control without waiting for Anthropic to ship a feature. Hooks already offered some of that control. Anthropic says hooks cannot rewrite events, draw new UI, or replace features, and that mods can. The post says the design was shared on GitHub before launch for feedback, and it names no link for that discussion. A mod can rewrite a prompt, add UI, replace a built-in feature, or add new behavior. It ships inside a plugin, the package Claude Code already uses to install and share extensions. ClaudeDevs posted the same day that you write a few lines of TypeScript or have Claude build the mod, then install it with /plugin in the CLI or the desktop app. That post ends on the line "A few examples:". A follow-up from ClaudeDevs says the team used mods for /diff and AGENTS.md support, and that pre-built sample mods are being added to the Claude Code Playground repo.
The product post says each thing Claude Code does emits an event. Its examples are a tool call, a permission request, and drawing part of the screen. A mod hooks that event before it, after it, instead of it, or by wrapping it so code runs both before and after. One function can rewrite a prompt before it reaches the model, block, rewrite, or retry a tool call, approve or deny a permission request, or redact secrets from tool output before Claude reads it. The getting-started guide's events also include the submitted prompt, the start and finish of a turn, the start and end of a session, slash commands, and ui.render as each piece of the interface is drawn. In that guide, hooks form a chain, like middleware. A hook observes by calling next and reading what comes back, rewrites by calling next with a changed event, or answers without calling next, for example by returning a deny. A mod can target the terminal, the desktop app, or both. When several mods hook the same event, they run in load order. The first one loaded sees the event before the others and sees the result after they have run, which is how mods from different authors stack.
The getting-started guide's sandbox wording is that the module runs in a sandbox of its own, with no DOM and no Node, so everything outside it goes through the $ host API. The product post's line that mods are not sandboxed means the same access to your machine as Claude Code, reached through that API. Install only from a source you trust. The guide says the module is JavaScript or TypeScript and stays loaded for the session. A settings hook runs a shell command for each event and passes JSON on stdin and stdout. A mod is loaded once, can keep state, can draw UI that updates, and can call back into Claude Code.
Who can use them, and under what controls
The getting-started guide requires Claude Code 2.1.287 or later. Mods are on by default, and the API can change between releases. Each load writes that build's type declarations into .claude-plugin/types/, which the guide calls the authority for your version. The Claude Code changelog records the addition in one line, "Added Claude Mods: plugins may now modify deeper behavior." The 2.1.287 minimum comes from the getting-started guide. The product post, the guide, and the changelog do not state a price for mods. The product post names the CLI and the desktop app.
Plugin marketplace allow and block controls still apply. A Team or Enterprise owner sets them in the admin console. On Claude API and third-party API plans, admins push managed settings to users' machines. On Team and Enterprise plans, and on any machine with managed settings, a built-in mod called sec-default ("security default") loads first. It stops user-installed mods from risky actions such as overriding permission deny rules. The product post says you can view the source for what it restricts, and the post leaves that list in the source. Admins can load their own mods first and are told to keep sec-default in the list. Built-in /diff now ships as a mod you can turn off in /plugin or replace. The guide says AGENTS.md support and the /diff pane are mods, with source and tests in the public anthropics/claude-code repository under mods/. Anthropic plans to move more built-in features to mods over time. Team examples on the product post are a CI/CD status pane, a confirmation before a command touches production config, and an audit log from a mod that loads first. That production confirmation is a sketch. The guide's Blast Radius example is the worked command check, and there a text match is a safety net with permission rules as the hard block.
How to try one
The product post says mods are available today. Install a plugin that includes them from the Claude directory, or run /plugin in the CLI. Ask Claude to create a mod and it can write the TypeScript, install it, and hot reload it in the session. The guide says that shortcut loads only for the current session and the folder is cleaned up later. To keep it, copy the folder out and install it as a plugin. The guide also says nothing is installed until you run the install command, and that you should read the publisher's repo first, because the mod is publisher-written code with Claude Code's access.
In a session, the guide's sequence is /plugin marketplace add, /plugin install, and /reload-plugins. From the shell it documents claude plugin marketplace add, claude plugin install, claude plugin validate, and claude plugin test. Confirm the build with claude --version. The guide's first worked example, Token Weather, is about 80 lines. It calls $.session.usage() after session start and after main-loop turns, reads the same figures as the status line, and draws a one-line forecast above the prompt. The guide says that call is free unless you ask for a token-count breakdown. It also says to keep the readings in $.state, because a hot reload starts module variables over. Its demo frames show the band at 18%, then 67%, then 81% of a 200k window.
The guide then tours two larger mods. Blast Radius holds a Bash call it classifies as rm -rf, git reset --hard, git clean, a force push, or a database migration, then offers Proceed and Cancel. In the guide's illustration it holds rm -rf build and lists 9 files (1.1 MB). The guide calls this a safety net that reads the command text, so command substitution, aliases, and scripts that call rm get past it. Permission rules are what provide a hard block. The guide says a hook gets 10 seconds of its own time per dispatch, and that time waiting inside a $ call does not count. Blast Radius uses that rule to wait on short sleep calls until the user chooses. Replay Theater records Edit and Write during a main-loop turn, reads the old file with $.fs.read before a Write lands, and does not block or change the edit. A hint then offers r or /replay to step through that turn's diffs. The guide's illustration is a five-edit rename across three files.
| Context used | Forecast |
|---|---|
| Under 25% | Clear |
| 25–49% | Cloudy |
| 50–74% | Showers |
| 75–89% | Storm |
| 90% and up | Compact soon |
What the two official pages leave open
Sharing is described two ways. The product post says to package the mod in a plugin and submit it to the Claude directory. The getting-started guide says submission at claude.ai/directory/manage becomes available once the Claude directory accepts plugins that include mods. Neither source dates that switch. ClaudeDevs says sample mods are being added to the Claude Code Playground repo. The product post and the getting-started guide do not name that repository.
Source
Also from
Sources and editorial approach
This article relies on the ClaudeDevs announcement and the follow-up on sample mods, both posted October 1, 2026, Anthropic's product post Customize Claude Code with mods (dated October 1, 2026), the claude.dev guide Getting started with Claude Code mods, and the Claude Code changelog, as of October 1, 2026. Tool-call, permission-request, and screen-draw examples come from the product post. The $.session.usage() call and the 10-second hook budget come from the getting-started guide. The changelog line about Claude Mods does not name a version. The guide names 2.1.287 as the minimum. A separate mods API reference and the Claude Code Playground repository are not covered here. The product post, the guide, and the changelog do not list a price for mods.