CodexBar

SkillAI & models

Lets your agent check AI subscription usage, remaining credits, and reset times for providers like Claude and OpenAI.

Then ask your AI: use the CodexBar skill

Details

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

Add it as a step in a pipeline you build on Ahel, or connect Ahel to Claude, ChatGPT, Cursor, Claude Code or Codex and ask your AI to use it.

About this skill

AI service usage/quota via CodexBar CLI: Codex/OpenAI, Claude, Kimi and other provider limits, credits, reset times.

What this skill tells your AI

The instructions your AI receives, as published by steipete/agent-scripts in skills/codexbar/SKILL.md and read by Ahel’s review.

Use this when asked about AI subscription usage, rate limits, remaining credits, or "how much Codex/Claude/Kimi do I have left".

CLI

  • Binary: codexbar (Homebrew)
  • Default invocation honors the in-app provider toggles:
codexbar usage
codexbar usage --format json
  • Specific provider (--provider accepts codex, claude, kimi, gemini, copilot, cursor, openrouter, and many more — see codexbar --help):
codexbar usage --provider codex --json
codexbar usage --provider claude --json
  • Multiple accounts: --account <label>, --account-index <n>, or --all-accounts (single provider only).

Auth model

Provider fetches ride existing sessions — OAuth caches, CLI credentials, or browser cookies. No secrets are passed on the command line.

  • Codex: OpenAI web dashboard via oauth; falls back to Codex CLI.
  • Claude: claude.ai API via browser session cookie; falls back to Claude CLI. "No Claude session key found in browser cookies" means log in to claude.ai in a supported browser (or rely on the CLI fallback).
  • Token-based providers read the CodexBar config file.

Dashboard endpoints

The menu bar app serves its dashboard on loopback. The page pulls /dashboard/v1/snapshot and /cost; there is no /api/* namespace, so those paths 404 rather than telling you that you guessed. The snapshot endpoint requires auth, so when the CLI is unavailable the quickest honest check is to open the dashboard in a browser.

usage --all-accounts polls every account serially and takes well over ninety seconds. If it produces zero bytes on both stdout and stderr, it is not slow, it is blocked: the CLI is a helper inside CodexBar.app, and a pending macOS Gatekeeper prompt stops it dead with no output. Screenshot the screen before debugging the command.

Interpreting output

  • Errors for providers that were never configured are noise, not failures — only report providers the user actually uses.
  • Report percentage left, pace vs. expected, and reset time; the pace line ("in deficit"/"in reserve") is the actionable bit.
  • Claude rows read claude-swap stored backups, which produces two confusing readings. The currently active slot shows as having no stored credentials, because the live login is an active profile and its backup only materialises when you switch away. And claude-swap keeps a last seen percentage that keeps rendering for accounts whose credentials are gone, so a dead account can read as healthy for days. A plausible percentage is not proof of a working credential; only refresh token yes in claude-swap list --token-status is.

Signals

GitHub stars
7k
Forks
635
Last commit
Oct 2026
Advanced
Item type
skill
Key
codexbar
Source
github.com/steipete/agent-scripts