The Problem

Developers managing multiple AI coding assistant subscriptions face fragmented account handling, manual quota monitoring across separate dashboards, and inconsistent configuration of CLI tools like Claude Code and OpenCode. Each provider requires distinct API key management, quota tracking, and tool-specific setup, creating operational overhead when switching between assistants during development workflows.

What This Does

Quotio is a native macOS menu bar application that unifies AI account management across Claude, OpenAI, Gemini, Qwen, Antigravity, and other providers. The core application lives in Quotio/ (217 files), with Swift source code comprising 136 files. Key architectural components include:

  • Quotio/Models/ – Defines the data models governing account state, sorting, and provider configurations (AccountSorting.swift, ModelCatalog.swift, Constants.swift)
  • Quotio/Services/QuotaFetchers/ – Provider-specific quota fetchers implementing a consistent interface for real-time status retrieval (OpenAIQuotaFetcher.swift, ClaudeCodeQuotaFetcher.swift, CopilotQuotaFetcher.swift, among 15 others)
  • Quotio/Services/Antigravity/ – Specialized service suite for Antigravity integration (AntigravityDatabaseService.swift, AntigravityProcessManager.swift, AntigravityQuotaFetcher.swift)
  • Quotio/Services/StatusBarManager.swift and StatusBarMenuBuilder.swift – Render the menu bar interface with provider icons and quota displays
  • Quotio/Services/ProxyConfigurationService.swift – Manages the local CLIProxyAPI proxy server that enables tool integration

The quota tracking system operates in two modes: standalone mode (viewing quotas without the proxy running) and proxy-mode (real-time monitoring through the local server). Provider icons are stored in Quotio/Assets.xcassets/ProviderIcons/ and menu bar icons in Quotio/Assets.xcassets/MenuBarIcons/.

How It Is Wired

Execution originates at QuotioApp.swift, the SwiftUI application entry point. From there, control flows through StatusBarManager.swift which orchestrates the menu bar presentation and user interactions. Quota data is refreshed via the QuotaFetchers – each provider fetcher (e.g., OpenAIQuotaFetcher.swift) implements its own API parsing logic but routes through a common abstraction. The AgentDetectionService.swift scans the system for installed AI coding tools (Claude Code, OpenCode, etc.) and configures them via OpenCodeConfigEditor.swift.

The proxy infrastructure is managed by TunnelManager.swift (using CloudflaredService.swift for remote tunneling) and CLIProxyManager.swift. When a user interacts with the menu bar, StatusBarMenuBuilder.swift presents provider-specific actions that can trigger account switching, quota refreshes, or tool configuration workflows. The KeychainHelper.swift secures API credentials, while ManagementAPIClient.swift handles backend communication for account provisioning.

How To Use It

Setup: Clone via git clone https://github.com/moses-y/quotio. Build using Xcode 15+ with the Quotio.xcodeproj open, or via SwiftPM using the resolved dependencies in Quotio.xcodeproj/xcshareddata/swiftpm/Package.resolved. The project targets macOS 13.0+.

Configuration: Required keys and settings are defined in Config/Local.xcconfig.example and applied through Config/Debug.xcconfig / Config/Release.xcconfig. Environment variables for API keys and OAuth secrets belong in the Xcode scheme's environment variables or a .env file loaded at runtime. The app supports both OAuth flows and direct API key entry.

Running it: Launch from Xcode or run open Quotio.xcodeproj. On first launch, the app prompts for provider connections via OAuth or API key entry. The menu bar item reveals quota status, account management, and tool configuration options. For CI or headless operation, the CLIExecutor.swift provides a scriptable interface.

Real-World Use

A developer working across Claude Code, OpenAI ChatGPT, and Gemini Code assistants can add all three accounts to Quotio. The menu bar displays real-time token usage and remaining quotas per provider. When Claude Code's quota is exhausted, Quotio's smart failover routes subsequent requests to the OpenAI or Gemini account without manual intervention. The developer can configure Claude Code's environment variables through Quotio's one-click setup, eliminating the need to manually edit shell profiles or .env files. Token usage analytics appear in the dashboard, showing success rates and request volumes across the month.

Code Health & Issues

Measured static analysis of the repository finds no structural red flags. Tests (QuotioTests/, 18 files) and CI (.github/workflows/release.yml) are present. A license file (LICENSE) is present. No missing configuration or committed secrets were detected in the visible file structure. The codebase includes 7 documentation files. No unresolved TODOs or broken build indicators were observed in the available metadata.

The Bottom Line

Quotio delivers a functional, well-structured macOS menu bar solution for unifying AI account management and quota tracking. The Swift codebase is extensive with clear provider separation via the QuotaFetchers pattern, and the proxy-based architecture enables genuine auto-failover behavior. It's particularly valuable for developers who regularly switch between multiple AI coding tools and want consolidated visibility without leaving the desktop. The main consideration is the setup overhead of connecting multiple provider accounts and configuring the local proxy, which may be less relevant for users with a single primary assistant.