mote

your agents,
in the notch.

Mote watches every Claude Code session you have running and shows what each one is doing, right under your MacBook's notch. When one finishes or needs you, it lets you know.

join the waitlist

For macOS 14 and later. Coming soon.

at a glance

The glyph orbits while Claude plans its next move.

follow the agent I'm working with

The line under the notch stays on one session until it stops. Switch to all agents and it follows whoever moved last.

tell me when one needs me

A notification the moment an agent asks a question, hits an error, or goes quiet for 6 minutes.

hide file names while I share

The notch shows only the verb: reading, running, needs you. Nothing from your code.

start with my Mac

Launch at Login, from the menu-bar item. It costs one scan every 2 seconds.

three agents. one notch.

Juniper asks a question, the list drops down, the preview opens, and one click lands you in the right terminal.

first, start a few agents

Run Claude Code in as many terminals as you like: Terminal, iTerm2, Ghostty or anything else.

Three Claude Code terminals, Juniper, Kit and Wren, each working on its own task
~/.mote/state/ttys003.json

{
  "state": "reading",
  "last":  "Read sidebar.tsx · 741 lines",
  "cwd":   "~/code/AI_Skills",
  "tool":  "Read",
  "since": 1760830512
}
The notch showing Juniper reading, with two more agents working The preview card: Juniper needs you, asked which API to use, with a jump to terminal button

fair questions

What does it need?

macOS 14 Sonoma or later. It's made for MacBooks with a notch; on other screens it sits at the top centre all the same. The live states need Apple's Command Line Tools, which most people who use Claude Code already have.

Does anything leave my Mac?

No. A small hook that Claude Code runs writes state files to ~/.mote, and the app reads them, along with your local Claude transcripts for usage. No account, no servers, nothing sent anywhere.

What does it change on my Mac?

One thing, and only after asking: it adds its hook to the events in ~/.claude/settings.json, keeps a backup of your file first, and leaves your own hooks alone. Each event gets one entry like this:

"Stop": [{ "hooks": [{
  "type": "command",
  "command": "~/.mote/bin/mote-hook.sh"
}] }]
Can it approve things for me?

No. Mote only watches. Answers and approvals stay in your terminal; one click on the notch takes you there.

What about secrets in my commands?

The hook masks keys, tokens and passwords before it writes anything, and "hide details" keeps file names and commands off the notch entirely, for when you're sharing your screen.

How do I find the agent that needs me?

Hover the notch and the list drops down, sorted so the ones waiting on you come first, with how long each has been waiting. Click a name and its terminal comes to the front.

The agent list: Juniper needs you, Kit is done, Wren is working
What does the usage view count?

The tokens your sessions used today and this week, with an estimated cost at current list prices, and how much each agent used. It's read from your local transcripts.

The usage view: 1.86M tokens today, a 7-day sparkline, and each agent's share
How do I remove it?

Choose "Uninstall live-state hook…" in the menu-bar item. It removes only Mote's entries and the ~/.mote folder. Then quit the app and drag it to the Bin.

When can I download it?

Soon: as soon as it's signed and notarized by Apple, so it opens like any other app. Join the waitlist and you'll get one email that day.

Join the waitlist

save a spot for

One email when Mote is ready to download. Nothing else, and you can unsubscribe anytime.