{"id":2998,"date":"2026-06-18T10:43:49","date_gmt":"2026-06-18T10:43:49","guid":{"rendered":"https:\/\/tucumandevelopers.com\/index.php\/2026\/06\/18\/junie-the-jetbrains-ai-coding-agent-leaves-beta\/"},"modified":"2026-06-18T10:43:49","modified_gmt":"2026-06-18T10:43:49","slug":"junie-the-jetbrains-ai-coding-agent-leaves-beta","status":"publish","type":"post","link":"https:\/\/tucumandevelopers.com\/index.php\/2026\/06\/18\/junie-the-jetbrains-ai-coding-agent-leaves-beta\/","title":{"rendered":"Junie: The JetBrains AI Coding Agent Leaves Beta"},"content":{"rendered":"<div>\n<div>\n<section data-clarity-region=\"article\">\n<div>\n<p><a href=\"\/junie\/category\/agentic-ai\/\">Agentic AI<\/a> <a href=\"\/junie\/category\/jetbrains-ai\/\">JetBrains AI<\/a> <a href=\"\/junie\/category\/news\/\">News<\/a><\/p>\n<h2 id=\"major-updates\">Junie: The JetBrains AI Coding Agent Leaves Beta<\/h2>\n<p>Junie started as an experiment. We asked, \u201cWhat if an AI coding agent didn\u2019t just guess at the details of your project, but actually used the same tools you do?\u201d Over the last year, that experiment turned into a product used by developers every day \u2013 inside the IDE and the <a href=\"https:\/\/blog.jetbrains.com\/junie\/2026\/03\/junie-cli-the-llm-agnostic-coding-agent-is-now-in-beta\/\" target=\"_blank\" rel=\"noreferrer noopener\">terminal<\/a>.&nbsp;<\/p>\n<p>Today, the JetBrains AI coding agent is leaving Beta. This isn\u2019t a rename or a repackage. The parts of Junie that matter most are stable, connected, and ready for real work. Junie plans before it codes, debugs with the real debugger, reviews PRs while considering your project\u2019s context, and runs long tasks while you focus on other things.<\/p>\n<p>On the latest run of <a href=\"https:\/\/swe-rebench.com\/\" target=\"_blank\" data-type=\"link\" data-id=\"https:\/\/swe-rebench.com\/\" rel=\"noreferrer noopener\">SWE-Rebench<\/a> \u2013 an independent agent benchmark \u2013 Junie placed as the number-one coding agent.<\/p>\n<div>\n<blockquote>\n<p>\u201cSWE-Rebench draws fresh tasks each cycle to keep the evaluation honest, so results move from run to run. In this cycle Junie came out as the top model-harness, with 61.6% resolved and a 72.7% pass@5 \u2014 placing it ahead of the other agents and competitive with raw frontier models\u201d<\/p>\n<\/blockquote>\n<div>\n<p><strong>Alexander Golubev<\/strong> <span> Research Lead at Nebius<\/span> <\/p>\n<\/p><\/div>\n<\/p><\/div>\n<p>We believe that delegating work to an agent should be something you can afford to do often, not just for heroic one-offs. Thus Junie supports any model, without lock-in \u2013 and that\u2019s how you control cost. Use the latest models from frontier labs from day zero, or point Junie at a local runtime. It\u2019s the lever that lets you decide what each task costs. Top-tier reasoning models are powerful but expensive; smaller models are fast and cheap. Junie lets you put each one where it does the most good. Cost efficiency stops being a property of the tool and becomes a dial you hold.<\/p>\n<p>Here\u2019s what comes with the move to general availability:<\/p>\n<h3><strong>Advanced Plan mode: The agent thinks before it codes<\/strong><\/h3>\n<p>One of the most common causes of failure in AI coding agents is unwavering confidence when they are totally incorrect \u2013 they start implementing before anyone has agreed on what they\u2019re doing. You end up reviewing a PR that solves the wrong problem or burning tokens on a path you would have rejected in the first thirty seconds.<\/p>\n<p><strong>Plan mode<\/strong> fixes that by making the plan a first-class artifact.<\/p>\n<p>Before Junie writes code, it produces a structured document with tabs for product requirements, technical design, delivery stages, and (when requested) testing strategy. You read the doc. You edit it directly in your editor. You approve it. And <em>then<\/em> Junie implements it.<\/p>\n<p>This approach is superior to \u201cbetter prompting\u201d, for a few reasons:<\/p>\n<ul>\n<li><strong>The plan is a real document.<\/strong> It lives in .junie\/plans. You can commit it, and it becomes living task documentation, not a throwaway chat message.<\/li>\n<li><strong>The agent asks the right questions.<\/strong> When requirements are ambiguous, Junie asks multiple-choice and freeform questions to pin things down, instead of guessing and hoping.<\/li>\n<li><strong>Junie plans before it codes \u2013 meaning fewer wasted tokens and fewer broken PRs.<\/strong> Every wasted implementation run is tokens you paid for and a review cycle you\u2019ll have to do anyway. Plan on a strong model; implement on a cheap one. The agent doesn\u2019t wander, so your bill stays low.&nbsp;<\/li>\n<\/ul>\n<p>Enter <em>Plan<\/em> mode with Shift+Tab. Open the plan with Ctrl+P. And when you\u2019re ready, hit <em>Confirm<\/em> to implement the changes.<\/p>\n<figure>\n<\/figure>\n<hr>\n<h3><strong>Agentic debugging: Junie uses the debugger, not <\/strong><code>println<\/code><\/h3>\n<p>When something goes wrong, most coding agents add log statements. Junie opens the debugger.<\/p>\n<p>With the GA version, Junie can drive your IDE\u2019s debugger the way you would:<\/p>\n<ul>\n<li><strong>Start or join a debug session.<\/strong> Junie can launch a run configuration, debug a test, or take over an existing session you already have open.<\/li>\n<li><strong>Set breakpoints anywhere that matters<\/strong>, including project code, library code, SDK code \u2013 even decompiled .class files and sources inside JARs. If your IDE can step into it, Junie can set a breakpoint in it.<\/li>\n<li><strong>Inspect the real runtime state.<\/strong> Stack frames, thread state, expression evaluation, run-to-line \u2013 Junie collects actual evidence instead of theorizing about what your code might be doing.<\/li>\n<\/ul>\n<p>This allows Junie to use debugging patterns that you previously had to work with manually:<\/p>\n<ul>\n<li><strong>\u201cDebug and figure out why this test fails only on the second iteration.\u201d<\/strong> Fully autonomous \u2013 Junie drives the whole thing.<\/li>\n<li><strong>\u201cPrepare the debugger, I\u2019ll trigger the UI flow.\u201d<\/strong> Junie sets up breakpoints and waits for you.<\/li>\n<li><strong>\u201cContinue my current debug session and tell me why this value becomes null.\u201d<\/strong> Hand off routine inspection work while you think about the bigger picture.<\/li>\n<\/ul>\n<p>Today this works end to end in JetBrains IDEs with an AI subscription.<\/p>\n<figure>\n<\/figure>\n<hr>\n<h3><strong>Remote control: Start a task, and keep an eye on it from anywhere<\/strong><\/h3>\n<p>Some work doesn\u2019t fit in a focused 30-minute session, for example a Spring Boot upgrade, a migration to Java records, or adding test coverage to a legacy service. These are exactly the tasks autonomous agents are good at \u2013 and it\u2019s even better when you don\u2019t have to sit and watch.<\/p>\n<p>Start a task from your laptop. Check progress from your phone during a meeting. Review the PR over coffee. Junie runs asynchronously and keeps the session available from anywhere you sign in.<\/p>\n<figure>\n<\/figure>\n<hr>\n<h3><strong>Code review without lost context<\/strong><\/h3>\n<p>Most review tools see your codebase for the first time when the PR opens. Junie reviews with the same project context it uses to write code: your build, your tests, your conventions, your past decisions.<\/p>\n<ul>\n<li><strong>Three entry points.<\/strong> Trigger a review from GitHub Actions or GitLab (including on-prem), or by using the \/review command in the CLI or the plugin. Set the scope to unstaged changes, staged changes, or a diff against main \u2013 your call.<\/li>\n<li><strong>Interactive walkthrough.<\/strong> Junie highlights each meaningful change, explains the design decision behind it, and gives you accept\/reject controls inline. Drop a PR comment on the spot when something looks wrong.<\/li>\n<li><strong>Adaptation to your focus.<\/strong> Ask a follow-up question and Junie reorders the remaining review around what you care about, instead of marching through files alphabetically.<\/li>\n<\/ul>\n<hr>\n<h3><strong>Deep IDE integration: An AI coding agent that uses your IDE\u2019s tools<\/strong><\/h3>\n<p>Junie has always worked inside JetBrains IDEs. Earlier this year we <a href=\"https:\/\/blog.jetbrains.com\/junie\/2026\/04\/junie-cli-inside-your-jb-ide\/\">showed you how to connect it<\/a>. In Junie\u2019s GA version, we\u2019ve rebuilt that integration on top of ACP (the Agent Communication Protocol), the same protocol Junie CLI uses to talk to your IDE.<\/p>\n<ul>\n<li><strong>One engine, many surfaces.<\/strong> The same agent is behind the AI chat, the dedicated Junie tool window, and Junie CLI. Improvements ship once and show up everywhere.<\/li>\n<li><strong>Your IDE, the agent\u2019s toolbox.<\/strong> Junie uses your IDE\u2019s semantic index, build configurations, test runners, and debugger, not its own approximation of them.&nbsp;<\/li>\n<li><strong>Database integration.<\/strong> Junie connects to the databases configured in your IDE through DataGrip and the JetBrains Database plugin, and then it queries your real data and writes, fixes, and validates SQL in the same session that handles your code.<\/li>\n<\/ul>\n<hr>\n<h3><strong>What this adds up to<\/strong><\/h3>\n<p>Individually, each of these features solves a specific problem. Together, they change what an agent is <em>for<\/em>.<\/p>\n<p>An agent that understands your project, lets you approve the work before doing it, runs it while you\u2019re doing something else, debugs it properly when things break, reviews your PRs with the full project context, and queries your real data \u2013 that\u2019s an agent you can actually delegate to.<\/p>\n<p><strong>That\u2019s the bar we set for leaving Beta.<\/strong><\/p>\n<h3><strong>Getting started<\/strong><\/h3>\n<ul>\n<li>Junie is available in all JetBrains IDEs and through Junie CLI in your terminal. If you already have a JetBrains AI subscription, everything works out of the box.&nbsp;<\/li>\n<li>Bring Your Own Key works too \u2013 enjoy access to Anthropic, OpenAI, Google, and others.&nbsp;<\/li>\n<li>Junie connects to local model runtimes \u2013 point it at LiteLLM, LMStudio, Ollama and the agent runs using whatever model you have loaded on your own machine. Prompts and code never shared externally.&nbsp;<\/li>\n<\/ul>\n<p>Install Junie, open your project, and test it out on a real task (maybe one you\u2019ve been procrastinating on).&nbsp;<\/p>\n<p>Then tell us what broke, what surprised you, and what you\u2019d like to see next. Every feature above came from that feedback loop, and it doesn\u2019t end with the move to GA.<\/p>\n<\/p><\/div>\n<p> <a href=\"#\"><\/a> <\/section>\n<div>\n<p><h2>Discover more<\/h2>\n<\/p><\/div>\n<\/p><\/div>\n<\/div>\n<\/div>\n<\/div>\n<p>Fuente: <a href=\"https:\/\/blog.jetbrains.com\/junie\/2026\/06\/junie-coding-agent-out-of-beta\/\">Art\u00edculo original<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Agentic AI JetBrains AI News Junie: The JetBrains AI Coding Agent Leaves Beta Junie started as an experiment. We asked, \u201cWhat if an AI coding agent didn\u2019t just guess at the details of your project, but actually used the same tools you do?\u201d Over the last year, that experiment turned into a product used by [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2997,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[46],"tags":[],"class_list":["post-2998","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-jetbrain"],"jetpack_publicize_connections":[],"_links":{"self":[{"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/posts\/2998","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/comments?post=2998"}],"version-history":[{"count":0,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/posts\/2998\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/media\/2997"}],"wp:attachment":[{"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/media?parent=2998"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/categories?post=2998"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/tags?post=2998"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}