DEV Community

Cover image for IntelliJ Was Built for Typing Code. Hermes IDE Is Built for Agents That Type It
Gabriel Anhaia
Gabriel Anhaia

Posted on

IntelliJ Was Built for Typing Code. Hermes IDE Is Built for Agents That Type It


IntelliJ IDEA assumes your hands are on the keyboard. Completion appears while you type. An inspection underlines the bug a second after you write it. Rename a method and every caller across the project follows.

Picture a day where you typed 40 lines and the agents typed 2,000. Claude Code runs in one terminal tab and Codex in another. IntelliJ sits in the middle of your screen, polished and idle, while you alt-tab between the terminals and GitHub trying to work out which agent finished and which one has been waiting on a permission prompt for twenty minutes. One of them also touched the lockfile.

The best editor you own is open. The work is happening somewhere else.

Two layouts side by side: a keyboard at the centre with tools orbiting it, and several agents at the centre with the keyboard shrunk to one orbiting tool

What a typing-first IDE gets right

Start with the credit, because it is earned. IntelliJ's refactoring, debugger, inspections and static analysis are the reason people pay for it. It understands your code as a model of types, call graphs and usages, which is arguably the deepest static code intelligence any IDE family offers.

Every one of those features is aimed at the same moment: a human, hands on the keys, editing one file. The editor sits at the centre, and the tools orbit it. JetBrains has refined that model for a long time. Its own Air launch post has a title that ends "Built on 26 Years of Experience".

That model still wins for the code you write. The question is what goes on the main screen when most of the diff comes from agents.

Your JetBrains IDE already runs agents

The usual reply is "add the AI Assistant or the Claude Code plugin and you're covered".

  • AI Assistant is "a collection of AI-powered features and coding agents integrated into JetBrains IDEs", from IntelliJ IDEA and PyCharm to GoLand and Rider, and also Android Studio (docs).
  • External agents over ACP. The Agent Client Protocol lets you install agents from a curated registry, or add your own in ~/.jetbrains/acp.json. The docs say you can use ACP agents "without a JetBrains AI service subscription" (docs).
  • Claude Agent arrived in JetBrains IDEs on September 29, 2025, built on Anthropic's Claude Agent SDK, with diff previews and a Plan mode (JetBrains blog).
  • Junie, JetBrains' own agent, runs as a CLI, inside the IDE and Air, as a GitHub Action and in GitLab CI (junie.jetbrains.com).
  • Anthropic's Claude Code plugin for JetBrains IDEs works with the Claude Code CLI installed alongside it (Claude Code docs).

So capability is settled. JetBrains IDEs run agents, several of them, from several vendors. What none of them change is which window sits in the middle of your monitor.

What an agent-first IDE has to do

When agents type, five jobs move to the centre. None of them involve the keyboard much.

I build Hermes IDE, a free desktop console for coding agents, so the examples below come from it. (Hermes IDE is not affiliated with Nous Research or its Hermes Agent, which Hermes IDE can run.)

1. Start a task without setting it up by hand

You press ⌘N (Ctrl+Shift+N on Windows and Linux), describe the task and press Enter. The agent starts in its own terminal, with the task as its first prompt. Hermes remembers the agent and options you usually pick for each project.

2. Keep agents out of each other's way

Each task gets its own git worktree on a new hermes/<task> branch. Doing this by hand looks like the commands below, repeated per task and per agent, plus copying your .env and installing dependencies every time:

git worktree add -b hermes/fix-login ../fix-login
cd ../fix-login
claude
Enter fullscreen mode Exit fullscreen mode

Hermes does it in one step. When a new task's dependencies match the main checkout they are ready in seconds, parallel dev servers get their own ports, and .hermes/worktree.toml lists setup commands and files to copy.

Worktree isolation is standard by now. Cursor, the GitHub Copilot app, Claude Code desktop, JetBrains Air, Zed, Warp and others all offer it. It is the baseline, and the jobs after it are where tools differ.

Hermes 2.0 main window: Claude Code, Codex, Antigravity CLI and OpenCode sessions in the sidebar, each with status and branch, with Claude Code working in its terminal
From hermes-ide.com: a recreation of the 2.0 app with demo data. Four agents from four vendors, each with its own status and its own hermes/ branch.

Three terminal tabs give you the real CLIs too. What tabs don't give you is everything in the next three sections. The real terminal matters when you compare Hermes with IDE integrations: the Claude Code you run in Hermes is the actual Claude Code CLI, so a slash command Anthropic ships today works in Hermes today. Nothing sits between you and the CLI.

3. Tell you who needs you

With several agents running, you can no longer keep track by glancing at tabs. Every session in Hermes shows one status with no setup: working, needs approval, asked you, done, error or idle, dimmed when it is a guess. A badge in the title bar counts the agents blocked on you. The inbox lists them oldest first, and ⌘I (Ctrl+Shift+I) jumps to the one that has waited longest.

Hermes morning view at startup, reading
Real Hermes window, test build with stand-in agents. The morning view at startup: two agents waiting on you, oldest first.

Look at the line near the bottom of that panel: "You answer in the agent's own terminal; Hermes never answers for you." It never types into a terminal on its own either.

Notifications follow the same rule. They fire only when an agent is blocked or done, never for the session you are looking at.

4. Review the work one turn at a time

A typing-first IDE reviews code as one diff per commit, because a human wrote it in one sitting. Agent work arrives in turns, and a turn is the unit you want to judge, keep or throw away.

Hermes saves every agent turn in git, including changes made by shell commands, without touching your branch, your staging area or your stash. A bar under the terminal gives you Diff and Restore, and Restore has Undo.

The Review Desk (⌘G, or Ctrl+Shift+G) shows changes by turn or by file. It flags risky edits: lockfiles, CI workflows, secrets, new binaries, and edits an agent makes to its own config. A line comment goes back to the agent that wrote the line. You can revert a single turn and keep the rest.

Hermes Review Desk flagging 4 risky files, including the agent adding a Bash(*) allow rule to its own .claude/settings.json
Real Hermes window, test build with a stand-in agent. The Review Desk flags 4 risky files, including a `Bash() allow rule the agent added to its own .claude/settings.json`.*

In this test run the stand-in agent was scripted to do what a real one can. The task was "Add an add function". Next to the one-line change in math.js, it also edited .claude/settings.json and added this:

"permissions": { "allow": ["Bash(*)"] }
Enter fullscreen mode Exit fullscreen mode

That line pre-approves every shell command for future sessions. The desk marked the file "agent config", marked the two new files, .mcp.json and CLAUDE.md, the same way, and flagged the edit to .hermes/worktree.toml as "checks changed". Four risk flags on a five-file diff, at the top of the panel.

An IDE built around typing never had to solve this. You don't widen your own permissions by accident while writing a function. Claude Code itself asks before it writes to its .claude folder, except in bypass mode. Still, one hurried approval or an agent without that guard is all it takes, and the screen you review on has to notice.

That desk is ⌘G (Ctrl+Shift+G) in Hermes IDE, free on macOS, Windows and Linux.

5. Land it, with a way back

The Land sheet opens a pull request or merges locally, into whatever branch the task started from, and you can undo it afterwards. Your own checks run at the end of each turn and again before landing. When a check fails in a Claude session, Hermes sends Claude back to fix it, up to three times. If a check is still failing when you land, the sheet warns you and offers "Land anyway". The decision stays with you.

An overlap badge warns you when two sessions' recent turns touched the same files.

On macOS and Linux, agents keep running when Hermes quits, updates or crashes, and you reattach where you left off.

JetBrains shipped a second app for agents: Air

JetBrains drew the same line in its own products. In March 2026 it launched Air as a public preview, "an agentic development environment for delegating coding tasks to multiple AI agents and running them concurrently". The launch post says Air builds tools around the agent instead of adding tools to an editor.

What Air offers, from that post and the quick-start docs:

  • Codex, Claude Agent, Gemini CLI and Junie "out of the box", and other agents through ACP.
  • Three environments: Local Workspace, Git Worktree on a dedicated branch, or a Docker container.
  • You see "one task (meaning one agent session) at a time" and get notifications when other tasks need you.
  • Unified and side-by-side diffs, with "Review with " line comments and generated commit messages.
  • Your JetBrains AI subscription, an existing provider subscription such as Claude Pro, Max or Team, or your own API key.
  • It installs on macOS, Linux and Windows, per the current help page.

The launch post also spells out how the two products divide the work: "Air handles the agent-powered development; your IDE handles the rest." JetBrains ships one product for each job.

Where Air is the better pick. Docker isolation, which Hermes doesn't offer. Cloud tasks through Air Teams, and Hermes has no cloud agents. Junie built in. If you want to stay inside the JetBrains world end to end, Air is a good answer, and you should try it.

Where Hermes is different.

JetBrains Air (per its launch post and docs) Hermes IDE
How agents run Built-in agents plus ACP Each agent's own CLI in a real terminal
Agents Codex, Claude Agent, Gemini CLI, Junie, plus agents from the ACP registry Claude Code, Codex, Gemini CLI, GitHub Copilot CLI, Aider, goose, Kiro CLI, OpenCode, Antigravity CLI, Hermes Agent, any CLI
Attention One task in view, notifications for others (launch post) Inbox across every agent, ⌘I (Ctrl+Shift+I) to the oldest wait
Isolation Local, Git Worktree, Docker Git worktree per task
Price JetBrains AI subscription, your provider plan, or your own API key (per its docs) Free app, source-available (BSL 1.1); agents use their own plans

Hermes also runs any command-line agent as it is, whether or not it speaks ACP. You can sign in to several accounts per agent with each one's own login. Hermes never asks for your tokens.

Keep IntelliJ. Change the main screen.

None of this asks you to uninstall anything. Hermes lands work into the branch the task started from, so you open the result in IntelliJ exactly as you do now, and run the debugger, the inspections and the refactorings you trust.

A craftsman's workbench of fine hand tools connected by one orange cable to a dispatcher's switchboard with lit cables

Hermes is young. Hermes 2.0 shipped on October 2, 2026, and 14 more releases followed by October 11. It runs on macOS (Apple Silicon and Intel), Windows and Linux. It has no cloud agents and no Docker isolation, and it isn't trying to replace your editor.

If this argument landed, the broader version is in The Editor-First IDE Is Dead. Your Next IDE Is a Control Tower, the previous post.

What's on your main screen on a day the agents write most of the diff? Still the editor?


Try it next to IntelliJ

Keep your project open in IntelliJ. Download Hermes IDE and open the same repo. You need one agent CLI you already use, such as Claude Code, Codex or Gemini CLI, signed in as usual. Press ⌘N (Ctrl+Shift+N on Windows and Linux) and describe one small task you'd normally do yourself. When the agent's turn ends, press ⌘G (Ctrl+Shift+G), switch to By turn, and leave a line comment on something you'd change. It goes back to the agent that wrote that line. Then land it and open the branch in IntelliJ.

I build Hermes IDE. It is free and source-available, and a star on GitHub helps other developers find it. If something breaks, or your favourite agent is missing, open an issue.

If you're designing the agents themselves, the AI Agents Pocket Guide covers the patterns behind them.

AI Agents Pocket Guide: Patterns for Building Autonomous Systems with LLMs

Top comments (0)

Some comments may only be visible to logged-in visitors. Sign in to view all comments.