JetBrains AI vs Cursor: what a developer on IntelliJ and PyCharm should pick

Stay in a JetBrains IDE with AI Assistant or move to Cursor? We compare features, own-model support and costs, with step-by-step settings.

6 min · · IDE · сравнение

If you write Java, Kotlin or Python in IntelliJ IDEA or PyCharm, the "jetbrains ai vs cursor" question comes down to a choice: stay in your familiar IDE and add AI as a plugin, or move to an editor built around an agent. There is also a third path: the Cursor agent can run inside JetBrains. Below we compare the products by verifiable traits, show how to connect your own models to both through a gateway and count token costs. We do not quote subscription prices for either service: they change, so check the current terms on the JetBrains and Cursor sites.

JetBrains AI vs Cursor: what the products are

JetBrains AI Assistant is a set of features inside IntelliJ-platform IDEs: IntelliJ IDEA, PyCharm, WebStorm, GoLand, Rider, CLion, PhpStorm, RubyMine, RustRover, DataGrip, DataSpell. Per the documentation it includes AI Chat with project context, coding agents for multi-step tasks, in-editor code generation and editing, inline completion and next edit suggestions, plus routine work such as commit messages, documentation and tests. You can enable it with a JetBrains AI subscription, with your own API keys, by authorizing integrated agents with a provider account, or by installing external agents.

Cursor is a standalone editor with an agent, a planning mode, project rules, MCP and subagents. Its agent can also be used inside JetBrains IDEs through the ACP protocol: the Cursor documentation says this needs a paid Cursor plan and the AI Assistant plugin (version 2025.1 or newer). The agent is installed from the agent registry in the AI Chat panel.

JetBrains AI AssistantCursor
Where it livesA plugin in your IDEA standalone editor; the agent is also available in JetBrains through ACP
Own keysAnthropic, Google, OpenAI and any OpenAI-compatible endpointOpenAI, Anthropic, Google, Azure, AWS Bedrock; Zukko documents overriding the OpenAI address
Local modelsOllama and LM StudioSee the Cursor documentation
CompletionJetBrains models by default, your own FIM model can be connectedTab on Cursor's built-in models
Lock-inTo the JetBrains ecosystemTo the editor itself

Your own models in JetBrains AI Assistant

The path in settings: Settings | Tools | AI Assistant | Providers & API keys. In the Third-party AI providers section pick an OpenAI-compatible provider and fill in the fields.

  1. URL: https://api.zukko.pro/v1.
  2. API Key: fetch_... from the dashboard.
  3. If the model calls MCP server tools, enable Tool calling.
  4. Click Test Connection, then Apply. The provider's models appear in the AI Chat selector.

OpenAI-compatible endpoints have one important quirk. Per the JetBrains documentation, models from them are not assigned to features automatically. Until you do it, they are available only in AI Chat. Assignment happens in the Models Assignment block: Core features is the model for in-editor code generation, commit messages and other main features, and it is also the default chat model; Instant helpers covers lightweight things such as chat titles, context collection and name suggestions.

That suggests a sensible split by price. Put a strong model in Core features, for example claude-sonnet-5-5. Put a cheap one in Instant helpers, for example deepseek-v4.1-flash or glm-5.3-flash: they are called often and are short. A detailed walkthrough: JetBrains AI Assistant: connecting in IntelliJ and PyCharm.

What to know in advance:

  • Code completion and next edit suggestions do not use the models from this section. They run on JetBrains models. You can connect your own model for them separately, but it must be built for code completion (with fill-in-the-middle, FIM, support); ordinary chat models do not fit.
  • Agents cannot work with local models, while your cloud models are chosen in the selector of compatible agents.
  • With third-party models some features may be unavailable. For the full feature set JetBrains suggests adding a JetBrains AI subscription: features your models do not support then use JetBrains models.

Cursor with your own key

Cursor Settings, Models: enable OpenAI API Key and paste fetch_..., enable Override OpenAI Base URL and enter https://api.zukko.pro/v1, add a model and click Verify. This is how the Zukko Cursor guide describes it, together with a table of model names. Cursor's official help page on own keys does not currently describe the base URL override, so the item names in your version may differ. Special cases are covered in Cursor does not see models after changing the base URL.

Limits per the Cursor documentation:

  • Own keys work only with chat models. Tab completion stays on Cursor's built-in models.
  • All requests go through Cursor's servers, and the key is sent with every request. Cursor's zero data retention policy does not apply to requests made with your own keys.
  • The terms for own keys depend on the plan: on team plans, according to Cursor's help, requests made with your own key carry a separate Cursor per-token charge. Check the terms of your plan on the Cursor site.
  • Cursor does not let you add a model whose name it already knows. For such cases the gateway has second model names, listed in the Zukko documentation.

Access from Russia and payment

Access from Russia goes through the gateway, with payment through SBP (the payment page adds 8.5% on top), a MasterCard card or crypto. This scheme covers model tokens. JetBrains AI and Cursor subscriptions are paid to the services themselves, so check their availability and payment methods on their sites; with your own key you pay only for tokens from the Zukko balance.

What it costs in tokens

An illustrative estimate at prices as of October 18, 2026, not a forecast for your team. A developer's workday: 100 chat requests with 6,000 input and 600 output tokens on claude-sonnet-5-5 (input 0.4, output 2 per 1M), and 300 short Instant helpers calls with 1,500 input and 50 output tokens on deepseek-v4.1-flash (0.013 / 0.038).

  • Chat: 6,000 × 0.4 + 600 × 2 = 2,400 + 1,200 = 3,600 micro-dollars per request, 3,600 × 100 = 360,000, which is $0.36 a day.
  • Instant helpers: 1,500 × 0.013 + 50 × 0.038 = 19.5 + 1.9 = 21.4, 21.4 × 300 = 6,420 micro-dollars, about $0.006 a day.
  • Over 22 working days: $0.36 × 22 = $7.92 plus $0.14 for helper calls, about $8.06 in total.

Real numbers depend on context size and request rate: see "Usage" in the dashboard and set the key's daily and monthly dollar limit.

What to choose

  • All your work is in a JetBrains IDE and familiar inspections and the debugger matter most: stay in the IDE and connect AI Assistant with the gateway. For the full feature set consider a JetBrains AI subscription.
  • You want an agent mode with planning, rules and MCP and are ready to change editors: Cursor.
  • You want both the IDE and the Cursor agent: install it through ACP, but check the terms of your Cursor plan.
  • You want to pick a model per task and pay for tokens: both options allow it, the settings just differ.

Choose the model by price, context and the strength index in the table, then test on your own code.

FAQ

Can I replace the completion models in JetBrains AI?

Yes, but only with a model built for code completion, through the separate AI Completion section with the OpenAI Compatible provider. General chat models do not fit.

Do I need a JetBrains AI subscription if I have my own key?

AI Chat works with a key alone. For the full feature set JetBrains recommends a subscription; see the JetBrains site for terms.

Does Cursor work with a gateway without a paid plan?

We do not claim that. Per the Zukko documentation, overriding the provider needs a paid Cursor plan, and Cursor's terms change, so verify on its site.

What if the IDE gets no answer?

Check the key with a GET https://api.zukko.pro/v1/balance request with the Authorization: Bearer fetch_... header (the GET /v1/models list does not work for this: it is public and ignores the key), and make sure the address in the IDE ends in /v1. Codes 401, 402, 404 and 503 are explained in the article on connection errors.

zukko

Pay 25×
less

for Claude Code & ChatGPT

One fetch_* key and base URL api.zukko.pro — for Cursor, Claude Code, Codex, and any SDK.

Get API keyDocumentation

api.zukko.pro · fetch_*

JetBrains AI vs Cursor: what to pick as a developer · Zukko