#91870·claude-code

Mods - make Claude 10x more extensible

Author: poteatCreated Sep 3, 2026Updated Sep 17, 2026
Labelsenhancementarea:hooksarea:plugins
# Community Update: Sep 9, 2026 > **AI;DR**: We're shipping in N weeks. Thank you all for the positive feedback, and especially for the insightful, high-signal feedback that has materially shaped our design. We're now committed to shipping function hooks, on the scale of weeks in lieu of days or months. As well, from a product perspective, we are going to be calling this functionality "Claude Mods". The engineering term of art 'function hook' will still exist as the documented implementation primitive Mods are built on. A mod is just a plugin that uses function hooks, nothing is changing there. Hopefully the ontology is not too confusing. We're still rapidly iterating on the interface, design, etc. but much of the semantics are now set in place, and we don't anticipate as many breaking changes as our first week. Therefore, we've made available our [source listings](https://github.com/anthropics/claude-code/tree/main/mods) for our first three built-in mods, perusable here. Our intent is to take further extant features as they exist in CC today and migrate them to mod form. Finally, I'm sharing here a cheat sheet reference that enumerates some affordances on v267/v268 (today / tomorrow). As well, I may now publicly acknowledge that any folks who want to test and give feedback may use `CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1 claude`. We are still iterating and it is only more important for the community to engage and give critical feedback to ensure this ends up in the right shape. Thank you all. # Original Post: Sep 3, 2026 ### Hi folks! ✨ > **AI;DR**: Function Hooks let you modify CC very deeply, while still being safe through side-effect tracking over a parameterized $ object, and while composing neatly using a registration-order-based 'next' continuation model a la Express, or Koa. I was asked to get feedback from the community regarding an internal proposal we have. Basically, it would be neat if you could hook into CC using TypeScript functions a la Express (or Koa!), and basically change whatever you want. So that's what we're proposing. In the workplace, admins will be able to change what they want too, including _your_ ability to change things, to a very fine level of programmatic detail. You should even be able to modify how components get rendered. We use React across the board, so why not utilize that fact? There's a [technical architecture doc](https://github.com/user-attachments/files/31802150/EXTERNAL.Function.Hooks.Core.Architecture.pdf), that goes through some of the design. As well, I made a few videos for internal folks so they could see how it might feel, which I'm sharing here too. I've tried to ensure that they're informative and engaging. Algebraically, this is just an effect-parameterized endomorphic continuation model for plugins. **If you want this, please engage here** - the response from the community likely dictates whether this ships or not. The **`$`** sigil isn't negotiable though, I follow a [more ancient god](https://jquery.com/). # Basic Series You can either click on the thumbnails or the inline video toggles below. Each Basic and Advanced video is 60 seconds; the full Case Study videos are around 2 minutes long and show more comprehensive uses of function hooks to form cohesive features.
> ⚠️ GitHub **mutes videos** by default, so be sure to turn sound on. The four videos
 ⓵ A hook as a function

We introduce the ability for hooks to be TypeScript functions, with full type definitions and LSP support.

https://github.com/user-attachments/assets/6e354c92-d71e-4882-bcce-c5f76883d40a  ⓶ A hook that says no

Function hooks may be used to restrict behavior, for safety and control, as you're used to.

https://github.com/user-attachments/assets/7b8a3fda-c6b3-40f9-853b-22a86c7cba9d  ⓷ Plugins can draw now

You can hook onto components and modify their props or wrap their returned render nodes.

https://github.com/user-attachments/assets/ea09f465-d147-4884-947e-fb32c39649fa  ⓸ Admin control as a hook

Admins can remove affordances from $ so that all plugins below cannot invoke that side-effect.

https://github.com/user-attachments/assets/26177745-89fa-466b-a2f6-4649369ec7e2 # Advanced Series
The three videos
 ⓹ Order is nesting

Plugins nest like middleware. The first one registered wraps the rest, so admins prepend for control and append for defaults.

https://github.com/user-attachments/assets/3a45eadd-9d40-405b-b044-4683f3dd3a36  ⓺ Press a plugin's button

Hooks catch interactions too. One hook on ui.press sees the same button pressed in the terminal and in the desktop app.

https://github.com/user-attachments/assets/7f01bbee-1de2-46f9-b75d-5bc68cf4dbfc  ⓻ Every event at once

A single hook on * sees every event, including every plugin's own calls on $, so an audit log is one function.

https://github.com/user-attachments/assets/c7e3243f-9af0-445d-aa75-12c4d20ac9bc # Case Studies
The two videos
 ⓼ One sentence. One plugin

From one short ask, Claude writes, validates and loads a plugin that replaces secrets in tool output before the model reads them.

https://github.com/user-attachments/assets/44601a4e-a4b4-4e0b-b1d2-4621293b8150  ⓽ Change what Claude Code shows

A plugin hides sensitive values in Claude Code Desktop until you hover over them, so you can share your screen without showing your data.

https://github.com/user-attachments/assets/9a3abf85-0df2-4975-ac7c-0424a8dff5d2 AI usage disclosure

thumbnails are AI; demos and code are real, running on actual binaries

Fun widget

Read the "Function Hooks: Core Architecture" doc below to figure out what this little animation represents.

[Function Hooks Core Architecture.pdf](https://github.com/user-attachments/files/31802150/EXTERNAL.Function.Hooks.Core.Architecture.pdf)