Skip to content
marco-schefflerPublic

About

Know what your agents are spending — before you run out. A native macOS menu bar app for Claude quota windows and API-equivalent cost.

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Glyphline

Glyphline

Know what your agents are spending — before you run out.

Platform: macOS 26+ Swift 6 Apple Silicon Languages: 8

A native macOS menu bar app that watches your Claude quota windows, prices what your Claude Code sessions actually cost, and shows you which agents are sitting there waiting for an answer.


Why?

If you run more than one Claude Code session, two questions come up constantly.

"How close am I to the limit?" — a percentage does not answer that. Empty in 1h 40m does.

"Which of these is waiting on me?" — with six terminals open, the one that finished four minutes ago and is quietly blocked on a question looks exactly like the five still working.

Glyphline answers both from the menu bar, and reads your local Claude Code transcripts to tell you what all of it would have cost on the API.

Highlights

  • 📊 Quota windows that show pace, not just a number — every account's 5-hour and weekly windows side by side, each with a marker for where an even burn would have you by now. Bar past the marker means you are spending faster than the window allows.
  • 💸 What it would have cost — every model the pricing catalogue knows, ranked by cost rather than by volume, so a little Fable outranks a lot of Haiku. That is usually the thing worth seeing.
  • 📈 Daily usage, stacked by model — click any bar for that day's breakdown.
  • 🏢 The Agentverse — your running sessions as an isometric office. Each agent sits at a desk with a crystal above their head: green working, amber and pulsing means it is waiting on you. Blocked agents get up and wander off to the break room, so "three people in the break room" reads across a room without reading a word.
  • 🌅 Lit by your own sky — the office windows carry the real sun for your timezone and the real weather at your location. Dawn is orange, midnight is dark, rain is grey.
  • 🟩 Or a datastream, if you prefer an instrument to a place — one lane of falling glyphs per session, subagents as tributaries feeding it, and a lane that freezes and glitches amber when it needs you.
  • 🌍 Speaks your language — English, German, Spanish, French, Italian, Portuguese (Brazil), Japanese and Simplified Chinese, following your system setting.
  • 🔒 Local by default — transcripts are read on your Mac and never leave it. One outbound request, hourly, for the weather.

Requirements

  • macOS 26 or later. Glyphline uses Liquid Glass, which is a macOS 26 API.
  • Apple Silicon or Intel — the released build is universal.
  • Claude Code, for the Agentverse and the local cost figures — it reads the transcripts under ~/.claude/projects/.

Install

Download the latest Glyphline-<version>.zip from Releases, unzip it, and drag Glyphline.app into your Applications folder.

It opens on a double-click. No right-click → Open, no xattr -d, no "unidentified developer" dialog: the app is signed with a Developer ID, notarised by Apple, and the notarisation ticket is stapled into the bundle — so Gatekeeper clears it without even needing a network connection.

Glyphline lives in the menu bar and has no Dock icon. After launching it, look for the glyph in the top right, not in the Dock.

Updates

From 1.2 onward Glyphline keeps itself current: it looks for a new version once a day and tells 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. Both the automatic check and a "Check Now" button live in Settings, and the app menu has "Check for Updates…".

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.

Version 1.1 and earlier cannot update themselves. They predate all of this, so they need one manual download to reach a version that can.

Building from source

git clone git@github.com:marco-scheffler/glyphline.git
cd glyphline
brew install xcodegen          # if you do not have it
xcodegen generate
./scripts/run.sh               # builds Release, installs to ~/Applications, launches

scripts/release.sh builds what the Releases page serves: a universal app, signed with a Developer ID, notarised and stapled, packaged with ditto into build/release/Glyphline-<version>.zip. It needs a Developer ID certificate and a stored notary profile.

Pass that ZIP on rather than a .app dragged out of the Finder — an app bundle is a directory of symlinks and executable bits, and plain zip loses both.

xcodebuild test -project Glyphline.xcodeproj -scheme Glyphline -destination 'platform=macOS'

How it works

Quota windows come from the Claude API, per account. They are the only thing that differs between accounts.

Everything else is machine-wide. A Claude Code transcript records no marker of which subscription produced it, and /login writes every account into the same directory — so spend, the daily chart and the model mix are properties of this Mac rather than of an account. The dashboard says so rather than implying otherwise.

Sessions are discovered by reading the tail of each transcript. A session is waiting on you when its last assistant record stopped for a reason other than a tool call. Sessions that go quiet for an hour park in the break room, and are forgotten after 96.

Cost is API-equivalent, not money you were charged: what those tokens would have cost had they gone through the API instead of a subscription.

Languages

English, German, Spanish, French, Italian, Portuguese (Brazil), Japanese and Simplified Chinese. Glyphline follows your system language; there is no in-app switcher.

English is the source language. The other seven translations are a best effort and have not been reviewed by native speakers — if something reads badly in your language, a pull request against Glyphline/Resources/Localizable.xcstrings is very welcome. It needs no Xcode; see CONTRIBUTING.md.

Notes

  • The Agentverse only runs while its window is on screen — no timer, no background polling. Close it and nothing happens.
  • Weather comes from Open-Meteo, with no account and no API key. Your location is derived from your system timezone, not from CoreLocation, so there is no permission prompt and it works offline. You can override it in Settings.

Contributing

Issues and pull requests are welcome — CONTRIBUTING.md has the build steps, how the tests are run, and what to watch out for when adding a user-visible string. Fixing a translation is the easiest place to start and needs no Xcode.

License

MIT. Do what you like with it; it comes with no warranty.

Built with

Swift 6, SwiftUI, Swift Charts, GRDB for the ledger and Sparkle for updates — the only two package dependencies.

About

Know what your agents are spending — before you run out. A native macOS menu bar app for Claude quota windows and API-equivalent cost.

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages