Repository navigation
Releases
1.10
The Fable allowance has a row of its own
Claude now reports a separate weekly allowance for Fable, next to the weekly limit on everything else. Glyphline did not read it, so the menu could show plenty of weekly quota left while Fable was already used up. It now has its own row in the menu bar panel and its own card on the dashboard, with the same reset countdown, pace and running-out warning as the other windows.
A spent Fable allowance turns its own row red, but not the menu bar status: every other model still works.
Windows that no longer exist disappear
Verified Ultra accounts no longer have a five-hour limit. When Claude stops reporting a window, Glyphline stops showing it after the next successful update, instead of keeping the last figure on screen marked "as of …". Your recorded history is kept.
Requires macOS 26.
1.9
Glyphline tells you when an agent is waiting
With several Claude Code sessions open, the one that finished its turn and is quietly waiting for an answer looks exactly like the ones still working. Glyphline now notices when a session has been waiting on you for a few minutes and says so — whether or not a Glyphline window is open. Click the notification and the Agentverse opens.
Three minutes by default; Settings → Notifications lets you choose 1, 3, 5 or 10, or switch it off.
One thing it cannot know: a transcript looks the same whether the agent is asking you something or has simply finished. Both are reported.
A warning before a quota runs out
The quota rows already say "empty in 1h 40m" when a window will not last until it resets. Glyphline now also sends a notification when that moment is close — within half an hour, or within one sync interval if yours is longer — once per window and reset. Click it and the dashboard opens. This needs a Claude subscription signed in under Accounts.
Smaller
- The menu bar shows Glyphline's own gauge instead of a stand-in symbol.
- If a one-time correction ever recalculates your recorded usage, the dashboard now says so until you dismiss it, instead of leaving a step in your charts with no explanation.
The first notification asks macOS for permission. Requires macOS 26.
1.8
Adding an account offers only what works
The Add Account sheet still offered OpenAI — selected by default — Cursor, a Claude admin key and local Claude Code logs. None of them has fed anything into Glyphline for several releases: an account added with any of them sat in the list showing nothing, with no hint why.
The sheet now asks for a name and opens the Claude sign-in. Accounts you added the old way are untouched, and deleting one still removes everything that belongs to it.
Agents that finish while no window is open
An agent reaches the break room when Glyphline sees it working and then sees it go quiet. Only the dashboard and the Agentverse window were looking, so in the menu bar — where neither opens on its own — an agent that started and finished while both were closed was never seen at all, and simply was not there when you opened the map.
Glyphline now looks every fifteen minutes, whether or not a window is open.
Deleted projects are no longer named
To read each Claude Code transcript only once, Glyphline remembers how far it got in each file, keyed by the file's path — and the path names the project. Claude Code deletes old transcripts on its own, so the record kept the names of projects long gone; on the machine this was found on, four in five entries.
Once a transcript is gone, its entry is now kept under a fingerprint of the path instead of the path. The entry itself has to stay: it is what stops a transcript you restore from a backup being counted a second time. This happens on the first scan after updating.
Smaller
- If claude.ai ever routes signing in through a pop-up window, the pop-up now opens instead of doing nothing.
- A failed quota check is no longer occasionally reported as an expired session, or the other way round, because of something loaded inside the page.
Requires macOS 26.
1.7
A day now ends when your day ends
The figures under "Usage on this Mac" were grouped into UTC days while everything above them said "today" and named a weekday. Two hours east of Greenwich that meant a day began at 02:00 on your clock, and everything you did between midnight and 02:00 was filed under yesterday.
On the machine this was found on, a morning that had cost 288 million tokens read as 120 million. Nothing was ever lost — the tokens sat in the previous day — but no number labelled "today" was the day you were living through.
Days are now cut on your own clock, everywhere: the daily chart, the spend tile, "last 7 days" and "last 30 days", and the name under a selected bar.
Your figures change with this update
Which way depends on when you work.
- Today usually goes up, by whatever you did between midnight and the old boundary.
- Individual days shift by a few hours' worth of work in either direction as their boundaries move.
- Two days may drop sharply. On the reference machine, two days were still carrying the double counting that 1.5 corrected everywhere else — they could not be corrected then, and can be now. See below.
- If your Mac is set to UTC, nothing about your figures changes at all. The old grid and the new one are the same grid.
Why two days could not be corrected before, and can be now
1.5 corrected a day only when the transcripts still on disk accounted for what had been recorded for it — otherwise files had gone missing and the recorded figure was the better evidence. That test is unchanged and still protects days whose transcripts are gone.
What has changed is what it is measured against. It now compares against figures 1.5 already corrected, so a day whose files are all still there clears the test comfortably where it used to sit just under the line. Days with genuinely missing transcripts keep their recorded figures, exactly as before.
What this does to what was already recorded
Correcting the grid only fixes new readings, so this update also re-reads the transcripts once and re-cuts the recorded days on your clock. It happens in the background on the first launch after updating, and needs no window open.
If your history reaches back to days whose transcripts no longer exist, those days keep the figures they have. They are the reason a total over "All Time" can still read higher than a fresh count of the transcripts would: it includes usage that was really recorded and can no longer be recounted.
Requires macOS 26.
Glyphline 1.6
Corrections to 1.5. Two figures it got wrong, both visible.
Local usage stopped updating
1.5 moved Glyphline into the menu bar, and the reading of ~/.claude/projects was still wired to the dashboard window — which that release stopped opening at launch. On a machine where the dashboard was never opened, Usage on this Mac never updated at all; where it was opened, it was read once and then not again for as long as the app kept running.
The reading now happens on its own: at launch, then on the same interval as the account sync, whether or not a window is open. It also re-reads when the Mac wakes instead of waiting out an interval that elapsed while it slept.
Deliberately not tied to the Sync automatically switch — that switch is about network calls to your provider, and reading files on this Mac costs nothing outside it.
The Agentverse showed every agent at about twice its size
The per-session token totals behind the Agentverse carried the same double counting 1.5 fixed for the daily figures: the same assistant message counted once per transcript that contained it. 1.5 corrected the daily numbers and left these alone.
They are corrected once now, on the first launch after updating, under the same rule — a session is recalculated only when the transcripts still on disk account for what was recorded for it. Where transcripts have gone (Claude Code used to keep subagent sessions in separate files and now records them inline), the recorded figure is left exactly as it was rather than dropping to a partial view of itself.
Requires macOS 26. Universal, signed and notarised.
Glyphline 1.5
Glyphline now lives in the menu bar
After this update Glyphline starts into the menu bar. No window opens, and there is no Dock icon — the icon appears only while the dashboard or the Agentverse is open, and goes away when you close it.
Nothing is missing: the dashboard is one click away in the menu bar panel. If you would rather have the old behaviour, choose Window under App Mode in Settings. App Mode has two options now instead of three — the removed one only decided whether the window opened by itself at launch.
Quota cards say when a window comes back
A card reading 0% free now tells you when it resets, as both a wait and a clock time: resets in 2d 4h (Thu 14:00).
Your local usage numbers change
They go down, and on a heavy machine they can roughly halve. That is the fix, not a regression.
Claude Code copies a session's history into a new file when a session is resumed or forked, so the same assistant message sits in several transcripts. The scanner summed the files line by line and counted every copy — 2.19× the real usage on the machine this was measured on. Every message is now counted once, by its id.
This update also corrects the already-recorded history, once, in the background on first launch. It does not simply re-read everything, because transcripts disappear — Claude Code moved subagent sessions inline, and sessions run in removed git worktrees leave nothing behind. Each day is decided on evidence: if the surviving transcripts account for what was recorded, the corrected figure replaces it; if they fall short, the recorded figure is left exactly as it was.
Fixes
- Renaming an account reaches the dashboard cards and the menu bar straight away, instead of only after the next sync or a restart.
- The menu bar panel closes when you open the dashboard or the Agentverse from it.
Requires macOS 26. Universal, signed and notarised.
1.4 — a calmer menu bar
Three things the app was doing that it did not need to do.
The panel no longer rescrapes the web every time you open it
Reading a quota means loading an account's page in a web view and running a
script against the rendered document — a real browser navigation, per account.
The menu bar panel asked for one every time it opened, so with three accounts
that was three page renders per click, on the thread that draws the panel you are
standing in. There is now a sixty second floor, far below the rate a five-hour or
weekly window can move, and a scheduled refresh counts towards it.
It no longer re-asserts its activation policy on every open
Opening the panel re-set the app's activation policy even when it already was
what the setting asked for. That turns a no-op into a real state change: macOS
re-evaluates app activation underneath a panel that is in the middle of opening,
which can make it flicker, close, or come back twice — and it is worse with more
than one display.
The Agentverse stops drawing frames it cannot tell apart
The scene is computed from a frame counter that advances 60 times a second, but
the animation ran at the display's refresh rate. On a 120 Hz screen every other
frame rebuilt the entire scene and rasterised it to produce a picture identical
to the one already on screen. Measured at the window's real size, the datastream
view costs 6.2 ms a frame with six sessions against an 8.3 ms budget at 120 Hz —
so the half being discarded was the half that made it stutter.
Install
Download Glyphline-1.4.zip, unzip, drag Glyphline.app into Applications.
If you are on 1.2 or later, Glyphline will offer this to you itself.
Requires macOS 26.
1.3 — fixes a download that Gatekeeper refused
If macOS refused to open Glyphline, this is the fix
Some people downloading 1.0, 1.1 or 1.2 were told "Apple could not verify
Glyphline is free of malware" and offered only a button to move it to the
Trash. The app was signed, notarised and stapled the whole time — the ZIP was
packaged wrongly.
macOS attaches an attribute to every file in an app bundle, and the packaging
tool stored those attributes as hidden sidecar files inside the bundle. Apple's
own unarchivers turn them back into attributes and delete them, so the download
worked. Every other unarchiver wrote them out as real files, which broke the
code signature seal — and a broken seal is indistinguishable, to Gatekeeper, from
tampering.
If you hit this, download 1.3 and it will open on a double-click, whatever
you unzip it with. Nothing about the app itself changed to fix it.
The release script now unpacks its own output with a non-Apple tool and refuses
to finish unless the result is intact. Every check before this ran on the app in
the build directory and was blind to what happens when a ZIP is opened.
Also in this release
- The accounts in the menu bar panel are separated by a line. Three accounts
stacked read as one unbroken column of headings and bars. - The panel's buttons sit in three even columns instead of five ragged widths
packed against the left edge.
Install
Download Glyphline-1.3.zip, unzip, drag Glyphline.app into Applications.
A __MACOSX folder appears beside the app with some unarchivers — that is the
fix working, and you can delete it.
Requires macOS 26.
1.2 — Glyphline updates itself
Glyphline keeps itself current
From this version on, Glyphline looks for a new version once a day and shows you
what changed. It never installs anything without your click — automatic
checking and automatic installing are two different things, and only the first
is on. There is a toggle and a "Check Now" button in Settings, and "Check for
Updates…" in the app menu.
Every update is signed with a key that never leaves the developer's Mac, and the
signature is verified before anything is installed — on top of Apple's
notarisation, not instead of it.
If you are on 1.1 or earlier, this is the last update you have to install by
hand. Those versions predate the updater and cannot fetch this one themselves.
The quota bar shows what is left
The card printed "33 % free" and drew a bar filled to 67 %: the number counted
down while the bar counted up, so a window with nothing left was drawn as a full
bar — the most confident-looking state on the card was the worst one.
The bar now drains, the way the menu bar panel's rows always have. Its pace
marker mirrors with it, so the reading inverts too: a fill short of the
marker is the window that will not survive to its reset. A spent window is an
empty bar, with the coloured dot and the "0% left" text carrying that state.
Install
Download Glyphline-1.2.zip, unzip, drag Glyphline.app into Applications.
Signed with a Developer ID, notarised by Apple and stapled, so it opens on a
double-click — no right-click → Open, no xattr -d.
Requires macOS 26.
Glyphline 1.1
Choose the dashboard's colour
The dashboard's surface is a setting now: Settings → Appearance.
Ten palettes — Indigo, Graphite, Amber, Teal, Burgundy, Olive, Slate,
Espresso, Aubergine, Warm Grey — plus a full colour picker if none of them is
the one you wanted. A palette applies immediately, to the surface and to the
glass cards on top of it, without reopening the window.
Indigo stays the default, so nothing changes colour unless you ask it to.
Picking your own colour gives the app a single hue and it derives the whole
surface from it. Every input lands on a dark, readable surface — including
white, which is the one people try first.
The chart was dimming itself
Bars drop to 55% opacity for every day that is not selected, but the
selection falls back to today so the detail panel is never empty. It was
therefore never unset, and twenty-nine of thirty bars sat permanently dimmed
with nothing selected at all. Dimming now waits for an actual click.
The surface behind the cards was also too light: three washes wide enough to
cover the window stacked into a lift everywhere, and untinted glass then
lightened the cards on top of that. Both are pulled back.
Fixed
- The palette swatches in Settings only responded on their name, not on the
coloured tile everyone aims at.
Install
Download Glyphline-1.1.zip, unzip, drag Glyphline.app into Applications.
Signed with a Developer ID, notarised and stapled, so it opens on a
double-click without a Gatekeeper prompt. macOS 26 or later, universal.