4.25.0 — Start without Claude Code, and read a codex, cursor or copilot conversation on the phone

A snapshot as of 4.25.0 (released 2026-09-15). It will go stale as the app moves on — that is expected, and the living reference is the guide each section links to.

Two things to know, and only the first one needs your hands.


Running on a machine with no Claude Code

What was wrong. npx mulmoterminal stopped with “Claude Code CLI not found” and exited. If you run Codex or GitHub Copilot CLI and never installed Claude Code, you could not reach the app at all — even though the server itself needs none of them to start.

Claude Code is still the default, deliberately: it is what nearly every install runs, and starting silently on some other agent would leave you guessing which one answered. What changed is that you can now say otherwise, and the start-up check follows what you said.

Two ways to say it. The flag wins over the file, and the flag is never written to disk:

npx mulmoterminal --agent codex
// ~/.mulmoterminal/config.json
{ "defaultAgent": "codex" }

Valid names are the agents this app hosts: claude, codex, antigravity, grok, muse, copilot, cursor.

How to tell it worked. Start it and read the first line. Without a declaration it looks for Claude Code; with one it looks for that agent’s command instead, and a new cell’s Agent Picker opens on it.

A declared agent is still required. If you declare codex and codex is not installed, start-up stops and says so. You named it, so a machine without it cannot do what you asked — and being told beats an empty grid.

What it does NOT change, which matters if you have a saved grid:

   
Cells you already have unchanged. A saved Claude cell relaunches as Claude.
The Agent Picker on an existing cell unchanged.
A new launch opens on your declared agent.

The setting decides what a new session starts as. It is not a rename of everything already on screen.

Reference: Agents has what each agent can and cannot do; Config has the rest of config.json.


If you already use Claude Code, one bug was hitting you too

The start-up check looked for the literal word claude on your PATH, while the app itself runs whatever CLAUDE_BIN points at. So if your Claude Code lives outside PATH and you had set CLAUDE_BIN — which is documented and supported — start-up refused anyway, and told you to install something you already had.

How to tell you have the fix. If that was you, npx mulmoterminal@latest now starts. Nothing to configure; the check reads CLAUDE_BIN the way everything else does.


The phone’s conversation view now reads four agents

Open a cell on your phone and the conversation — the turns, not the raw screen — is now readable for codex, cursor and copilot as well as claude. Nothing to turn on.

What each one can show differs, because it depends on what that CLI writes down, and it is worth knowing before you go looking for something that is not there:

agent a turn shows
claude the prompt, the reply, which tools ran and what they answered
codex the same
cursor the prompt, the reply, and which tools ran — cursor records no tool results at all
copilot the prompt and the reply only — copilot records no tool calls at all

grok, muse and antigravity answer “not supported” rather than an empty view, so you can tell “this agent’s conversation cannot be read here” from “nothing was said”. They are not implemented because no session of any of them existed to measure against; the reader is agent-by-agent on purpose, since each CLI writes a different file.

Reference: Phone for the rest of what the phone view does.


Everything else in this release

Nothing to configure for any of these.

  • A terminal cell that went blank after Chrome restarted its GPU process now redraws. If you have seen a cell lose its characters and never get them back, that was this.
  • A Windows PATH entry written with quotes — "C:\p\node_modules\.bin" — was slipping past the filter that keeps a run script’s injected directories out of a terminal, so a cell could inherit tooling you never installed. Windows only.
  • Shared code that cursor and copilot had each copied from their siblings, which closes six duplicate-code alerts.
  • Dependency updates.

This site uses Just the Docs, a documentation theme for Jekyll.