This feature is experimental

Claude Code on your Mac

Mention @Claude Code in a thread and the turn runs on your own Mac - your installed Claude Code CLI, in a folder you choose, on your own Claude usage.

Updated 9 min read

@Claude Code is an agent that lives in your space but does not run on Naumu's hosted intelligence. When you mention it in a thread, Naumu hands that turn to the Naumu desktop app on your own Mac, which runs the Claude Code CLI you already have installed, inside a folder you choose. What it thinks, the tools it runs, and its answer all stream back into the thread like any other agent reply.

It is the one agent that can touch your files. In the same turn it has your access to the space, so it can search your memory, cite what it finds, and write durable outcomes back.

This is not the same as connecting Claude Code to Naumu over MCP. There, Claude Code runs in your terminal and reaches into Naumu for context. Here, the conversation is in Naumu and the run happens on your Mac. Both use the same CLI, and nothing stops you from using both.

It is also not an external agent. An external agent is a runtime you host, wearing an identity that answers for the whole space. @Claude Code is personal: it is your machine, your folder, your Claude account, and it only answers your own messages.

What you need

  • A Mac running the Naumu desktop app. Get it at naumu.ai/download. The app has to be open on that Mac for a turn to be picked up.
  • Claude Code installed and signed in on that Mac. You sign in yourself by running claude once in a terminal. Naumu only checks that a login exists; it never handles your Claude account. Runs spend your own Claude Code usage, not your Naumu credits.
  • A seat in the space. Guests and public visitors don't get it.

Turn it on

Open Settings, go to Experimental under App, and switch on Claude Code on your Mac. Until you do, none of this is visible: no @Claude Code in the mention picker, no chip in the composer.

The switch belongs to the device you flip it on, so turn it on in each place you want to send from - the desktop app, and each browser you use.

The first time you open a space with the switch on, a Claude Code member is added to that space. From then on you can @-mention it like anyone else, and it appears in the agents list in Settings. Spaces where nobody has turned it on never get the member.

Set it up for a space

@Claude Code works inside one folder per space on your Mac - that is where it reads and edits files. You pick it once.

In the desktop app, type @Claude Code and send. Because the space has no folder yet, Naumu holds the message and opens a short setup sheet with a Choose folder button that opens the Mac's own folder picker. The moment the folder is set, the sheet closes and your held message goes out by itself.

When a send can't go through, the composer's reply chip says why instead of failing quietly - Not set up for this space yet, Claude Code not installed, Claude Code not signed in, or Your Mac is offline - open the desktop app. Clicking the chip opens the same fix the send would have.

The gear on the reply chip is the one place all of this lives: who answers in this thread, the folder on your Mac, and the run settings. Pick Claude Code there and it answers your un-addressed messages in that thread without you tagging it every time. Tagging @Claude Code once does the same: after that message sends, it becomes the thread's default replier on this device, and tagging @Naumu hands the thread back. That choice is per thread and per device, and it only governs your own messages - everyone else in the thread still gets Naumu.

How a run reads

Mention @Claude Code and a reply appears immediately, attributed to Claude Code · your name's Mac. It shows the usual thinking header, then each step as it happens: files read, edits made, commands run, searches against your space.

Anything Claude Code writes before reaching for its next tool is posted straight away as its own message, so a long run reads as a series of progress notes with the work between them. The last thing it writes is the reply.

You can keep typing while it works. A message you post during your own live run joins the turn that is already running instead of starting a second one - your message moves above the thinking indicator, and Claude Code folds it into what it is doing. This is how you redirect a run halfway through.

Each thread keeps its own Claude Code session, so a follow-up continues where the last reply left off rather than starting from scratch.

Other members can mention @Claude Code in the same thread. Their turn runs on their Mac, in their folder, with their settings. Nobody borrows your machine.

A run that hasn't finished after 30 minutes is stopped and the message says so.

Model, effort and access

The gear's Claude Code block carries three settings, saved to your account and applied to your next run in every space:

  • Model - Default, Fable, Opus, Sonnet or Haiku.
  • Effort - Low, Medium, High or Max. New accounts start at High.
  • Access - how far it may go on your machine:
    • Read - read-only: no edits, no commands.
    • Edit - edits files inside the folder. Commands are not run. This is the default.
    • Full - edits files and runs commands without asking.

Full lets Claude Code run shell commands on your Mac unattended, so it is honoured only for a message you typed in the desktop app on that same Mac. A message sent from a browser tab or your phone runs at Edit instead, where commands are declined.

The context ring

While Claude Code is the one replying, a small ring sits on the composer's reply chip showing how full that thread's session is - hover it for the reading, such as 22k of 200k context (11%). It turns amber at 70% and red at 90%.

The gear's popover has the whole picture: the fill sentence, the model in use, how many runs the session has done, what they cost and when the last one finished. There is also a Compact button that runs Claude Code's own compaction on the session, shortening it without losing the thread. Compacting happens on the machine that holds the session, so the button is there when you are in the desktop app on that Mac.

From your phone or another browser

You do not have to be sitting at the Mac. As long as it is on with the desktop app running, any signed-in Naumu - a browser tab, your phone - can hand it a turn. Being signed in on both ends is the whole pairing; there is nothing to configure.

If the space has no folder on that Mac yet, the setup sheet offers the folders that Mac already uses for your other spaces and sets the one you pick. A folder the Mac has never used can only be chosen on the Mac itself, in the desktop app: a session somewhere else can never point Claude Code at a fresh directory on your machine.

If none of your Macs is running the app, the send is held and the sheet says so, with a link to get the app.

When something goes wrong

A run that can't happen comes back as an error message in the thread, in plain terms - "Your Mac didn't pick this up. Is the Naumu desktop app running?", "No folder is set up for this space on your Mac yet.", "Claude Code isn't signed in on your Mac.", "Your Mac is already running a Claude Code turn. Try again when it finishes."

When Claude Code itself failed, the message carries a folded Details section with the output from your Mac, so you can read the cause in the thread. Public viewers of a shared thread never see it.

Two things sort themselves out without you:

  • If the Claude Code on your Mac is older than the version Naumu runs against, the thread says it is updating Claude Code first, the CLI updates itself, and the run carries on.
  • A run whose CLI quits before it says anything is retried once automatically.

What it can reach

  • Files - only the folder you picked for that space, at the access level you set. Nothing outside it.
  • Your space - it connects with your own Naumu access, so it searches, reads and writes exactly what you can, and nothing you couldn't.
  • The conversation - the recent messages in the thread, the attachments on them (images, PDFs, and the transcript of a voice recording rather than the audio file), and a first pass of knowledge from the space related to what you asked.

Everything else stays on your machine. Naumu sees the turn's events and the reply, the same as any agent message in the thread.

  • Agents - the Naumu-hosted agents every space can have.
  • External agents - pair a runtime you host to an identity that answers for the whole space.
  • Local MCP - the other direction: Claude Code in your terminal, reaching into Naumu.
  • Account settings - where the Experimental switch lives.
Anything missing?
Tell us what would make these docs better.