---
title: 4.7.0 — Muse, and the GUI tools it was not supposed to be able to reach
layout: default
parent: English
nav_order: 1006
description: Setup guide for MulmoTerminal 4.7.0 — Muse joins the Agent Picker as a fifth first-class agent running Muse Spark, and its cells reach the GUI tools through a route no other agent uses. Plus a new guide page covering every coding agent, and a Windows fix that unblocked every Claude session on a .cmd install. A snapshot of 2026-08-07.
---

# 4.7.0 — Muse, and the GUI tools it was not supposed to be able to reach

**A snapshot of 4.7.0 as released on 2026-08-07.** It will go out of date as the app moves on; that
is fine and expected. For the reference that is kept current, follow the links to the living guide
in each section.

```bash
npx mulmoterminal@latest
```

**Nothing to configure for the Windows fix** — it is on the moment you run 4.7.0. Muse needs the
`muse` CLI on your PATH and one experimental flag of Muse's own; both are below.

---

## Muse is the fifth agent

**Muse** (`muse`, running **Muse Spark**) now sits in the **Agent Picker** beside Claude, Codex,
Antigravity and Grok. Pick it in an empty cell and launch, exactly like the others.

A Muse cell behaves like the rest: it wears a `mu` badge, its header shows the model and how full
the context is, and its conversations appear under **OR RESUME HERE** when Muse is the selected
agent.

### What you need

```bash
muse --version          # the CLI has to be on your PATH
```

Point elsewhere with `MUSE_BIN` (a pinned version, a wrapper, a path outside `PATH`), and override
the model with `MUSE_MODEL`. Neither is required.

**If you do not use Muse, you need nothing.** An agent whose command is missing simply fails to
start that cell, and the other four are unaffected.

---

## Its GUI tools — the part that was said to be impossible

The 4.6.x notes said Muse could not have the GUI tools. That was wrong, and the reason it looked
right is worth stating: **Muse does have MCP** — behind an experimental flag of its own, through a
mechanism neither of the other agents uses.

### Turning it on

```bash
export MUSE_EXPERIMENTAL_PLUGINS=1
```

Without it, `muse plugins` answers *"plugins are not available in this build"* and a Muse cell
starts with no GUI tools (and one warning). With it, MulmoTerminal registers its plugin the first
time a Muse cell starts, and the cell gets the groups **that directory** switched on — the same
four toggles in the launcher form that Grok and Antigravity get.

To check it worked, ask the cell what tools it has. In a directory with only `render` on, it
answers with exactly these four and nothing else:

```
mcp__plugin_mulmoterminal_render__presentChart
mcp__plugin_mulmoterminal_render__presentDocument
mcp__plugin_mulmoterminal_render__presentForm
mcp__plugin_mulmoterminal_render__presentHtml
```

### Why the tool names look different

They do, and that is deliberate. The same tool is:

- `mcp__mt__presentChart` in a Claude or Codex workspace cell,
- `mcp__mulmoterminal-render__presentChart` in a project cell,
- `mcp__plugin_mulmoterminal_render__presentChart` in a Muse cell.

All three are current. Muse builds a tool name out of the plugin id **and** the capability id, so
the shape is its own. Nothing needs doing about it.

### Two things to know

- **The plugin is machine-wide.** `muse plugins install` records per machine, not per directory —
  so one plugin holds all four group servers and each *session* is narrowed to its directory's
  switches. It will appear in `muse plugins list` for every Muse session on the machine, including
  ones MulmoTerminal did not start; those serve nothing. Remove it with
  `muse plugins remove mulmoterminal` — the next Muse cell re-registers it.
- **A group the session is not entitled to serves an empty toolset**, not an error. A cell that
  switched one group on would otherwise show three broken servers.

The living reference, including how the other four agents reach their tools:
[Which coding agent](agents.html#muse-plugin).

---

## A new guide page: which coding agent to use

Five first-class agents is enough that "which one, and what does it cost me" deserved its own page
rather than a row in a table. **[Which coding agent](agents.html)** covers, for each of Claude
Code, Codex, Antigravity, Grok and Muse:

- what has to be installed, and the `*_BIN` / `*_MODEL` overrides
- where its conversations live, and therefore why only it can resume them
- **the three different routes to the GUI tools** — a per-session URL (Claude, Codex), a file in
  the directory (Antigravity, Grok), a per-machine plugin (Muse) — and why that is a property of
  each CLI rather than a setting
- what the header badges mean

It also covers the two things that widen what "Claude" means — a `providers` entry for any
Anthropic-compatible backend, and a `customAgents` entry for your own way of starting Claude Code —
and why a **launch command** is none of these.

---

## Muse fixes that came with it

Three things a Muse cell used to get wrong. Nothing to do; they are simply right now.

- **A resumed session kept losing its workspace tools.** The resume command dropped
  `--workspace`, which is what registers the policy-gated workspace tools — so the conversation
  came back without the tools it had been using.
- **The context badge read a high-water mark.** It showed the largest context any call had ever
  used, so it never came down after a compaction: `ctx 397k` against a live 266k, telling you to
  `/compact` when you need not. It now reads the last completed call, which is what the Codex and
  Grok badges have always meant.
- **The badge poll re-read the whole session log every time** — 33 MB after a day's work, once per
  cell per minute. Measured after the fix on that same log: **105 ms cold, 2 ms warm**, with
  byte-for-byte the same totals.

A **Muse resume takes no seed prompt** — Muse does not accept one on a resume command line. That is
now stated in the code rather than being dropped silently.

---

## Windows: every Claude session can start again

If you run MulmoTerminal on Windows with Claude installed from npm, this is the release you want.

**What was broken.** Every Claude session — new or resumed — failed with:

```
Failed to start Claude: argument contains a NUL, CR or LF: "## Closing summary …
```

A Windows command line has no way to carry a newline, and the default
`--append-system-prompt` text is 44 lines. So a `.cmd`-installed Claude could not be launched at
all. It had been that way since 2.3.0.

**How to tell you have the fix.** Start a Claude cell on Windows with the defaults. If it starts,
you have it. If you switched **End replies with a closing summary** or **End a created PR with the
clone name** off as a workaround, **turn them back on** — they were never the problem.

Codex, Grok, Antigravity, Muse and shell sessions were never affected.

Reported by [@chikara813](https://github.com/receptron/mulmoterminal/issues/1516), who traced it to
the exact release that introduced it.

---

## Also in this release

- **Collection documentation caught up with the code**, and the places where MulmoTerminal's
  `/api/*` paths deliberately differ from MulmoClaude's are now written down rather than left to be
  rediscovered. Documentation and comments only.

---

## Links

- [Which coding agent](agents.html) — all five, kept current
- [Basics — how to read the screen](basics.html) — the launcher form
- [Canvas and the GUI panel](features.html) — what the tool groups do
- [Configuration](config.html) — every setting
- [Changelog](https://github.com/receptron/mulmoterminal/blob/main/docs/ChangeLog.md) — every
  release, with the pull requests
