Lunavect

September 27, 2026 · View on GitHub

Lunavect app icon

Lunavect

See which Claude Code or Codex session is waiting for you.
Every agent session on your Mac with its live state, right in the menu bar,
next to both tools' weekly and five-hour limits with reset times.

Download Lunavect for macOS

Version 0.2.4 · macOS 14 or later · Apple silicon and Intel · Free and open source


Lunavect in the macOS menu bar: the session panel lists nine Claude Code and Codex tasks, eight working and one waiting for permission, beside a desktop widget with weekly usage limits and a week of activity

The real app with fictional sessions and data.

Features · Install · FAQ · Website · Release notes

If Lunavect helps you catch a waiting agent, a ⭐ helps other Mac developers find it.

Features

Know which agent needs you

Every Claude Code and Codex task on your Mac in one panel, with its live state:
working, thinking, waiting for permission or input, or done.
Search, filter, pin and hide sessions. Live Terminal and iTerm2 sessions open in their own tab.

Three Lunavect session panels: all nine tasks, a search for “bill” showing one Claude task, and the waiting filter showing the task that needs permission

Background work, told once

Claude's background commands, subagents and monitors appear as a small count on the session.
A reply that leaves them running stays in the background, and one notification arrives when the work is done.
If a turn fails, Lunavect says why: a reached limit and when it returns, a lost connection, or a sign-in issue.

Lunavect session panel: a Claude task thinking with a capsule showing three background tasks, a Codex task waiting for permission and a response that is ready

Usage limits at a glance

Weekly and five-hour allowances for Claude and Codex, with reset times.
Show them in the menu bar as bars, percentages or rings. Unknown values stay unknown.

Claude 68% and Codex 54% of weekly usage left, shown in the menu bar as bars, percentages and rings, in the Remaining popover with reset dates and in a small desktop widget

Desktop widgets

Limits, activity or both, in small, medium and large sizes.
Choose a solid background or adjustable glass.

Five Lunavect WidgetKit widgets on glass: overview with limits and activity chart, weekly limits, weekly activity chart, and small limits and activity widgets

See where your time goes

Working time by day, week and month for each provider,
with project and session breakdowns. Recovered history is marked as approximate.

Lunavect Statistics settings: a week of Claude and Codex working time with a daily chart

Make it yours

Pick the Claude, Codex or Lunavect character, a one-line, two-line or activity-only status,
and playful activity phrases while your agents work.

Menu bar status styles with the Claude, Lunavect and Codex characters above the Menu Bar settings, where the character and status style are chosen

Also included: notifications when a response is ready, an approval or reply is needed, a turn fails or a limit runs low ·
Keep Awake while agents work · light and dark appearance · English, Russian, German, Spanish, French and Simplified Chinese

Install

With Homebrew

brew tap lovach/lunavect https://github.com/lovach/Lunavect
brew install --cask lovach/lunavect/lunavect

Or download Lunavect-0.2.4.dmg, open it and drag Lunavect to Applications. Every release is Developer ID signed and notarized by Apple, and updates arrive through Settings → Updates.

Then choose Connect Claude or Connect Codex. Claude needs Claude Code CLI; Claude Desktop alone is not enough. Codex needs the official Codex app or CLI. Connect one provider or both. Sign-in stays with the official clients.

For local VS Code or JetBrains 2026.2 terminals, install the bundled companion from Settings → Connections → Sessions in editors to return to the exact session tab. See IDE setup and supported surfaces.

Setup, updates and uninstall · Compatibility and known limitations

FAQ

Can I use only Claude Code or only Codex?
Yes. Connect either provider or both. Claude needs Claude Code CLI; Claude Desktop alone is not enough.
Do I need an account or an API key?
No Lunavect account or pasted API key is required. Sign-in stays with the official clients, and the available allowances depend on your plan.
Why is a limit unavailable or a widget behind the app?
Limits need fresh data from the client, and missing or expired values are shown as unavailable instead of guessed. Widgets read saved data and refresh when macOS schedules them. Check Connections and the timestamp of the value.
Is activity the same as token usage?
No. It measures working intervals. Recovered history is marked ≈, and overlapping sessions are counted once in the combined total.
Does Lunavect send my sessions anywhere?
No. Lunavect sends no session data or app usage statistics to us. Session titles, project paths and activity history stay on your Mac. There is no telemetry or Lunavect account. We use only GitHub's download and repository traffic statistics; update checks go to GitHub without session data.

All questions and answers · Installation and troubleshooting · How-to guides

Privacy

Lunavect reads local client data and adds its event handlers when you connect a provider, keeping unrelated configuration intact. It extracts only session identity, state and timing, and never saves a copy of your conversations. Privacy and permissions · Connection details · How activity is counted

Development

Requires full Xcode and a compatible Swift toolchain.

git clone https://github.com/lovach/Lunavect.git
cd Lunavect
./scripts/check.sh

The check runs the tests and builds the universal Release app, helpers and WidgetKit extension without a signing account. Contributing · Development guide · Documentation · Security reports

Bug reports should include the macOS version and steps to reproduce; remove private session titles, paths and credentials from attachments. Ideas are welcome in Issues.

License

MIT for original Lunavect code. Third-party software and artwork are covered in NOTICE. Lunavect is independent of Anthropic and OpenAI.