CLI Pulse
AI coding usage & cost monitor
Free · In-App Purchases
See how much of your Claude, Codex and Gemini quota is left, when it resets and what your AI coding costs, on your Mac and on iPhone, iPad and Apple Watch.
CLI Pulse keeps track of your AI coding tools: how much of each quota you have used, when it resets and what your usage is costing you. It works with Claude, Codex, Gemini, Cursor, Copilot, OpenRouter, Ollama and dozens of other providers, on your Mac and on your iPhone, iPad and Apple Watch.
On your Mac
- Your providers' quotas and reset times, one click away in the menu bar
- Pace: whether your quota will last until it resets, or when it will run out
- Estimated cost from your Claude Code and Codex logs, calculated on your Mac
- Usage history for each provider, an activity heatmap and a cost forecast
- Active and recent sessions by project, with usage and estimated cost
- Alerts when a quota crosses a threshold you choose and, when you are signed in, when your daily cost suddenly jumps
- Cost reports you can export as CSV or PDF
- Pulse Cat, an optional desktop cat whose vitals follow your real AI usage
- No account needed: in local mode your usage stays on this Mac
On iPhone, iPad and Apple Watch
- The same quotas, costs, sessions and alerts, synced from your Mac
- Home Screen and Lock Screen widgets (Pro)
- Siri and Shortcuts: ask for today's status or for one provider's remaining quota
- Apple Watch: quota rings, alerts and sessions on your wrist
The iPhone, iPad and Apple Watch apps show what CLI Pulse collects on your Mac. Install it on your Mac and sign in with the same account on each device. Try Demo shows the app with sample data before you connect a Mac.
Privacy
- Your provider API keys and the contents of your session logs never leave your Mac
- When you sign in, usage figures sync to your CLI Pulse account over an encrypted connection
- No ads and no third-party analytics SDKs
Free and Pro
CLI Pulse is free for up to three providers. CLI Pulse Pro adds unlimited providers and the Home Screen and Lock Screen widgets.
Subscription information
CLI Pulse Pro is available as an auto-renewing subscription. Available plans, pricing, and billing periods are shown in the App Store and in the app at the time of purchase.
Payment will be charged to your Apple Account at the confirmation of purchase. Subscription automatically renews unless auto-renew is turned off at least 24 hours before the end of the current period. Your account will be charged for renewal within 24 hours prior to the end of the current period. You can manage and cancel your subscriptions by going to your account settings on the App Store after purchase.
Terms of Use: https://cli-pulse.github.io/cli-pulse/terms.html
Privacy Policy: https://cli-pulse.github.io/cli-pulse/privacy.html
more Codex cost estimates are higher in this version, and Claude estimates change. CLI Pulse on your Mac counts and prices your usage, so most of these figures change on iPhone once your Mac runs this version and syncs.
• Codex cost estimates are higher. Subagent sessions are now counted; they used to be left out. And each request is priced at the API price OpenAI listed for its model on the day the request was made. Price changes apply from the day they take effect, and newer models have their own prices instead of gpt-5.4's: higher for some, such as gpt-5.5 and gpt-5.6-sol, and lower for others, such as gpt-5.6-luna.
• Older Codex days are counted again under the new rules. If you allowed CLI Pulse on your Mac to read older logs, it recounts the older Codex days it has already synced, so those days in the Usage Dashboard show the new figures too. Some days keep their earlier figures, for example when their logs have been deleted.
• The Usage Dashboard now counts Codex's cached input once. Cached input is already part of Codex's input but was added a second time, which made the Codex token totals there too high on every day. Costs were not affected.
• Claude cost estimates for the last 30 days change as well: CLI Pulse on your Mac now prices Claude at Anthropic's list prices for each day, gives Claude Opus 5.5, Claude Fable 5.1 and Claude Sonnet 5.5 their own prices, and counts the full output of each response, so estimates go down for some models and up for others.
• Try Demo now looks like the result of a single real refresh: its alerts, quotas, devices and Cost Summary are ones a real account can show, and the Cost Summary rows add up to its total.
• A provider's overall Quota bar now fills to the share left, like the other bars.
1.56.0 2 days ago
Codex credits now show as a balance instead of a percentage, costs are labeled as estimates, Hide personal information now covers account labels and Apple Watch, and the Overview no longer shows an empty Top Projects card or a Requests count stuck at 0.
• Codex credits show as "N credits left" on the Providers tab and on Apple Watch, instead of a percentage.
• The Usage Dashboard's total is now "Est. Total Cost", with a line saying it is an estimate at API pay-as-you-go prices, not a bill.
• Hide personal information (Settings › Advanced) now also replaces account labels that are email addresses on the Providers tab and in Settings with "Account 1", "Account 2", and so on. Apple Watch now follows the iPhone's setting.
• Codex: when the weekly limit is used up, the 5-hour bar and the card read 0% left and show when the weekly limit resets, instead of the room left in the 5-hour window. Widgets and Apple Watch show the same. The 5-hour pace marker is now based on 5 hours, not a week.
• The Overview no longer shows an empty Top Projects card or a Requests count that always read 0. On iPhone, the remaining figures are laid out in rows of two and three.
• Cost Summary: the per-provider rows are labeled as 30-day amounts, and a provider that reports only quota no longer gets a zero-cost row.
• Providers tab: the cards no longer run edge to edge, the cost badge sits next to today's cost instead of after the quota figure, and the tab no longer shows a count badge. A nearly used-up quota now reads "RUNNING LOW" instead of "LOW".
• In light mode, the activity heatmap now shows days with no usage, and its busiest days are the darkest.
• Try Demo shows only the cards and figures a real account can have.
• Remote Control: when no Mac is found, the message now says which Macs support Remote Control, instead of pointing to a setting most Macs don't have.
• Crash reports now leave out the query part of web addresses.
1.55.0 6 days ago
Quota percentages now agree everywhere, and in Chinese, Japanese, Korean and Spanish the parts of CLI Pulse that still showed English, or wrote dates and numbers the wrong way, are fixed.
• Quota percentages agree. A quota 92.1% used said "8% remaining" in its alert and "7% left" on its card. Cards, widgets, Apple Watch and Siri now round the same way as the alert.
• Widgets and Apple Watch now show costs in the currency you chose in the app, and Siri uses it too.
• The activity heatmap is filled in under Try Demo instead of showing an empty card, and after you switch accounts it no longer shows the previous account's activity.
• On iOS 26, the Providers tab has one ••• button instead of two. The Risk Signals card now spans the full width like the other cards, and the hourly chart is titled "Hourly Activity" instead of repeating the heatmap's "Activity".
• VoiceOver: widgets say whether a percentage is used or left, and call the weekly quota "Weekly", not "Wk".
• On the Lock Screen and Apple Watch, a single session now reads "1 session", not "1 sessions".
• Fixed: with the Japanese, Minguo (Republic of China) or Buddhist calendar, the usage history chart showed zeros and the cost forecast read zero.
• Translated: provider status, quota names, plan badges, alerts, notifications and Try Demo's sample alerts, wherever they still appeared in English. Each language was then reviewed as a whole, and hundreds of wrong or inconsistent phrasings were fixed. Traditional Chinese now uses the same terms as Apple's software in Taiwan, and in the app Korean no longer breaks lines mid-word.
• Errors appear as a message in your language instead of the server's raw reply (such as HTTP 403: {"code":403,…}), and a verification code typed in full-width digits is accepted.
• Dates, times, numbers and money follow your language and region, including the hourly chart, quota reset times (your local time, not UTC) and token counts.
• Siri and Shortcuts now work in Chinese, Japanese, Korean and Spanish: action names, the phrases you say and Siri's answers. The system permission prompts are translated too.
1.54.0 28 Sept
Your iPhone can drive a CLI session on your Mac again — this time over your own local network, not through a server.
• New: Remote Control. On the same Wi-Fi, your iPhone finds your Mac, pairs with it once, and then lists the CLI sessions running there. You can watch a session's terminal live, type into it, start and stop sessions, and approve or reject tool permission requests from your phone. The connection is direct and encrypted between the two devices; the session's output does not travel through our servers.
This replaces the server-based version removed in 1.52.1, which had stopped working. Remote Control needs the Developer ID version of CLI Pulse running on the Mac; the App Store build of the Mac app says so plainly rather than offering a switch that cannot work.
• Fixed: the remote terminal opened black. The first screenful was pushed before the terminal view existed and was discarded silently, so a session that had already printed its banner showed nothing until it printed again.
• Fixed: opening a session's terminal closed the very connection that terminal needed, so it painted once and then went dead.
• Fixed: the link is re-established when you bring the app back to the foreground. Before, backgrounding the app dropped the connection and nothing reconnected it.
• Fixed: a secret could be sent to the phone in clear text. When output paused mid-token, the part already buffered was flushed without redaction — and the tail of an API key carries most of its entropy.
• Fixed: answered approvals kept their slot, so a long session eventually stopped being able to ask for permission at all.
• Fixed: a session whose helper had stopped kept its keyboard live and answered keystrokes with an untranslated internal error.
1.53.0 11 Sept
If you never turned on Remote Control, the alerts you had switched on were never reaching you — and nothing said so.
• Fixed: alert notifications. The app only ever asked for notification permission when you turned on Remote Control — a switch that now controls fan speed, low-power mode and keep-awake, and sends no notifications at all. If you never touched it, permission was never requested, so every alert notification was discarded by the system while Settings showed alerts switched on the whole time. The app now asks when you open Alerts, which is where the notifications come from.
• Fixed: diagnostics reported "Mac reachable: FAIL" for Macs that were connected and working. The check compared your Mac's type against "Mac" while the app registers Macs as "macOS", so it failed on almost every machine it was asked about.
• Fixed: Send and Stop stayed clickable in a session whose helper had stopped, and silently did nothing when pressed. They are now disabled, and the banner names the real cause instead of pointing at a switch that cannot fix it.
• Fixed: the yearly plan advertised a discount it does not offer everywhere. "Save 17%" was written for prices we no longer charge; the figure is now computed from the live App Store prices for your region, so it shows a real number or no badge at all.
• Removed: starting CLI sessions from your phone, streaming their terminal output, and approving tool permissions remotely. None of it had worked for some time. The screens, buttons and setup instructions describing it are gone rather than left promising something the app could not do. Machine controls — fan target, low-power mode, keep-awake — are unaffected.
• Fixed: four settings that saved your choice and were then read by nothing, including one that claimed to silence quota notifications while they kept arriving.
1.52.1 2 Sept
We were selling three things we cannot deliver. They are gone.
• Removed: the Team plan. It never had a feature Pro did not already include, and it did not work — the server functions behind creating a team, inviting members and viewing team usage are not deployed, so pressing "Create Team" returned an error. If you already have Team, nothing changes: your plan and access are untouched.
• Removed: Pro Lifetime. It has been incompletely configured in the App Store since it was introduced, which means the store never offered it and the button never worked — for over thirty releases. Rather than leave a purchase option that cannot complete, it is withdrawn. Existing Lifetime purchases are unaffected.
• Removed on Android: the option to subscribe. Payment was wired up correctly, but nothing in the Android app actually changes based on your plan — so a subscription would have charged you and given you nothing. Every feature in the Android app is available to you as it is. "Restore purchases" stays, so anyone who already paid can recover their plan.
• New: if your Pro came with the direct-download or Homebrew build, the app now says so. That version has included Pro since v1.19 as a gift for the channel. You were never told, which meant there was no way to tell it apart from something you had bought. Nothing to pay, nothing to cancel.
• Fixed: when a purchase could not be confirmed with our server, the app kept working but said nothing, and the purchase went unrecorded on our side. It now reports the failure clearly so it can be found and fixed rather than sitting silent.
1.52.0 29 Aug
Fixed: the background helper could stop starting after an update and stay stopped, with nothing on screen saying so. When that happened CLI Pulse found no CLI activity at all and simply showed nothing. It now checks the helper's real state at every launch and re-registers it when it is registered but failing to start.
Fixed: with local-only mode turned on, the first-run card about anonymous statistics said they were being sent. Nothing was — local-only mode already covers them.
Fixed: the counter for "CLI Pulse found a CLI on this machine" often wasn't recorded until a later launch, which made our own numbers read lower than reality. No change to what is collected.
1.47.0 11 Aug
Fixed: the in-app Privacy Policy and Terms links opened a missing page. They work again.
New: a first-run setup flow, and support for multiple accounts per provider.
New: an onboarding check that tells you why a CLI isn't being tracked, instead of just showing nothing.
New: anonymous install statistics, so we can tell whether CLI Pulse works for people who use it without an account. Two counters, no account, nothing that identifies you or your machine. It's explained on first launch and you can switch it off there or in Settings > Privacy.
Fixed: holding down the menu bar button no longer gets reported as the app freezing.
1.45.0 11 Aug
CLI Pulse 1.44 gets you to your numbers faster.
• Use it without an account: choose "Continue without account" and that choice now sticks — relaunching takes you straight back to your dashboard instead of the sign-in screen
• Machine health works out of the box: no separate companion install needed for CPU, memory, battery, sensors and the live process list
• Honest provider status: not installed, not running, and missing credentials are now told apart, instead of all showing up as "no data"
• Start at login: asked after you've actually seen your data, not before
• Install via Homebrew: brew install --cask cli-pulse
1.44.0 1 Aug
Pulse Cat — your usage, as a companion
A cat hatches from how you actually code that week, and joins a cattery you can browse, name, and switch between. Over 70 forms, each with its own idle animations and reactions.
Your Mac, in your pocket
Machine view shows a paired Mac's live system state, sensors and battery. Boost the fans or flip on Low Power Mode remotely — both revert on their own. Keep Awake can hold the Mac running, optionally with the lid closed while on power.
Also in this release
- Steadier syncing and more accurate provider readings.
- A year-round activity heatmap with streaks and peak days.
1.43.0 27 Jul
CLI Pulse 1.41 brings your Mac into your pocket.
• Machine view: see a paired Mac's live system stats — CPU load, memory pressure, uptime, disk and swap — plus sensors and battery, right on your iPhone
• Remote fan boost: spin up your Mac's fans from your phone, with a safe auto-revert timer
• Remote Low Power Mode: toggle it without leaving your chair
• Keep Awake: keep your Mac running remotely, with an optional lid-closed mode (on AC power)
• Usage heatmap: a year-at-a-glance activity heatmap on your dashboard — tap in for streaks, peak days, and per-provider and per-model usage history
• Apple Watch: glanceable machine cards for each paired Mac
Remote controls are opt-in and appear only when your Mac can honor them.
1.41.0 10 Jul
New in this version:
• Machine — see your Mac's live CPU, memory, temperature, fan speed, and power draw at a glance, plus battery health and the processes using the most resources. (Detailed sensor readouts are available in the direct-download build.)
• Provider Service Status — tap a provider to see its live service-component status and jump straight to its status page, so you can tell a provider outage apart from your own usage limits.
• Security and reliability improvements, including a hardened Companion CLI installer and assorted fixes.
1.38.0 5 Jul
• Live terminal now streams over a private, per-user channel — output stays scoped to you.
• More reliable reconnects and token refresh for long-running remote sessions.
• Stability and polish fixes across the app.
1.37.0 4 Jul
The app now warns, before you start a managed Codex session on your Mac, when it would run billed on the OpenAI API instead of your ChatGPT plan — matching the Mac app. Plus stability improvements.
1.36.0 1 Jul
v1.33.0
- Live service status now covers more providers, including ElevenLabs, Groq, Warp, Moonshot, Deepgram, Windsurf and Augment.
- Reduced background CPU and battery use from usage checks.
- Hardened the live session stream, with reliability and security improvements throughout.
1.33.0 28 Jun
v1.32.2
- Under-the-hood reliability improvements and groundwork for upcoming features.
- Fixes and refinements throughout.
1.32.2 25 Jun
v1.32.1
- See your real Gemini quota — Pro, Flash, and Flash Lite — now working for Google AI Pro and Antigravity accounts.
- On Mac, the in-app session terminal is now a faithful 1:1 match for your real CLI: full color, live resize, and reachable right from your Sessions list.
- Apple Watch quota rings are now color-coded per provider, with a legend so you can tell them apart at a glance.
- Safer one-tap swarm approvals on iPhone, and more reliable sign-in.
- Fixes and refinements throughout.
1.32.1 22 Jun
Reliability and performance improvements across session monitoring and the in-app experience.
1.32.0 20 Jun
v1.31.0
- Fixed (Mac): no more repeated keychain permission prompt while reading your Claude credentials — grant access once and it stays quiet.
- Quota-bar pace markers show whether you are ahead of or behind your expected usage pace, with warning-threshold ticks.
- New per-provider usage history chart on iPhone and Mac.
- Usage-pace summaries across the app, and a redesigned Apple Watch glance (Pulse / Quota / Live / Alerts).
- Reliability and performance improvements.
1.31.0 19 Jun
This update sharpens the iOS widgets:
- Each provider now shows two countdown bars — your 5-hour and weekly limits — so you can see what's left at a glance.
- Fixed a glitch that could show an incorrect percentage on a widget.
- Free accounts now sync across two devices.
- General reliability improvements.
1.29.1 17 Jun
The Apple Watch app is completely redesigned — a faster, glance-first view of your AI coding usage.
- Pulse: an animated activity waveform with your headline usage and key stats at a glance
- Quota: countdown rings plus 5-hour and weekly limit bars for every provider
- Live: real-time session activity
- Alerts: severity-sorted warnings when you're close to a limit
Swipe between pages; everything stays readable even in Always-On.
1.29.0 16 Jun
This update focuses on accuracy, reliability, and privacy.
- Cost and subscription figures now display cleanly and accurately
- Quota alerts now show the correct remaining percentage
- More accurate Codex cost, budget, and forecast totals on Mac
- Fewer unexpected sign-outs from a token-refresh timing fix
- Subscription status, including refunds and sign-out, is now reflected accurately
- Localization fixes for English, with better fallbacks for Spanish and Korean
- Additional privacy and stability hardening throughout
1.28.0 8 Jun
- Provider service status: see at a glance when Claude, OpenAI, Cursor, or GitHub Copilot is having an outage, right on the provider card.
- Search your providers by name.
- Remote Control diagnostics: a one-tap health panel in Settings shows exactly why a remote session isn't connecting, with a copy-for-support button.
- Reliability and polish across the remote-control experience.
1.27.0 4 Jun
What's new in v1.26:
• iPhone / iPad: live remote terminal for the Mac sessions you manage with CLI Pulse. Toggle Show Live Terminal on a managed Mac session and you can see output streaming, type back, and use a soft-keyboard helper bar (Esc, Ctrl-C, arrows, page nav). Backgrounding the app disconnects cleanly; foreground reconnects and now restores recent output from the helper's redacted ring buffer.
• Performance: the iPhone terminal uses a tighter scrollback budget so multiple open sessions stay light on memory.
• Fix: a concurrency hotfix in the Mac helper's terminal ring buffer that could surface on busy sessions.
• Provider parity: Alibaba Token Plan usage refresh now uses the current Bailian subscription-summary endpoint. Existing users who saw the plan widget go quiet will see it recover automatically.
• Defensive polish to the JavaScript bridge inside the terminal viewport so malformed payloads can't wedge the UI.
Thanks for using CLI Pulse.
1.26.0 28 May
CLI Pulse now tracks 48 AI providers and coding CLIs. This release adds Grok (xAI), AWS Bedrock, Windsurf, Mistral, Moonshot, Groq, Abacus AI, Command Code, StepFun, T3 Chat, MiMo, LLM Proxy, Alibaba Token Plan, and OpenCode Go — plus reliability and performance improvements.
1.23.0 25 May
Codex cost estimates are higher in this version, and Claude estimates change. CLI Pulse on your Mac counts and prices your usage, so most of these figures change on iPhone once your Mac runs this version and syncs.
• Codex cost estimates are higher. Subagent sessions are now counted; they used to be left out. And each request is priced at the API price OpenAI listed for its model on the day the request was made. Price changes apply from the day they take effect, and newer models have their own prices instead of gpt-5.4's: higher for some, such as gpt-5.5 and gpt-5.6-sol, and lower for others, such as gpt-5.6-luna.
• Older Codex days are counted again under the new rules. If you allowed CLI Pulse on your Mac to read older logs, it recounts the older Codex days it has already synced, so those days in the Usage Dashboard show the new figures too. Some days keep their earlier figures, for example when their logs have been deleted.
• The Usage Dashboard now counts Codex's cached input once. Cached input is already part of Codex's input but was added a second time, which made the Codex token totals there too high on every day. Costs were not affected.
• Claude cost estimates for the last 30 days change as well: CLI Pulse on your Mac now prices Claude at Anthropic's list prices for each day, gives Claude Opus 5.5, Claude Fable 5.1 and Claude Sonnet 5.5 their own prices, and counts the full output of each response, so estimates go down for some models and up for others.
• Try Demo now looks like the result of a single real refresh: its alerts, quotas, devices and Cost Summary are ones a real account can show, and the Cost Summary rows add up to its total.
• A provider's overall Quota bar now fills to the share left, like the other bars.
more Version 1.56.0 2 days ago
Data Linked to You The following data may be collected and linked to your identity:
Contact Info Identifiers Usage Data Data Not Linked to You The following data may be collected but it is not linked to your identity: