Claude Code mods let other apps talk to a running session. Here's what I built with one

Hey everyone, Said here, the maker of CrewTower.

On October 1, Claude Code shipped mods. Hooks could already tell an outside app what Claude was doing and answer a permission prompt. They could never talk back. A mod can.

A mod is a small JavaScript or TypeScript file that Claude Code loads into its own process. It gets called on every event (a tool call, a prompt, a turn ending, part of the screen being drawn) and can watch it, rewrite it, or take it over. It can draw panes and buttons, add slash commands, read context numbers directly, and reach outside Claude Code.

That last part is what I needed. CrewTower lives in the MacBook notch and shows every agent session you run. With a small mod, each Claude card in the notch can now talk to its session:

  • Claude finishes while I'm in the browser. I type the next step on its card and press Send, and it lands in that same session. If Claude is still working, it's queued for when the turn ends.

  • A long run starts going the wrong way. I press Stop on the card, press again to confirm, and the turn ends.

  • The context ring says "compact soon". At a task break I open the breakdown (the same one /context draws) and use Compact with a focus, like "keep the API decisions".

It works in the terminal and in Claude Desktop's Code tab.

A mod runs as you, unsandboxed, so: this one talks only to the CrewTower app, over a local socket only your user account can open. It never answers a permission prompt, it's off until you press Enable, and turning it off uninstalls it. Claude Code 2.1.287+ and macOS 15. The mods guide shows what claude plugin validate lists for it:

One thing I'd love to see someone build: a mod that hands a finished subtask from one session to another. Mods can already message your other sessions.

If an app outside the terminal could do one thing with your running Claude session, what would it be?

7 views

Add a comment

Replies

Be the first to reply

Have a question or a thought to share? Add a comment above to start the conversation.