What changed in 2.5.0

Written on 2026-07-28, as a snapshot of that day. Behaviour moves; this page does not. For the reference that is kept current, follow the links out of each section.


Your rate-limit windows, in the grid header

The 5-hour and 7-day windows your subscription shares across every session are now on screen whenever the grid is, for Claude and for Codex.

The grid header showing 5h and 7d rate-limit percentages for Claude and Codex

Running a grid of agents is what burns those windows fastest, and until now nothing in the app showed them — the only way to look was to type /usage in a session, which you do after wondering, not before. The point of putting them in the header is to notice a window filling up without going to look.

Nothing to configure. Numbers appear as soon as an agent reports; hover for when each window resets.

Reading it

  • 5h and 7d are the percentage already spent, so bigger is closer to stopped.
  • Past 75% the figure turns amber. That is a threshold, not a warning from the server.
  • Two rows appear only when both agents report; with one agent there is no mark, because there is nothing to tell it apart from.
  • A window that is missing is not drawn at all. It never shows 0% for absent data — that would read as “everything left” at the moment we cannot see how much is.

What it costs

Codex is free: it writes both windows into its own session file, and MulmoTerminal reads them.

Claude has no such file. The figures exist only in the payload Claude Code hands to a statusLine command, and only after a session has had one API response — so MulmoTerminal runs a hidden session of its own, asks it one trivial question, reads the answer off the status line, and closes it. That costs one small query.

Because the gauge measures a budget and that query spends it, the hidden session runs only while a browser is actually showing the gauge, and only when what we hold is more than ten minutes old. Close the tab and nothing is spent. The last figures are cached, so opening the grid shows them immediately rather than after the next probe.

If nothing appears

  • On API-key billing rather than a Claude.ai subscription, the windows do not exist and nothing is drawn. This is a Pro/Max feature of Claude Code, not of MulmoTerminal.
  • Codex not installed (or never run) means no session file to read, so its row is absent.
  • Right after a restart with no cache yet, Claude’s row can take up to a minute — the hidden session has to start and answer first.

Which PR or issue a cell is on

Each cell’s header now says what that cell is working on — #977 → #966, meaning the branch’s PR and the issue that PR closes. It disappears as soon as the PR is merged or closed, so what you see is always live work.

A cell header: the directory badge, the branch, then the work chip reading #2621 → #2613

A cell that has an issue but no PR yet shows just the issue, which is where most of the time on an issue is actually spent.

If you have set chips in your config, add "work" to it. A configured list replaces the defaults entirely rather than adding to them — the same rule chips have always followed — so a hand-written list will not grow this one on its own. Untouched headers already have it.

Where the issue number comes from, in order:

  1. The closing keyword in the PR body (Fixes #966) — written by the author on purpose, so it is taken as given.
  2. Failing that, the branch name (fix/966-…), but only as a candidate that is confirmed to exist first. release/2026-07-28-hotfix would otherwise be read as issue #2026, and no pattern can tell a year from an issue number.

Customizing the header


A config written by a newer version is no longer erased

If you run more than one version of MulmoTerminal against the same machine — a released one and a checkout, say — the older one used to rewrite ~/.mulmoterminal/config.json without the settings it did not know about, silently deleting them.

That is fixed: unknown keys are now carried through a write untouched. Downgrading, or running two versions side by side, no longer costs you settings the newer one wrote.

Nothing to do. If a setting has gone missing before now, add it again and it will stay.

Configuration


Smaller things

  • The PR body says which clone did the work more reliably, including when the PR is created from a prompt rather than the button (→ Which clone made this PR).
  • The activity timeline no longer renders underneath the panel it was opened from.
  • Focus after leaving zoom returns to the terminal instead of being dropped.
  • Dependency updates.

Back to the feature reference / Guide contents


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