JetBrains Junie
JetBrains-native coding agent — runs inside IntelliJ, PyCharm, WebStorm, and GoLand.
The default coding agent for JetBrains users — speaks IntelliJ's run configs, debugger, and test runner. Plan Mode with test-driven verification sets it apart.
What it is
JetBrains Junie is the vendor-native AI coding agent built by JetBrains. It installs as a plugin into IntelliJ IDEA, PyCharm, WebStorm, GoLand, CLion, RustRover, Rider, RubyMine, and DataSpell — all of which already have 10M+ developers as a combined base. Junie runs Claude (Sonnet 4 / Opus 4) in the cloud and offers two modes: Ask (read-only Q&A about code) and Plan (multi-step task with explicit verification at each step, including running tests). It integrates with existing JetBrains run configurations, the debugger, and the test runner — a notable difference from generic IDE plugins.
Best for
- JetBrains users who want a vendor-native coding agent that knows their IDE
- Multi-step feature implementation with test-driven verification
- Polyglot teams (Java, Kotlin, Python, Go, Rust, JS/TS) on one JetBrains stack
- Enterprise teams that already pay JetBrains for IDE licenses
Pros
- Plan Mode with test-driven verification — not just LLM-generated code, but proof of passing tests
- Vendor-native: talks to your existing run configs, debugger, test runner
- 10M+ JetBrains IDE developer base — instant onboarding
- Multi-language across the full JetBrains fleet
Cons
- Won't run on VS Code / Cursor / Vim — JetBrains only
- AI free tier is steeply limited (6 Junie chats/month)
- Cloud-only runs (no fully-local execution path for sensitive code)
Quick start
- Open IntelliJ IDEA / PyCharm / WebStorm / GoLand (2024.3 or newer) → Tools menu → install the "Junie" plugin.
- Sign in with your JetBrains account — free tier includes 6 Junie chat interactions per month.
- AI Pro $10/mo or AI Pro+ $20/mo unlocks unlimited Junie plus inline completion across all JetBrains IDEs.
- In the editor: highlight code → right-click → "Ask Junie". Or open the Junie tool window on the right side for a chat panel.
- For multi-step tasks: type /plan or click "Plan Mode" → Junie lists steps → approve → it runs them with test-driven verification at each.
- Junie understands your Git state, existing run configurations, and tests — it uses what you already have, not generic scaffolding.
Sample input / output
Project: PyCharm 2025.3, Python 3.12, FastAPI backend
In Junie Plan Mode:
"Add a /v1/billing endpoint that:
- Accepts POST with customer_id (UUID) + amount_usd (Decimal)
- Loads customer from Postgres (sqlalchemy async session)
- Strips a 2.9% + 30¢ fee, deposits the net to Stripe via existing stripe_service.create_transfer
- Returns 201 with txn_id, or 4xx with error code
Write the test cases that cover happy path, insufficient-funds, and stripe-timeout. Run pytest at the end and ensure all pass." Junie execution log (3m 42s on AI Pro tier):
Step 1 — Plan: 6 sub-tasks identified; showed diff preview.
Step 2 — Created app/api/v1/billing.py (62 lines, type-safe with Decimal handling).
Step 3 — Added SQLAlchemy async loader pattern.
Step 4 — Reused stripe_service.create_transfer (no duplication).
Step 5 — tests/v1/test_billing.py (8 tests, 3 categories).
Step 6 — Ran pytest:
8 passed in 1.7s
Coverage of billing.py: 96%
Final summary: "Implemented /v1/billing with full test pass. No existing tests were broken (12/12 in unrelated tests remain green)."
No auto-commit (Junie pauses for git commit approval by default). Benchmarks
Pricing
AI Free (6 Junie chats/month on JetBrains account); AI Pro $10/mo or AI Pro+ $20/mo (Junie + inline completion + JetBrains AI Premium features).