CLIProxyAPI
Route CLI model accounts through one compatible API gateway for existing developer tools.
- Source repo
- router-for-me/CLIProxyAPI
- Stars
- ★ 56k
- Last updated
- today
- License
- MIT
- Primary language
- Go
- FA score
- 41/100 · Major gaps
At a glance
- How it runs
- Works with
- Universal · cross-platformCodex · Claude Code · OpenAI API · Claude API
- Cost
- Free software; you pay for model usage
- Setup effort
- High · needs real infrastructure
- You'll need
- Typical use
- Developers who want an existing OpenAI-compatible client to use a Codex OAuth account can point it at the local proxy.
- Not a fit if
- Teams that only accept a hosted cloud service
- Users who need an API client with no configuration
- Source review
- 41/100 · Major gaps
What does this agent do, and when should you use it?
CLIProxyAPI is a proxy server that exposes OpenAI-, Gemini-, Claude-, Codex-, and Grok-compatible interfaces for CLI models. OAuth login is documented for OpenAI Codex, Claude Code, and Grok Build, alongside Gemini-related APIs and Generative Language API keys. Users can configure multiple accounts and round-robin load balancing for Gemini, OpenAI, Claude, and Grok. The service supports streaming, non-streaming, and WebSocket responses where a channel allows them, plus function calling and text and image input. A reusable Go SDK is available for embedding the proxy; the README does not specify deployment commands or runtime requirements.
After starting the proxy, users authenticate through the CLI with Gemini, OpenAI, Claude, or Grok accounts, or configure Generative Language API keys and OpenAI-compatible upstreams. Clients send requests through OpenAI (including Responses), Gemini (including Interactions), or Claude-compatible interfaces, and the proxy routes them to the configured channel and available account. With multiple accounts configured, Gemini, OpenAI, Claude, and Grok support round-robin load balancing. The proxy returns streaming or non-streaming results and supports WebSocket responses where the channel permits; function calls and text and image inputs are also supported. Go developers can use the SDK documentation and custom provider example to embed the proxy in an application.
- Developers who want an existing OpenAI-compatible client to use a Codex OAuth account can point it at the local proxy.
- Teams using Claude Code can connect multiple Claude accounts through OAuth and enable load balancing.
- Developers who need one service endpoint for Gemini, OpenAI, Claude, and Grok CLI accounts can configure multi-account routing.
- Users handling AI Studio Build requests across multiple accounts can use the documented AI Studio Build load-balancing support.
- Go developers building an application can embed the proxy with the Go SDK and explore the custom provider example.
How do you install or deploy this agent?
The README does not provide an installation command, release download steps, required runtime version, or complete configuration example, so a copyable installation flow cannot be established from the supplied material. It identifies CLIProxyAPI as a proxy server and provides a Go SDK for embedding; the initial run command and credential setup steps are not specified.
How do you use this agent?
The README lists CLI authentication flows for Gemini, OpenAI, Claude, and Grok, and says Codex, Claude Code, and Grok Build can be accessed through OAuth login. It does not provide the actual login or server-start commands, listening address, client configuration sample, or a copyable API request. Once configured, supported clients can use the proxy through OpenAI (including Responses), Gemini (including Interactions), or Claude-compatible interfaces.
What are this agent's strengths and limitations?
- Exposes OpenAI-, Gemini-, Claude-, Codex-, and Grok-compatible interfaces through one proxy service.
- Documents OAuth login for Codex, Claude Code, and Grok Build, as well as multi-account load balancing.
- Provides a Go SDK, a custom provider example, and streaming, non-streaming, and channel-dependent WebSocket responses.
- The supplied README omits installation commands, runtime versions, startup steps, and a complete configuration example, leaving deployment details unclear.
- Operation depends on reachable provider channels and their accounts, OAuth, or API keys; model availability varies by channel.
- The proxy must run as a service and handle client requests and upstream connections; offline operation and credential security details are not specified.
How does this agent compare with similar options?
The README recommends EasyCLIProxyAPI as a desktop client with a graphical configuration UI, automatic updates, system tray integration, and one-click start and stop; CLIProxyAPI itself is the proxy service. It also lists projects such as 9Router that are inspired by or ported from CLIProxyAPI, but provides no direct performance or feature evaluations.
Key facts side by side with the most closely related agents.
| Agent | Source review | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| CLIProxyAPI This agent | 41 · Major gaps | Self-hosted serviceFree + model costs | ★ 56k | today | Go | Codex · Claude Code · OpenAI API · Claude API |
| Maestro-Flow | 52 · Major gaps | CLIFree + model costs | ★ 567 | 5d ago | TypeScript | Codex · Claude Code · Claude API |
| Cyrus | 50 · Major gaps | CLIFreemium | ★ 859 | today | TypeScript | Codex · Claude Code · Claude API |
| multi | 41 · Major gaps | — | ★ 23 | 11d ago | Shell | Codex · Claude Code · Claude API |
How does FollowAgents rate this agent?
Why each dimension lost points
The materials describe a proxy connecting multiple model services and handling OAuth, API keys, auth files, and upstream requests. The SDK guide says management endpoints require a secret key and remote access must also be enabled, but does not explain credential encryption, log redaction, least privilege deployment, or the full data flow. Graceful shutdown is documented, but configuration rollback is not. go.mod lists dependency versions without a visible security audit or update policy; provenance and maintenance details are also limited.
The README, SDK guides, and module file support some shared feature claims, but the SDK examples use a /v6 module path while go.mod declares /v8. The README also lacks specific diagnosis or recovery guidance for failures. The dependency list is concrete, but the materials do not show availability or compatibility guarantees.
The README explicitly targets CLI clients, SDK integrations, and multi-account use, and lists protocols, providers, streaming, tool calling, and multimodal capabilities. The materials do not adequately define provider-specific differences, support boundaries, or deployment requirements, so full marks are not justified.
The README organizes overview, getting started, management API, SDK, and contribution information; the SDK guide includes an install command, code examples, and Chinese and English versions. The main installation guidance partly points to an external guide, and the examples conflict with the module's major version. Limitations are sparse, no changelog is supplied, and maintenance responsibility is unclear. An MIT license is present, but its copyright date reads “2025-2005.9,” reducing clarity.
The proxy unifies multiple CLI accounts and model interfaces behind compatible APIs and provides an embeddable Go SDK, which can reduce client integration work. The materials show usable integration patterns, but do not substantiate the benefits, operating costs, or effects of sponsored services in detail.
Feature lists and SDK examples make some capabilities traceable. The README, SDK guides, go.mod, and license permit cross-checking, but the module-version mismatch weakens corroboration. Model capability, availability, and commercial service claims in the README are mostly assertions without independent support in the supplied materials, and promotional statements are not consistently distinguished from verifiable facts.
- The SDK guide examples use /v6, while go.mod declares /v8; check the import path and installation instructions for the target revision before use.
- The proxy handles credentials and sends requests to model providers; the materials do not explain credential protection, request log redaction, or the full data flow. Verify those behaviors and settings before deployment.
- Model versions, channel availability, and sponsor pricing in the README are not independently corroborated by the supplied materials.