ungate
Health Uyari
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 5 GitHub stars
Code Basarisiz
- exec() — Shell command execution in apps/api/src/adapter/openai-to-anthropic.ts
- exec() — Shell command execution in apps/api/src/adapter/xml-tool-parser.ts
Permissions Gecti
- Permissions — No dangerous permissions requested
This tool acts as a local proxy that allows developers to use a standard Claude subscription within the Cursor IDE, translating OpenAI-style API requests to provider-native formats.
Security Assessment
Risk Rating: Medium. The tool inherently handles sensitive authentication data. It requires your Claude OAuth credentials or MiniMax API keys to function, and routes all of your IDE's AI requests through a local proxy. The automated scan flagged two instances of shell command execution in the API adapter files. While this is standard for a Node.js application designed to spawn and manage a local proxy server, the execution points should still be manually verified to ensure they are not vulnerable to injection. No hardcoded secrets or dangerous system permissions were detected.
Quality Assessment
The project is actively maintained, with its most recent code push occurring today. It benefits from a clear description and a permissive MIT license. However, community trust and visibility are currently very low. The repository has only 5 GitHub stars, meaning the codebase has not been broadly examined by the security community. Additionally, the tool relies on a specific workaround for a known bug in Cursor 3.0 to function properly, which could impact future stability.
Verdict
Use with caution. The underlying concept is safe, but the combination of newly discovered shell execution flags, sensitive credential handling, and low community visibility means you should review the source code before relying on it.
Use your Claude subscription in Cursor without an API key.
Ungate
Use Claude subscription and MiniMax in Cursor through a local proxy that translates OpenAI-style requests into provider-native APIs.
Why
Cursor can connect to OpenAI-compatible APIs, but provider-specific flows still get in the way. Claude subscriptions work through OAuth, not Anthropic API keys. MiniMax works through its own API and has provider-specific streaming behavior. Ungate hides those differences behind one local proxy and one Cursor-compatible endpoint.
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.
Features
- OpenAI-to-provider request translation
- Streaming responses
- Tool calls mapping
- Image support
- OAuth authentication via Claude account
- MiniMax API key authentication
- MiniMax
<think>...</think>reasoning separation - Request analytics
- Analytics split by provider: Claude and MiniMax
- Built-in web UI panel
Installation
Install from the marketplace:
cursor --install-extension orchidfiles.ungate
Or search @id:orchidfiles.ungate in the Extensions panel.
Setup
- Install the extension. Ungate starts the local API automatically.
- Click the
Ungate :<port>item in the status bar to open the Ungate panel. - Choose the provider you want to use.
- For Claude, sign in with your Claude account through OAuth.
- For MiniMax, enter your MiniMax API key and choose a Base URL:
Global,China, orCustom. - In the Tunnel section, click
Start tunnel, then copy the public URL shown in the panel. - Paste it into Cursor Settings → Models → OpenAI Base URL.
- Copy the proxy API key from the same panel and paste it into Cursor Settings → Models → OpenAI API Key.
- In the Ungate
Modelssection, copy the model IDs you want and add them as custom models in Cursor. - If you use MiniMax, add
MiniMax-M2.7as a custom model in Cursor. - Select one of your custom models in Cursor and start chatting.
Development
git clone https://github.com/orchidfiles/ungate.git
cd ungate
pnpm install
Build dev-kit (needed once, before other builds):
pnpm --filter @ungate/dev-kit build
Build the API:
pnpm --filter @ungate/api build
Build the extension:
pnpm --filter ungate build
License
MIT
Support
Bug reports and feature requests: GitHub issues
Everything else: [email protected]
Made by the author of orchidfiles.com — essays from inside startups.
If you found ungate useful, you'll probably enjoy the essays.
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi