An open API service indexing awesome lists of open source software.

https://github.com/orchidfiles/ungate

Use your Claude subscription in Cursor without an API key.
https://github.com/orchidfiles/ungate

anthropic claude claude-code cursor cursor-extension cursor-ide minimax openai

Last synced: 3 months ago
JSON representation

Use your Claude subscription in Cursor without an API key.

Awesome Lists containing this project

README

          


Ungate

Ungate


A Cursor-first extension for using Claude, ChatGPT, and MiniMax subscriptions in Cursor through a local proxy that translates OpenAI-style requests into provider-native APIs.


Open VSX Downloads
License: MIT
Last commit

## Why

Cursor can connect to OpenAI-compatible APIs, but each provider still has its own auth flow, model mapping, and streaming behavior. Claude and ChatGPT subscriptions use OAuth instead of direct API keys. MiniMax uses its own provider credentials. Ungate hides those differences behind one local proxy and one Cursor-compatible endpoint.

Ungate is not a general-purpose AI gateway. It is a Cursor-first extension focused on one job: getting Claude, GPT, and MiniMax working in Cursor with less setup and less operational overhead than a standalone multi-provider router.

## How it works

Cursor allows a custom OpenAI Base URL. Ungate listens on that URL and translates requests to the target provider API, including streaming, tool calls, and vision where supported.

Cursor 3.0 introduced a bug: built-in model names can bypass `OpenAI Base URL` and go straight to the real provider API. In practice this means requests for standard Claude model names may skip Ungate entirely even when a proxy URL is configured. Ungate treats this as a bug because Cursor ignores the user's proxy setting for those models.

Workaround: use custom model IDs from the Ungate `Models` section instead of Cursor's built-in Claude model names.

The extension starts the proxy as a child process and shows its settings in a Webview panel. From there you configure the provider, copy the public proxy URL, and copy the proxy API key that Cursor uses to authenticate to your local proxy.

Ungate is about a shorter Cursor-specific setup path: install one extension, let it manage the local API lifecycle, configure providers in one place, and avoid running a separate gateway stack just to use Claude, GPT, or MiniMax in Cursor.

## Features

- [x] OpenAI-to-provider request translation
- [x] Streaming responses
- [x] Tool calls mapping
- [x] Image support
- [x] OAuth authentication via Claude or ChatGPT account
- [x] MiniMax API key authentication
- [x] MiniMax `...` reasoning separation
- [x] Request analytics
- [x] Analytics split by provider: Claude, OpenAI, and MiniMax
- [x] Built-in web UI panel

## Installation

Install from the marketplace:

```sh
cursor --install-extension orchidfiles.ungate
```

Or search `@id:orchidfiles.ungate` in the Extensions panel.

[Open VSX](https://open-vsx.org/extension/orchidfiles/ungate)

## Setup

1. Install the extension. Ungate starts the local API automatically.
2. Click the `Ungate :` item in the status bar to open the Ungate panel.
3. Choose the provider you want to use.
4. For Claude, sign in with your Claude account through OAuth.
5. For ChatGPT, sign in with your ChatGPT account through OAuth.
6. For MiniMax, enter your MiniMax API key and choose a Base URL: `Global`, `China`, or `Custom`.
7. In the Tunnel section, click `Start tunnel`, then copy the public URL shown in the panel.
8. Paste it into Cursor Settings → Models → OpenAI Base URL.
9. Copy the proxy API key from the same panel and paste it into Cursor Settings → Models → OpenAI API Key.
10. In the Ungate `Models` section, copy the model IDs you want and add them as custom models in Cursor.
11. If you use MiniMax, add `MiniMax-M2.7` as a custom model in Cursor.
12. Select one of your custom models in Cursor and start chatting.

## Development

```sh
git clone https://github.com/orchidfiles/ungate.git
cd ungate
pnpm install
```

Build dev-kit (needed once, before other builds):

```sh
pnpm --filter @ungate/dev-kit build
```

Build the API:

```sh
pnpm --filter @ungate/api build
```

Build the extension:

```sh
pnpm --filter ungate build
```

## License

MIT

## Support

Bug reports and feature requests: [GitHub issues](https://github.com/orchidfiles/ungate/issues)
Everything else: [orchid@orchidfiles.com](mailto:orchid@orchidfiles.com)

---

Made by the author of [orchidfiles.com](https://orchidfiles.com) — essays from inside startups.
If you found `ungate` useful, you'll probably enjoy the essays.