Skip to main content

CCS Bar

CCS Bar is the native macOS menu-bar companion for CCS. It gives you a fast quota and spend glance without opening the dashboard, then lets you jump into account controls when you need them.
CCS Bar is macOS-only. It talks to your local CCS server over loopback and does not call Claude, Codex, or CLIProxy providers directly.
CCS Bar v1 expects the default local CCS data directory at ~/.ccs. Custom CCS_HOME or CCS_DIR layouts may not be discovered by the native app yet.

Current Snapshot

CCS Bar macOS menu-bar panel with sanitized quota, spend, and account rows
The screenshot uses sanitized demo account names and usage values. The layout matches the current panel structure: native subscription rows first, spend summary next, pool accounts below, and quick actions in the footer.

Install And Run

1

Install the app

This downloads CCS Bar.app from the ccs-bar-latest release into ~/Applications, clears the macOS Gatekeeper quarantine, and records how to start the local server so the app can launch it on its own.
2

Open it like any Mac app

Launch CCS Bar from Spotlight, Finder, or the Dock. The first time you open the menu, it starts the local CCS server in the background and connects. You do not need to keep a terminal open.
3

Or start it from the CLI

ccs bar starts the server in the background and returns your prompt right away, then opens the app. If a server is already running it reuses it.
4

Reinstall or remove when needed

Updating

CCS Bar keeps itself current. When a newer build is published it shows an Update available row at the top of the menu. Click Update Now and the app downloads the new version, replaces itself, and reopens. You never need a terminal. Automatic checks are on by default. You can turn them off in Settings > Updates (“Check for CCS Bar updates automatically”). You can also update at any time from the CLI with ccs bar install, which always fetches the latest published build. The in-app updater runs ccs bar install for you, so keep the CCS CLI on your PATH and reasonably up to date.

Commands

What It Shows

Native subscription quota

Claude Code and Codex rows show quota windows, reset timing, and the tightest remaining window first. Codex usage refreshes live, and a refresh control on the card pulls the latest reading on demand.

Spend at a glance

A spend chart you can switch between Today, 7-day, and 30-day, with time-axis labels (hours for today, days for the wider windows). Totals come from local CCS usage data.

Account control

Pause, resume, set default, solo an account, or use tier-lock from the menu.

Dashboard handoff

Open the dashboard, refresh data, change icon style, or open settings without leaving the menu.

How It Works

CCS Bar loopback data flow diagram
The CCS web server runs as a background process, separate from your terminal. When you open the app it checks the usual local ports for a running server, and if it does not find one it starts the server itself using the launch details recorded at install time. That is why a plain double-click works without the CLI. CCS Bar keeps a few small files under ~/.ccs: ~/.ccs/bar.json looks like this:
The app then calls local endpoints: Provider traffic stays in CCS. The native app only talks to localhost.

Panel Map

Annotated CCS Bar panel map
The panel is organized for quick triage:
  • Header: CCS identity, app version, refresh state
  • Subscriptions: Claude Code and Codex first, sorted by the tightest quota
  • Spend: a Today / 7-day / 30-day chart with time-axis labels below quota
  • Pool accounts: CLIProxy account rows after native subscriptions
  • Footer: dashboard, icon style, settings, refresh, quit

Feedback Wanted

CCS Bar is new enough that real workflow feedback matters. Please open an issue for rough edges, missing controls, unclear quota labels, menu sizing, install friction, or any idea that would make the bar more useful.

Report an issue

Bugs, confusing states, install problems, and missing provider data.

Suggest an improvement

Workflow ideas, panel layout feedback, and new account actions.

Troubleshooting