4.1.1 — Usage that stops saying n/a, and 300 lines of scrollback on the phone

A snapshot of 4.1.1 as released on 2026-08-02. 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.

npx mulmoterminal@latest

Nothing in this release needs configuring. Everything below either starts working on upgrade or was already yours to switch on. The one thing worth reading is how to tell the usage fix reached you.


The header’s usage figure stops sticking at n/a

If your header has been showing claude usage n/a — or a number that never moved — this is the release that fixes it.

What was wrong. The probe that asks Claude for your usage typed its question into a terminal blind: it opened the TUI, waited a fixed moment, and sent the keystrokes. On a machine where the TUI takes longer than that moment to become ready — a slow disk, a large MCP config, a cold cache — the keystrokes landed before anything was listening. The question was never asked, so no answer came back, and the header had nothing to show. Permanently, because every later probe did the same thing.

How to tell you have the fix. Open a terminal and look at the header. Within a few seconds of the first probe it should read something like claude usage 12% rather than n/a. If it still says n/a, the probe now leaves a reason in the server log rather than failing silently — start with npx mulmoterminal in a terminal you can read.

The question is now passed as a positional argument to claude instead of being typed, and the probe runs with --strict-mcp-config so your own MCP servers are not loaded just to answer it. That also makes it faster.

Reference: features in the living guide.


The phone’s terminal shows 300 lines instead of one screenful

The remote view used to answer with exactly what was visible in the pane. Scrolling up on the phone showed nothing above the fold, because nothing above the fold had been sent.

It now returns the current screen plus scrollback, up to 300 lines — with a 256 KiB ceiling as well as the line count, because the reply travels in a Firestore command document and “bounded by rows × cols” stopped being true once history came along.

Nothing to switch on. Open a session on your phone and scroll up.

Hosts with tmux and hosts without it now ask for the same history and decide the window in one place, so the same session gives the same answer either way — worth knowing if you use both.

Reference: the phone.


GitLab worktrees behave like GitHub ones

If you put a gitlab.com/group/project entry in prRepos (that arrived in 4.1.0), three more things now work the same way they do for GitHub:

  • The PR phase pill appears on a cell whose worktree is a GitLab branch, and its hover tip says why a merge request cannot be merged — something the phase alone cannot express.
  • ⧉ Open PR creates the merge request, opens the existing one the second time, and writes Fixes #N plus the clone footer into the body.
  • Work comments (issueWorkComments, still off by default) post on start and on merge, and close the issue on merge.

Setup is unchanged from 4.1.0 — the same prRepos entry covers all of it. If you have not set that up, the 4.1.0 page walks through it.

One addition worth knowing: npx mulmoterminal doctor now checks for glab. It is optionalgh remains required, and glab only matters if you use GitLab.

Reference: GitHub & GitLab.


A first page for the guide

The guide now opens with Getting started, which takes you from an empty machine to a running npx mulmoterminal@latest in one page. The sidebar was reordered to put the beginner path first.

If you have been sending people links to this guide, that is the one to send.


Everything else

This release is mostly work you cannot see: 11 pull requests finished #1231, which removed 149 type assertions from the app and turned the ESLint rule that forbids them into an error. Along the way it found and fixed several real defects — a config save that could silently empty your quick-command list, a page renderer that could show [object Promise], a plugin dispatch that could blank an HTML artifact. None of them need anything from you; they are simply gone.

The full list is in the changelog.


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