Vergleich: Claude Desktop, Codex in ChatGPT und Hermes IDE als Coding-GUIs
Drei grafische Oberflächen erleichtern die Arbeit mit Coding-Agents. Ein Überblick zeigt, wo sich Claude Desktop, Codex in der ChatGPT-App und das selbst entwickelte Hermes IDE unterscheiden.

Die Codex-Desktop-App wurde zur ChatGPT-Desktop-App. Ab dem 9. Juli 2026 begann OpenAI, die Codex-App in die neue ChatGPT-Desktop-App für Mac und Windows zu integrieren, wo Codex neben Chat und Work steht, und bestehende Nutzer der Codex-App erhielten die neue App über ein normales Update (Developers Digest, in einer Zusammenfassung der ChatGPT-Work-Ankündigung von OpenAI). Auf der anderen Seite hat die Claude-Desktop-App einen Code-Tab, der Claude Code mit einer grafischen Oberfläche ausführt, sodass man seine Änderungen "ohne Terminal" prüfen kann.
Beide Labs geben ihrem Terminal-Agenten damit ein Fenster. In jedem Fenster läuft der Agent eines Anbieters. Wer morgens Claude Code nutzt und nachmittags Codex, braucht zwei Apps, jede mit eigenem Review-Bildschirm.
Dieser Beitrag vergleicht die beiden First-Party-Apps mit einer dritten Option, Hermes IDE, anhand der Aufgaben, die man täglich erledigt: Aufgaben parallel ausführen, sie voneinander trennen, die Arbeit prüfen und zusammenführen sowie welche Agenten und Konten man verwenden kann. Ich baue Hermes IDE, also berücksichtigen Sie das bei der Bewertung. Die folgenden Fakten zu Funktionen stammen aus den eigenen Dokumentationen der Anbieter. Ich habe die drei nicht selbst direkt verglichen.
Claude-Desktop, Code-Tab. Anthropic bündelt Claude Code in der App, sodass man "für die Nutzung des Code-Tabs weder Node.js noch die CLI installieren muss" (Quickstart). Sitzungen können lokal, in der Cloud, über SSH oder in WSL unter Windows laufen. Chat-, Diff-, Terminal-, Datei- und Browser-Panels lassen sich per Drag-and-Drop in ein eigenes Layout bringen. Erforderlich ist ein Pro-, Max-, Team- oder Enterprise-Plan. Pro kostet 20 Dollar pro Monat bei monatlicher Abrechnung oder 17 Dollar pro Monat bei jährlicher Abrechnung.
ChatGPT-Desktop, Codex. OpenAI setzt auf eine App für alles. Codex sitzt in der ChatGPT-Desktop-App und bietet drei Arten, einen Chat zu führen: Local, Worktree oder Cloud (Modes). Codex ist in jedem ChatGPT-Plan enthalten, von Free (0 Dollar) und Go (8 Dollar) bis Enterprise (Preise). Die App meldet sich über ChatGPT an. Die Preisseite führt die Anmeldung per API-Key für CLI, SDK und IDE-Erweiterung auf, erwähnt die Desktop-App aber nicht.
Hermes IDE. Hermes liefert keinen eigenen Agenten mit. Es führt die bereits installierten Agent-CLIs aus, jeweils "in einem echten Terminal, genau wie überall sonst" (README). Claude Code, Codex, GitHub Copilot CLI, Antigravity CLI, Gemini CLI, OpenCode, goose, Aider, Kiro CLI und jeder weitere Kommandozeilen-Agent, den man hinzufügt, öffnen sich alle auf dieselbe Weise. Um diese Terminals ergänzt Hermes je Aufgabe einen Branch und Worktree, einen Status für jeden Agenten, einen Posteingang für diejenigen, die auf einen warten, sowie einen Review- und Merge-Schritt.
Zwei First-Party-Fenster, die jeweils den Agenten eines Anbieters aufnehmen, und eines, das alle Agenten aufnimmt, die man nutzt.
Alle drei führen Aufgaben parallel aus, und alle drei nutzen git worktrees, damit zwei Aufgaben nicht denselben Ordner bearbeiten.
Im Code-Tab von Claude drückt man Cmd+N (Strg+N unter Windows) für eine neue Sitzung und "wählt die Worktree-Option neben dem Branch-Namen" (Desktop-Dokumentation). Worktrees liegen standardmäßig unter.claude/worktrees/. Man kann ein Branch-Präfix festlegen, und Sitzungen können sich selbst archivieren, sobald ihr Pull Request gemerged oder geschlossen wird. Hält man Cmd oder Strg und klickt auf eine zweite Sitzung, lassen sich zwei gleichzeitig anzeigen.
In der ChatGPT-App wählt man Worktree unter dem Composer und einen Startbranch aus. Codex erstellt daraus den Worktree, standardmäßig auf einem detached HEAD, in $CODEX_HOME/worktrees (Worktree-Dokumentation). Es verwaltet die 15 jüngsten Worktrees und speichert vor dem Löschen einen Snapshot. Handoff verschiebt einen Chat automatisch zwischen Local und dessen Worktree. Lokale Umgebungen können Setup-Skripte enthalten, die beim Anlegen eines neuen Worktrees ausgeführt werden, mit anpassbaren Überschreibungen pro Betriebssystem (Local Environments).
Beide First-Party-Apps lesen dieselbe Datei,.worktreeinclude im Repo-Wurzelverzeichnis, für die gitignored Dateien, die einem frischen Worktree fehlen (Claude, Codex). Sie nutzt die.gitignore-Syntax, und nur Dateien, die einem Muster entsprechen und zugleich gitignored sind, werden kopiert:
#.worktreeinclude.env.env.local config/secrets.json Hermes hält all das in einem Rezept pro Repo,.hermes/worktree.toml (Rezept-Dokumentation):
#.hermes/worktree.toml setup = [ "npm ci" ] copy = [ ".env", ".env.local" ] done_when = [ "npm test" ] Wenn Hermes die Datei zum ersten Mal sieht und immer, wenn sie sich ändert, zeigt es die Befehle an und wartet, bis man Run setup wählt. Jede Aufgabe beginnt mit ⌘N (Strg+Shift+N unter Windows und Linux) auf ihrem eigenen hermes/<task>-Branch und Worktree, wobei die Aufgabe als erste Eingabe an den Agenten geht. Das Setup läuft, bevor ein Agent startet, und ist damit unabhängig vom gewählten Agenten identisch.
Das ⌘N-Dialogfeld Neue Aufgabe in Hermes 2.3: Agent auswählen, einen neuen hermes/-Worktree, den Berechtigungsmodus sowie eine Vorschau des exakten claude-Befehls, den Hermes ausführt.
Hier sind die First-Party-Apps am stärksten, und hier unterscheiden sie sich am meisten.
Diffs von Claude zeigen einen +12 -1 Indikator. Ein Klick darauf, Kommentare zu beliebigen Zeilen, das gemeinsame Absenden der Kommentare, und Claude überarbeitet. /code-review zeigt Fundstellen als Karte mit Apply fixes. Nach dem Öffnen eines Pull Requests überwacht die App CI über die GitHub CLI. Sie kann fehlgeschlagene Checks automatisch beheben und in lokalen Sitzungen neue Review-Kommentare bearbeiten sowie nach bestandenen Checks automatisch mergen (Squash) (Desktop-Dokumentation). Hermes hat nichts Vergleichbares wie diese CI-Schleife.
Das Review-Panel der ChatGPT-App ist der Ort, an dem man "entscheidet, was gestaged, reverted, committed oder gepusht wird." Man kann einen einzelnen Hunk stagen, unstagen oder revertieren und Inline-Kommentare an Zeilen anheften (Code Review). Teile der Arbeit eines Agenten Hunk für Hunk anzunehmen, ist im Terminal mühsam.
Hermes speichert jeden Agent-Turn, sodass man einen Turn vergleichen oder mit Undo wiederherstellen kann. Das Review Desk (⌘G) zeigt Änderungen nach Turn oder Datei, mit Risikomarkierungen, und ein Zeilenkommentar geht zurück an den Agenten, der die jeweilige Zeile geschrieben hat (README). Land commitst dann, öffnet einen Pull Request oder merget lokal in den Branch, von dem die Aufgabe ausging, und lässt sich rückgängig machen. Die done_when-Checks können bestimmen, wann eine Aufgabe fertig ist.
Wer nur einen einzigen Anbieter nutzt, für den sind die Review- und PR-Werkzeuge der eigenen App möglicherweise völlig ausreichend.
Eine GUI, die eine eigene Kopie des Agenten mitbringt, kann hinter der CLI zurückbleiben oder Teile davon weglassen.
Claudes Dokumentation ist dazu deutlich. In einer lokalen Sitzung "führt der Code-Tab seine eigene Kopie von Claude Code aus, die eine eigene Versionsnummer hat", sodass sie "sich von dem claude-Befehl im Terminal unterscheiden kann und die Aktualisierung der einen die andere nicht aktualisiert" (Desktop-Dokumentation). Befehle, die im Terminal ein interaktives Panel öffnen, verhalten sich anders: Solche ohne Argumentform, etwa /permissions, antworten mit "isn't available in this environment." --print, Scripting und Agent-Teams bleiben der CLI vorbehalten.
Dafür erhält man ein Browser-Panel, integrierte geplante Aufgaben, Dateianhänge (die CLI hat keine) sowie Computer Use unter Windows wie macOS (Research Preview bei Pro und Max). In der CLI ist Computer Use auf macOS beschränkt und wird über /mcp aktiviert.
OpenAIs App dokumentiert einen eigenen Slash-Befehlssatz für die Desktop-App und weist darauf hin, dass "verfügbare Befehle je nach Umgebung und Zugriff variieren" (Slash Commands). Jeder Chat erhält zudem ein integriertes Terminal, das auf sein Projekt oder Worktree beschränkt ist, und ChatGPT "kann die aktuelle Terminal-Ausgabe lesen" (Integrated Terminal).
Hermes geht den umgekehrten Weg. Die eigene Oberfläche des Agenten läuft im Terminal, "sodass neue Befehle und Modi eines Anbieters am Erscheinungstag in Hermes funktionieren" (README). Die Version, die man nutzt, ist die selbst installierte, und das Dialogfeld Neue Aufgabe zeigt den exakten Befehl vor der Ausführung. Der Preis dafür ist, dass man jede CLI selbst installiert und sich anmeldet und man die Terminal-Oberfläche erhält, kein Chat-Fenster. Für Claude gibt es pro Sitzung eine optionale Agent-Ansicht mit Tool-Call-Karten und eingefügten Bildern; das Terminal bleibt Standard.
Quellen: Claude Desktop, Linux-Beta, ChatGPT Linux Preview, Hermes README.
Zu den Konten: Hermes unterstützt mehrere Konten pro Agent, und wenn ein Agent sein Nutzungslimit erreicht, kann man die Aufgabe in einem anderen fortsetzen. Unter macOS und Linux arbeiten Agenten weiter, während Hermes beendet wird, ein Update durchführt oder abstürzt, und man verbindet sich dort wieder, wo sie aufgehört haben. Hermes beantwortet nie eine Berechtigungsanfrage für Sie und tippt nie selbst in ein Terminal (README).
Wo Hermes punktet: mehr als ein Anbieter in einem Fenster, ein Posteingang für jeden Agenten, der auf einen wartet, die eigene CLI-Version mit ihren neuesten Befehlen, und eine kostenlose App ohne eigenes Abo. Hermes ist unter BSL 1.1 als Source-available verfügbar und steht in keiner Verbindung zu Nous Research, Anthropic, OpenAI oder einem anderen Agent-Anbieter.
Wer abwägt, ob er für einen Editor zusätzlich zu diesen Plänen überhaupt zahlen soll, für den habe ich das in You Already Pay for Claude Code and Codex durchgearbeitet.
Wer Claude Code, Codex und andere Agenten mischt, sollte Hermes IDE herunterladen und dasselbe Ticket in zwei davon starten, jeweils auf eigenem Branch. Wenn es sich einen Platz neben den bereits bezahlten Apps verdient, vergeben Sie einen Stern auf GitHub und öffnen ein Issue, wenn etwas nicht so funktioniert, wie ich es beschrieben habe.
Alle drei Apps tragen die Arbeit des Agenten bis zu einem Commit, Pull Request oder Merge, und danach ist es Ihr Problem. Wenn Sie ein kleines Team sind, das diesen gemergten Code zu den Nutzern bringen will, behandelt Ship It die Strecke zwischen localhost und Produktion: Hosting, Auth, Payments, CI/CD und Monitoring.
Automatisch übersetzt. Das Original auf Englisch ist unten aufklappbar.
Original (Englisch) anzeigen
The Codex desktop app became the ChatGPT desktop app. Starting July 9, 2026, OpenAI began merging the Codex app into the new ChatGPT desktop app for Mac and Windows, where Codex sits next to Chat and Work, and existing Codex app users got the new app through a normal update ( Developers Digest, summarizing OpenAI's ChatGPT Work announcement ). On the other side, the Claude desktop app has a Code tab that runs Claude Code with a graphical interface, so you can review its changes "without using a terminal."
So both labs now give their terminal agent a window. Each window runs one vendor's agent. If you use Claude Code in the morning and Codex in the afternoon, that is two apps, each with its own review screen.
This post compares the two first-party apps with a third option, Hermes IDE, on the jobs you do every day: running tasks in parallel, keeping them apart, reviewing and landing the work, and which agents and accounts you can use. I build Hermes IDE, so weigh this with that in mind. The feature facts below come from each vendor's own docs. I haven't run the three side by side myself.
Claude desktop, Code tab. Anthropic bundles Claude Code inside the app, so "you don't need to install Node.js or the CLI to use the Code tab" ( quickstart ). Sessions can run locally, in the cloud, over SSH, or inside WSL on Windows. You drag chat, diff, terminal, file and browser panes into your own layout. It needs a Pro, Max, Team or Enterprise plan. Pro is $20 a month billed monthly, or $17 a month billed annually.
ChatGPT desktop, Codex. OpenAI's bet is one app for everything. Codex sits in the ChatGPT desktop app with three ways to run a chat: Local, Worktree, or Cloud ( modes ). Codex is included in every ChatGPT plan from Free ($0) and Go ($8) up to Enterprise ( pricing ). The app signs in with ChatGPT. The pricing page lists API-key sign-in for the CLI, SDK and IDE extension, and doesn't mention the desktop app.
Hermes IDE. Hermes doesn't ship an agent. It runs the agent CLIs you already installed, each "in a real terminal, exactly as it would anywhere else" ( README ). Claude Code, Codex, GitHub Copilot CLI, Antigravity CLI, Gemini CLI, OpenCode, goose, Aider, Kiro CLI and any command-line agent you add all open the same way. Around those terminals it adds a branch and worktree per task, one status for every agent, an inbox for the ones waiting on you, and a review and merge step.
Two first-party windows that each hold one vendor's agent, and one that holds whichever agents you run.
All three run tasks in parallel, and all three use git worktrees so two tasks don't edit the same folder.
In Claude's Code tab you press Cmd+N (Ctrl+N on Windows) for a new session and "select the worktree option next to the branch name" ( desktop docs ). Worktrees go under.claude/worktrees/ by default. You can set a branch prefix, and sessions can archive themselves once their pull request merges or closes. Hold Cmd or Ctrl and click a second session to view two at once.
In the ChatGPT app you pick Worktree under the composer and choose a starting branch. Codex creates the worktree from that branch, on a detached HEAD by default, in $CODEX_HOME/worktrees ( worktree docs ). It keeps your 15 most recent managed worktrees and saves a snapshot before it deletes one. Handoff moves a chat between Local and its worktree for you. Local environments add setup scripts that run when a new worktree is created, with per-OS overrides ( local environments ).
Both first-party apps read the same file,.worktreeinclude at the repo root, for the gitignored files a fresh worktree is missing ( Claude, Codex ). It uses.gitignore syntax, and only files that match a pattern and are also gitignored get copied:
#.worktreeinclude.env.env.local config/secrets.json Enter fullscreen mode Exit fullscreen mode Hermes keeps this in one recipe per repo,.hermes/worktree.toml ( recipe docs ):
#.hermes/worktree.toml setup = [ "npm ci" ] copy = [ ".env", ".env.local" ] done_when = [ "npm test" ] Enter fullscreen mode Exit fullscreen mode The first time Hermes sees the file, and whenever it changes, it shows you the commands and waits until you choose Run setup. Each task starts with ⌘N (Ctrl+Shift+N on Windows and Linux) on its own hermes/<task> branch and worktree, with the task as the agent's first prompt. Setup runs before any agent starts, so it is the same whichever agent you pick.
The ⌘N New task sheet in Hermes 2.3: pick the agent, a new hermes/ worktree, the permission mode, and a preview of the exact claude command Hermes will run.
This is where the first-party apps are strongest, and where they differ most.
Claude's diff view shows a +12 -1 indicator. Click it, comment on any line, submit the comments together, and Claude revises. /code-review shows findings as a card with Apply fixes. After you open a pull request, the app watches CI through the GitHub CLI. It can auto-fix failing checks and, in local sessions, address new review comments, and it can auto-merge (squash) once checks pass ( desktop docs ). Hermes has nothing like that CI loop.
The ChatGPT app's review pane is where you "decide what to stage, revert, commit, or push." You can stage, unstage or revert a single hunk and attach inline comments to lines ( code review ). Accepting part of an agent's work, hunk by hunk, is fiddly from a terminal.
Hermes saves every agent turn, so you can diff or restore one turn, with undo. The Review Desk (⌘G) shows changes by turn or by file, with risk flags, and a line comment goes back to the agent that wrote that line ( README ). Land then commits, opens a pull request or merges locally into the branch the task started from, and can be undone. Your done_when checks can decide when a task is done.
If you only ever use one vendor, its own app's review and PR tooling may be all you need.
A GUI that ships its own copy of the agent can trail the CLI, or leave parts of it out.
Claude's docs are direct about this. In a local session, "the Code tab runs its own copy of Claude Code, which has its own version number," so it "can differ from the claude command in your terminal, and updating one doesn't update the other" ( desktop docs ). Commands that open an interactive panel in the terminal behave differently: ones with no argument form, such as /permissions, reply with "isn't available in this environment." --print, scripting and agent teams stay in the CLI. In return you get a browser pane, built-in scheduled tasks, file attachments (the CLI has none), and computer use on Windows as well as macOS (a research preview on Pro and Max). In the CLI, computer use is macOS-only and you enable it through /mcp.
OpenAI's app documents its own slash command set for the desktop app, and notes that "available commands vary based on your environment and access" ( slash commands ). Each chat also gets an integrated terminal scoped to its project or worktree, and ChatGPT "can read the current terminal output" ( integrated terminal ).
Hermes goes the other way. The agent's own interface runs in the terminal, "so a vendor's new commands and modes work in Hermes the day they ship" ( README ). The version you run is the one you installed, and the New task sheet shows the exact command before it runs. The cost is that you install and sign in each CLI yourself, and you get the terminal interface, not a chat window. For Claude there is an optional Agent view per session, with tool-call cards and pasted images; the terminal stays the default.
Sources: Claude desktop, Linux beta, ChatGPT Linux preview, Hermes README.
On accounts: Hermes supports several accounts per agent, and when one agent hits its usage limit you can continue the task in another. On macOS and Linux, agents keep working while Hermes quits, updates or crashes, and you reattach where they left off. Hermes never answers a permission prompt for you and never types into a terminal on its own ( README ).
Where Hermes wins: more than one vendor in one window, one inbox for every agent that is blocked on you, your own CLI version with its newest commands, and a free app that adds no subscription of its own. Hermes is source-available under BSL 1.1, and it is not affiliated with Nous Research, Anthropic, OpenAI or any agent vendor.
If you're weighing whether to pay for an editor on top of those plans at all, I went through that in You Already Pay for Claude Code and Codex.
If you mix Claude Code, Codex and other agents, download Hermes IDE and start the same ticket in two of them, each on its own branch. If it earns a place next to the apps you already pay for, star it on GitHub, and open an issue when something doesn't work the way I described.
All three apps take the agent's work as far as a commit, a pull request or a merge, and then it is your problem. If you're a small team getting that merged code in front of users, Ship It covers the stretch between localhost and production: hosting, auth, payments, CI/CD and monitoring.