← all posts
// agents · junie

Junie: the coding agent that lives inside your IDE

Junie is JetBrains' coding agent, and it lives where JetBrains software has always lived: inside the IntelliJ family of IDEs (IDEA, PyCharm, WebStorm, GoLand and the rest). You hand it a task in plain language and it explores the project, drafts a plan, edits files across the codebase, runs commands and tests, and presents a diff for review. That's an agent, not autocomplete, not a chat panel that pastes snippets for you to apply.

The distinction does real work, because JetBrains also ships AI Assistant (chat, completion, quick fixes), and plenty of teams still file both under "the AI in my IDE." The short version: assistants answer, agents act. I unpack the product split in Junie or AI Assistant; this piece covers what the agent is and why JetBrains built it where they did.

What a session actually looks like

You type a task: "add cursor-based pagination to the orders endpoint and update the tests." Junie inspects the project, then shows you a plan: which files it intends to touch, in what order, to what end. You can correct that plan before a single line changes, and plan review is where most of your steering happens. Then it executes: multi-file edits, new files where needed, terminal commands, a test run to check whether the thing it built actually works. By default it pauses for approval before running commands; Brave mode loosens that for work that is cheap to revert. At the end you review one consolidated changeset, the way you'd review a teammate's branch.

  • It plans before it edits. The plan is visible and correctable, which turns a black box into something you can steer cheaply.
  • It edits across files. Controller, service, tests, fixtures: one task produces one coherent changeset instead of a pile of pasted snippets.
  • It closes its own loop. Junie runs the tests it touched and reacts to failures instead of declaring victory blind.

The IDE is the context engine

Here's the core bet, and it's structural. Terminal agents see your repository as text: they grep, they read files, they rebuild understanding from tokens on every run. Junie sits on top of the machinery the IDE already maintains: the project index, resolved symbols and call sites, inspections, run configurations, the test runner. When Junie needs to know who calls a method, the IDE already knows. When it edits a file, inspections light up the fallout immediately, and that signal feeds straight back into the agent's loop.

Your IDE has already parsed, indexed, and type-checked the entire project. Junie's bet is that an agent plugged into that machinery beats an agent that greps.

How much the bet pays off depends on your stack: it's strongest where JetBrains' static analysis runs deepest, and I take that apart in why Junie feels strongest on JVM code. But the architecture is genuinely different from bolting a chat window onto an editor, and different again from the terminal-first agents; I compare those head-on in Junie vs terminal agents.

Where it doesn't shine

The obvious constraint first. Junie is only as available as the IDE it lives in. If your day happens in tmux, or your stack sits where JetBrains tooling is thin, the pitch mostly evaporates. Placement is the product here, and it cuts both ways. Beyond that, agent runs trade latency for autonomy: an answer takes minutes, not seconds, and on a vaguely specified task Junie can spend those minutes confidently building the wrong thing. It also isn't magic on messy codebases. An unsteered run on a large legacy project produces plausible-looking changes that still need real review, every time.

If you already live in a JetBrains IDE, Junie is the lowest-friction way to find out what agentic coding changes about your work: no new terminal, no new tool to configure, your project already indexed. Start with small, well-specified tasks, write a .junie/guidelines.md early so it learns your house rules, and keep your hands on the review step. And if you're still mapping the field before committing to anything, the 2026 tools overview is the place to calibrate. Placement inside the IDE is exactly the kind of difference that matters more than any leaderboard.

#junie#jetbrains#agents