jackin❯ desktop for macOS
Install and use the native macOS quota-limits menu bar app.
jackin❯ desktop shows host-account quota limits without an open Capsule. It displays remaining/used percentages, reset timing, plan/status, multi-account identity, and provider-supplied quota caps. It never shows token unit prices, session-cost estimates, spend history, trends, or usage charts.
The shipping baseline is Apple Silicon on macOS 26.0 or newer. The app uses Apple's system-owned Liquid Glass through native menu-bar, popover, toolbar, sidebar, menu, and window components. Quota content stays on standard native forms, lists, tables, sections, and meters for readability. No custom glass or material is drawn by jackin❯ desktop.
Install
Homebrew cask
After the first notarized release is activated:
brew install --cask jackin-project/tap/jackin-desktopUninstall with brew uninstall --cask jackin-desktop. The app installs no root daemon or LaunchDaemon.
Direct download
Download jackin-desktop-<VERSION>-aarch64-apple-darwin.zip and its .sha256, .bundle, and .sbom.json sidecars from GitHub Releases. Verify the archive before opening it. See Verifying releases.
Menu bar
The default display uses native template-monochrome provider status items. Each item shows the provider mark and its selected account's compact limit. Empty data uses an honest placeholder; stale or unavailable last-good data remains visible and dimmed.
- Primary click: open or close a real transient popover focused on that provider.
- Secondary click: open the native menu with Open Usage Window, Refresh, and Quit jackin❯ desktop.
- No-provider state: a jackin❯ fallback item keeps recovery reachable.
Settings (Command-comma) can choose the status-item display mode, percentage and reset format, screen-sharing privacy, launch at login, enabled surfaces, and refresh interval.
Focused popover
The popover intentionally has no Overview tab or provider tab strip. It keeps the provider you clicked as context and uses native controls for:
- a centered, non-interactive jackin❯ monogram and
jackin❯ desktopidentity row; - provider identity and textual status;
- account selection when multiple accounts are known;
- provider details and quota limits;
- Retry when a global or provider operation fails;
- Refresh (Command-R);
- Open Usage, preserving the current provider/account context.
Cross-provider comparison belongs in the Usage window. This keeps the glance surface short, predictable, and aligned with macOS popover behavior.
Usage window
Open Usage from the popover or status-item menu. The normal resizable window is a native two-column split view:
- The sidebar contains Overview and every detected provider in the canonical order.
- A quiet generated
jackin❯ by tailrockswordmark sits at the bottom of the sidebar. It is identity, not a control. - Overview is a native table of provider/account, plan, remaining, and reset.
- Provider detail uses native sections, an account menu, system meters, and visible recovery.
- Exactly one standard sidebar button stays in the leading titlebar position. Its Show/Hide label follows the real sidebar state while its position remains fixed.
- The sidebar uses the full leading structural height.
jackin❯ desktopstays centered over the detail pane, with Refresh trailing in the same native detail accessory.
The window does not display a redundant Usage heading. Closing and reopening preserves a valid destination, account, sidebar state, and frame. If the selected provider disappears or is disabled, the app returns safely to Overview.
Keyboard commands:
| Command | Action |
|---|---|
| Command-R | Refresh |
| Command-comma | Settings |
| Command-W | Close current window |
| Control-Command-S | Hide or show the sidebar |
Accounts and credentials
jackin❯ desktop reuses the provider sign-ins already available on the Mac. It stores no passwords and does not ask you to create a second set of provider logins.
On a default Claude Code install, macOS may ask for Keychain permission on first read. Allow permits that read; Always Allow keeps later reads silent. Deny disables Claude for that app session without repeatedly prompting or affecting other providers.
Multiple known accounts appear in native account menus. Selecting one updates the same account selection used by the status item, popover, Usage window, and Capsule usage view.
States and accessibility
Loading, empty, refreshing, fresh, stale-last-good, depleted-with-reset, needs-login, unsupported, provider failure, and app failure remain distinct. A failed refresh never erases last-good limits. Warning and danger use text plus system semantic color, so meaning does not depend on color alone.
The popover, Overview, and provider detail expose native accessibility structure. Long labels and minimum-size layouts remain scrollable, recovery stays visible, and warning meaning does not depend on color alone.
Privacy
- Local host process; no second provider login flow.
- Refreshing keeps jackin❯ desktop and Capsule usage values aligned.
- “Hide values while screen sharing” hides status-item values without changing underlying quota truth.
- Telemetry follows the existing jackin❯ policy; the desktop app adds no parallel sink.
Architecture: ADR-011. Delivery status: native macOS usage status bar roadmap.