{
  "name": "AI Battery",
  "description": "Track Claude Code and OpenAI Codex rate limits, context health, and token usage from your macOS menu bar.",
  "homepage": "https://aibattery.dev/",
  "repository": "https://github.com/KyleNesium/AIBattery",
  "license": "MIT",
  "licenseUrl": "https://github.com/KyleNesium/AIBattery/blob/main/LICENSE",
  "author": {
    "name": "KyleNesium",
    "url": "https://github.com/KyleNesium"
  },
  "bundleIdentifier": "com.KyleNesium.AIBattery",
  "platform": {
    "os": "macOS",
    "minimumVersion": "13.0",
    "minimumVersionName": "Ventura",
    "architectures": [
      "arm64"
    ]
  },
  "requiresAnyOf": [
    "Claude Code",
    "Codex CLI"
  ],
  "providers": [
    {
      "id": "claude",
      "name": "Claude Code (Anthropic)",
      "accountsMax": 3
    },
    {
      "id": "codex",
      "name": "OpenAI Codex",
      "accountsMax": 3
    }
  ],
  "version": "3.1.0",
  "releasedAt": "2026-10-15",
  "releaseNotes": "https://github.com/KyleNesium/AIBattery/releases/tag/v3.1.0",
  "install": [
    {
      "id": "homebrew",
      "label": "Homebrew",
      "command": "brew tap KyleNesium/tap && brew install --cask aibattery",
      "note": "Recommended. Installs the cask from the KyleNesium/tap tap and clears the quarantine flag.",
      "tap": "KyleNesium/tap",
      "cask": "aibattery",
      "caskUrl": "https://github.com/KyleNesium/homebrew-tap/blob/main/Casks/aibattery.rb"
    },
    {
      "id": "quick",
      "label": "Quick install (curl)",
      "command": "curl -sL https://github.com/KyleNesium/AIBattery/releases/latest/download/AIBattery.zip -o /tmp/AIBattery.zip && ditto -x -k /tmp/AIBattery.zip /Applications && xattr -cr /Applications/AIBattery.app && open /Applications/AIBattery.app",
      "note": "Downloads the latest release zip, unpacks it into /Applications, clears the quarantine flag and launches the app."
    },
    {
      "id": "dmg",
      "label": "DMG",
      "url": "https://github.com/KyleNesium/AIBattery/releases/latest/download/AIBattery.dmg",
      "note": "Download the disk image from GitHub Releases and drag AI Battery into Applications."
    },
    {
      "id": "agent",
      "label": "AI agent",
      "command": "curl -fsSL https://aibattery.dev/install.sh | bash",
      "note": "Paste https://aibattery.dev/install into Claude Code, Codex or any agent with a shell and say \"install it\". The one-liner is what that runbook runs without Homebrew: pinned to the current release, SHA-256 verified, then launches the app.",
      "runbook": "https://aibattery.dev/install",
      "runbookMarkdown": "https://aibattery.dev/install.md",
      "script": "https://aibattery.dev/install.sh"
    }
  ],
  "agentInstall": {
    "runbook": "https://aibattery.dev/install",
    "runbookMarkdown": "https://aibattery.dev/install.md",
    "script": "https://aibattery.dev/install.sh",
    "oneLiner": "curl -fsSL https://aibattery.dev/install.sh | bash",
    "pinnedVersion": "3.1.0",
    "zipSha256": "c79702b7eae1f0a4903c21550c7499dc4a15819ed1c79c05fb3a87389688b357",
    "humanSteps": [
      "If macOS blocks the app: System Settings → Privacy & Security → Open Anyway",
      "Click Always Allow on the Keychain prompt",
      "Click the star in the menu bar and sign in to Claude and/or Codex"
    ]
  },
  "downloads": {
    "latest": {
      "dmg": "https://github.com/KyleNesium/AIBattery/releases/latest/download/AIBattery.dmg",
      "zip": "https://github.com/KyleNesium/AIBattery/releases/latest/download/AIBattery.zip",
      "checksums": "https://github.com/KyleNesium/AIBattery/releases/latest/download/checksums-sha256.txt"
    },
    "release": [
      {
        "name": "AIBattery.dmg",
        "url": "https://github.com/KyleNesium/AIBattery/releases/download/v3.1.0/AIBattery.dmg",
        "bytes": 4454497,
        "sha256": "9e96c8331a97962ff55541bf0c5d44fe0c7eb0b363387ba70ca81facfa0530c6"
      },
      {
        "name": "AIBattery.zip",
        "url": "https://github.com/KyleNesium/AIBattery/releases/download/v3.1.0/AIBattery.zip",
        "bytes": 3424555,
        "sha256": "c79702b7eae1f0a4903c21550c7499dc4a15819ed1c79c05fb3a87389688b357"
      }
    ]
  },
  "updates": {
    "mechanism": "Sparkle 2",
    "appcast": "https://kylenesium.github.io/AIBattery/appcast.xml"
  },
  "stats": {
    "testCount": 1429,
    "testFiles": 111,
    "githubStars": 23,
    "githubDownloads": 896
  },
  "privacy": {
    "telemetry": false,
    "analytics": false,
    "readsMessageContent": false,
    "policy": "https://aibattery.dev/privacy",
    "policyMarkdown": "https://aibattery.dev/privacy.md"
  },
  "docs": {
    "llms": "https://aibattery.dev/llms.txt",
    "llmsFull": "https://aibattery.dev/llms-full.txt",
    "sitemap": "https://aibattery.dev/sitemap.xml",
    "feed": "https://aibattery.dev/feed.xml",
    "homepageMarkdown": "https://aibattery.dev/index.md",
    "guides": [
      {
        "slug": "claude-code-rate-limits",
        "title": "How Claude Code Rate Limits Work",
        "summary": "Everything you need to know about Claude Code rate limits: 5-hour burst windows, 7-day sustained limits, how they're calculated, and how to avoid hitting them mid-task.",
        "html": "https://aibattery.dev/guides/claude-code-rate-limits",
        "markdown": "https://aibattery.dev/guides/claude-code-rate-limits.md",
        "section": "Claude Code",
        "category": "Understand limits",
        "published": "2026-03-05",
        "modified": "2026-03-05"
      },
      {
        "slug": "context-health",
        "title": "Understanding Claude Code's Context Window",
        "summary": "How Claude Code context works, what auto-compaction does, and how to manage sessions for better results.",
        "html": "https://aibattery.dev/guides/context-health",
        "markdown": "https://aibattery.dev/guides/context-health.md",
        "section": "Claude Code",
        "category": "Understand limits",
        "published": "2026-03-06",
        "modified": "2026-10-11"
      },
      {
        "slug": "reduce-token-usage",
        "title": "How to Reduce Claude Code Token Usage",
        "summary": "Practical strategies to use fewer tokens per session, stretch your rate limits, and get better results from Claude Code.",
        "html": "https://aibattery.dev/guides/reduce-token-usage",
        "markdown": "https://aibattery.dev/guides/reduce-token-usage.md",
        "section": "Claude Code",
        "category": "Improve workflow",
        "published": "2026-03-06",
        "modified": "2026-10-11"
      },
      {
        "slug": "is-max-plan-worth-it",
        "title": "Is Claude Code Max Worth It? Pro vs Max Compared",
        "summary": "Compare Claude Code Pro ($20/mo), Max 5x ($100/mo), and Max 20x ($200/mo) plans. Who each tier is for, when to upgrade, and how to measure your actual usage before deciding.",
        "html": "https://aibattery.dev/guides/is-max-plan-worth-it",
        "markdown": "https://aibattery.dev/guides/is-max-plan-worth-it.md",
        "section": "Claude Code",
        "category": "Choose a plan",
        "published": "2026-03-06",
        "modified": "2026-03-06"
      },
      {
        "slug": "tips-and-tricks",
        "title": "Claude Code Tips and Tricks",
        "summary": "CLAUDE.md files, .claudeignore, slash commands, prompt structure, git workflows, session management, and usage monitoring tips for power users.",
        "html": "https://aibattery.dev/guides/tips-and-tricks",
        "markdown": "https://aibattery.dev/guides/tips-and-tricks.md",
        "section": "Claude Code",
        "category": "Improve workflow",
        "published": "2026-03-06",
        "modified": "2026-03-06"
      },
      {
        "slug": "settings",
        "title": "AI Battery Settings Guide",
        "summary": "Every AI Battery setting explained: Claude and Codex accounts and the multi-account overview, refresh interval and per-poll cost, idle cutoff, display toggles, the menu bar metric picker and auto mode, alerts, launch at login, About and updates, and the context health indicators.",
        "html": "https://aibattery.dev/guides/settings",
        "markdown": "https://aibattery.dev/guides/settings.md",
        "section": "AI Battery",
        "category": "Product guides",
        "published": "2026-03-09",
        "modified": "2026-10-15"
      },
      {
        "slug": "why-claude-code-gets-slow",
        "title": "Why Claude Code Gets Slow and How to Fix It",
        "summary": "Why Claude Code can feel slower over time, what Anthropic documents about context and token usage, and the practical fixes that help.",
        "html": "https://aibattery.dev/guides/why-claude-code-gets-slow",
        "markdown": "https://aibattery.dev/guides/why-claude-code-gets-slow.md",
        "section": "Claude Code",
        "category": "Troubleshooting",
        "published": "2026-03-16",
        "modified": "2026-03-16"
      },
      {
        "slug": "codex-rate-limits",
        "title": "How Codex Rate Limits Work: 5-Hour, Weekly, Credits and API Keys",
        "summary": "What the 5-hour and weekly Codex windows are, how Business and Enterprise credit budgets differ, what an API key is limited by, and how AI Battery shows each one.",
        "html": "https://aibattery.dev/guides/codex-rate-limits",
        "markdown": "https://aibattery.dev/guides/codex-rate-limits.md",
        "section": "Codex",
        "category": "Understand limits",
        "published": "2026-10-11",
        "modified": "2026-10-15"
      }
    ]
  },
  "modified": "2026-10-15"
}
