# VibeProxy: Use Claude Code and ChatGPT Subscriptions With AI Coding Tools on macOS

> VibeProxy is a native macOS menu bar app that wraps the CLIProxyAPIPlus server so Claude Code, Codex, Gemini, Kimi, Qwen and Z.AI GLM subscriptions can be reached by other coding tools without API keys. The trade-off is platform lock-in and a dependency on subscription terms.

**automazeio/vibeproxy** — Native macOS menu bar app to use your Claude Code & ChatGPT subscriptions with AI coding tools - no API keys needed

- Repository: https://github.com/automazeio/vibeproxy
- Stars: 3,354 · Forks: 228
- Language: Swift
- License: MIT
- Published: 2026-09-24 · Updated: 2026-09-24 · Language: en
- Canonical page: https://hysenlabs.com/projects/automazeio-vibeproxy

## The double-billing problem VibeProxy targets

If you already pay for Claude Code or ChatGPT and then start using a coding agent such as Factory Droids, you normally face a second bill. The agent wants an API endpoint and an API key; your subscription is not an API key. VibeProxy exists to close that gap on macOS. It is a menu bar app that runs a local proxy server, and the coding tool talks to that server instead of to a metered API. The audience is narrow and specific: Mac users who hold a subscription, who use a separate coding agent, and who do not want to pay per token on top. The README frames it as "Stop paying twice for AI." Note that the supported subscription list is wider than the title suggests. Claude Code, ChatGPT, Gemini, Kimi, Qwen, Antigravity and Z.AI GLM are all named, with Z.AI GLM handled through an API key rather than OAuth.

## How the bundled CLIProxyAPIPlus server handles OAuth and routing

VibeProxy is not itself the proxy. It is a SwiftUI shell around CLIProxyAPIPlus, described in the README as a unified proxy server for AI services. The repository layout makes the relationship concrete: src/Sources/Resources/ contains the cli-proxy-api-plus binary, a config.yaml, and the service icons, so the server ships inside the .app bundle. The Swift side is split by responsibility. AppDelegate owns the menu bar item and the settings window. ServerManager starts and stops the server process and drives OAuth. SettingsView is the interface. AuthStatus watches ~/.cli-proxy-api/ for credential files and updates in real time when files appear or disappear. Credentials therefore live outside the app bundle, in your home directory, which matters when you think about what you are trusting. Multi-account support is documented: you can connect several accounts per provider, and the proxy distributes requests round-robin and fails over when a provider rate-limits. Providers can be enabled or disabled, and the README says the change hot-reloads instantly.

## Installing VibeProxy and connecting your first provider

The README requires macOS 13 (Ventura) or later. The recommended path is a pre-built release, which the README says is code signed and notarized, so Gatekeeper does not block it. The README instructs you to download the archive for your Mac, extract it, and drag VibeProxy.app to /Applications.

```bash
# Apple Silicon (M1/M2/M3/M4)
# download VibeProxy-arm64.zip from the Releases page

# Intel (README marks this build untested)
# download VibeProxy-x86_64.zip from the Releases page
```

After launching, the README describes the first-run flow: a menu bar icon appears, you open Settings, and the server starts automatically. From there you click Connect for an OAuth provider. Your browser opens, you complete authentication, VibeProxy detects the credentials, and the status line changes to connected. Z.AI GLM works differently: you click Add Account and paste a provider API key, which the app stores under ~/.cli-proxy-api/.

If you would rather build it yourself, the README points to INSTALLATION.md for detailed build instructions. The Makefile carries the targets.

```bash
make build    # debug build via swift build in src/
make app      # create VibeProxy.app bundle
make install  # build and copy into /Applications
```

The Makefile notes the debug binary lands at src/.build/debug/CLIProxyMenuBar. To stop the server later, click the Running/Stopped status in the menu bar.

## Vercel AI Gateway as a risk hedge for Claude Max

The README is unusually candid about one risk. It describes the Vercel AI Gateway integration as a way to route Claude requests through "Vercel's officially sanctioned AI Gateway" for "safer access to your Claude Max subscription," and says this avoids "account risks from using OAuth tokens directly." That sentence is the most important line in the document. It is an admission that pointing a third-party client at OAuth credentials carries a chance of the provider objecting. VibeProxy offers a mitigation, not a guarantee. If your Claude usage matters to you, decide whether the direct OAuth path or the gateway path is acceptable before you connect an account you cannot afford to lose. The README does not document what happens to in-flight requests if a provider revokes a token mid-session.

## Where VibeProxy is the wrong tool

The first limitation is the platform. This is a native macOS app built in Swift, and the README lists macOS 13+ as the requirement with no mention of any other operating system. People searching for VibeProxy for Windows or VibeProxy on Linux will not find a supported build here. The Intel archive is explicitly labelled untested, so even within macOS the Apple Silicon path is the one the maintainers stand behind. The second limitation is the dependency chain. Everything runs through CLIProxyAPIPlus, a separate project, and the app bundles a binary of it. When that upstream changes authentication behaviour, VibeProxy has to follow. The third is that credentials sit in ~/.cli-proxy-api/ in plain files on disk. AuthStatus simply watches that directory; the README does not describe encryption at rest. The fourth is that subscription terms are not yours to set. A proxy that presents subscription credentials to a non-official client is a grey area, and the Vercel gateway note exists precisely because of it.

## How VibeProxy differs from running CLIProxyAPIPlus directly

The obvious alternative is CLIProxyAPIPlus on its own. It is the same proxy engine, so the routing, multi-account round-robin and failover behaviour are not VibeProxy inventions. The difference is everything around it. Running the server directly means managing a process, editing config.yaml, and completing OAuth flows by whatever means the upstream documents. VibeProxy replaces that with a menu bar toggle, a Connect button per provider, file monitoring that reflects credential changes live, launch-at-login, and Sparkle-based automatic updates that the README says check daily. Whether that is worth it depends on how often you touch the server. If you configure it once and never look again, the raw server is leaner. If you switch providers, add accounts, or want to see connection status at a glance, the wrapper earns its place. Note the trade: the bundled binary means you get the upstream version the maintainers shipped, not necessarily the newest one.

## Maintenance cadence, licensing and upgrade cost

The last push to the repository was on 2026-09-20, and the most recent release, v1.8.304, carries the same timestamp. The two preceding releases, v1.8.303 and v1.8.302, landed on 2026-09-19 and 2026-09-18, so the project is shipping near-daily builds. The version numbers themselves are informative: the patch component is in the hundreds, which suggests many small releases rather than occasional large ones. VibeProxy is MIT licensed, the same permissive terms as many macOS utilities. MIT covers the code in this repository; the bundled CLIProxyAPIPlus binary and the provider services you authenticate against carry their own terms, and the README does not spell those out. Upgrades are handled by Sparkle, which the README says checks daily and installs automatically from v1.6 onward. That is low effort for you and also means you are not reviewing each release. If you want to pin a version, you would need to work against the appcast.xml and appcast-x86_64.xml feeds in the repository and whatever Sparkle settings the app exposes, which the README does not document.

## Conclusion

Adopt VibeProxy if you are on macOS 13 or later, already pay for Claude Code or Codex, and want Factory Droids or Amp CLI to use those subscriptions instead of a separate API key. Do not adopt it if you need Linux or Windows, or if you are unwilling to route OAuth tokens through a third-party binary. Before installing, read FACTORY_SETUP.md or AMPCODE_SETUP.md for your tool, and confirm the current release on the Releases page matches your Mac architecture (VibeProxy-arm64.zip for Apple Silicon, VibeProxy-x86_64.zip for Intel, which the README marks untested).

## FAQ

### What is VibeProxy and how do I use it?

VibeProxy is a native macOS menu bar app that lets you use Claude Code, ChatGPT, Gemini, Kimi, Qwen, Antigravity and Z.AI GLM subscriptions with AI coding tools such as Factory Droids, without API keys. After launching it, you open Settings, the server starts automatically, and you click Connect for an OAuth provider or Add Account for Z.AI GLM.

### What is a proxy app?

In this project, the proxy is the CLIProxyAPIPlus server that VibeProxy bundles and controls from the menu bar. It handles OAuth authentication, token management and API routing so that a coding tool can send requests to your subscriptions instead of to a metered API.

### What is proxy programming?

The README does not describe a programming model. What it documents is a running proxy server: ServerManager controls the cli-proxy-api process, AuthStatus monitors ~/.cli-proxy-api/ for credential files, and provider requests are routed through the bundled CLIProxyAPIPlus binary.

## Sources

- [automazeio/vibeproxy on GitHub](https://github.com/automazeio/vibeproxy)
- [Issues](https://github.com/automazeio/vibeproxy/issues)
- [License: MIT](https://github.com/automazeio/vibeproxy/blob/main/LICENSE)
- [README](https://github.com/automazeio/vibeproxy/blob/main/README.md)
- [Releases](https://github.com/automazeio/vibeproxy/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/automazeio-vibeproxy
