Claude Code vs. Codex: Welcher Coding-Agent passt zu dir? (2026)
Kurz gesagt: Claude Code für tiefen Terminalzugriff, Hooks und das Claude-Ökosystem; Codex für ChatGPT, Cloud-Aufgaben und Multi-Agent; PandaNpc zur Fernsteuerung beider Systeme auf Windows, macOS, Linux und Mobilgeräten.

Fazit vorab: Wer bereits im Anthropic-Ökosystem ist und auf CLAUDE.md, Hooks, Skills und Claude-Modelle setzt, wählt am besten Claude Code; wer bereits im ChatGPT/OpenAI-Ökosystem ist und lokale CLI, IDE, Desktop-App und Cloud-Aufgaben unter einem einzigen Konto vereinen möchte, wählt am besten Codex. Beide können Code lesen und schreiben, Befehle ausführen, MCP aufrufen, Sub-Agents verwenden und gefährliche Aktionen freigeben. Für normale Entwicklungsaufgaben gibt es keinen ewig richtigen Gewinner.
Wenn du dir immer noch unsicher bist, ist der praktischste Weg nicht, sich eine Benchmark-Tabelle anzusehen, sondern beide im selben echten Repository dieselbe Aufgabe erledigen zu lassen: feste Version, gleiche Abnahmekriterien – vergleiche, ob sie die Projektregeln verstehen, ob der Ändersumfang kontrollierbar ist, ob die Tests vollständig sind und wie oft du eingreifen musst.
Offenlegung: Wir entwickeln PandaNpc, ein Remote-System, das gleichzeitig Claude Code, Codex und andere lokale Agents verbindet. Die Protokollunterschiede im zweiten Teil stammen aus realen Integrationserfahrungen; wir haben keine kontrollierten Modellfähigkeits-Benchmarks durchgeführt und behaupten daher nicht, dass eine Seite „um wie viel schneller codiert“ oder „eine wie viel höhere Erfolgsquote hat“. Codex bezieht sich in diesem Artikel auf OpenAI Codex, nicht auf andere Produkte mit demselben Namen.
Datenstand der Unterlagen: 30. August 2026. Beide Seiten aktualisieren sich sehr schnell; für volatile Funktionen gelten die offizielle Claude-Code-Dokumentation und die offizielle OpenAI-Codex-Seite.
Die Kernunterschiede zwischen Claude Code und Codex auf einen Blick
| Dimension | Claude Code | OpenAI Codex |
|---|---|---|
| Primäres Konto-Ökosystem | Claude / Anthropic | ChatGPT / OpenAI |
| Lokale Einstiege | CLI, Desktop-App, IDE-Erweiterung | CLI, ChatGPT-Desktop-Codex, IDE-Erweiterung |
| Cloud-Einstiege | Claude Code on the web, Slack, CI usw. | Codex Web/Cloud, Slack, SDK, GitHub-Workflows usw. |
| Langfristige Projektbeschreibung | CLAUDE.md, Rules, Skills |
AGENTS.md, Skills, Projektkonfiguration |
| Externe Werkzeuge | MCP, Plugins, Hooks, Channels | MCP, Plugins, Skills, SDK |
| Paralleles Arbeiten | Sub-Agents, Agent teams, Worktree-Sitzungen | Mehrere Agents, integrierte Worktrees, parallele Cloud-Aufgaben |
| Berechtigungsgrenzen | Berechtigungsmodi, Hooks, Sandbox & Organisationsrichtlinien | Genehmigungsrichtlinien, systemweite Sandbox, Regeln & Organisationsrichtlinien |
| Offizielle Handy-Fernsteuerung | Claude App und claude.ai/code steuern lokale CLI-/VS-Code-Sitzungen |
Der Remote-Einstieg in ChatGPT Mobile steuert unterstützte Desktop-Codex-Sitzungen |
| Für wen besser geeignet | Teams, die Claude-Workflows übernommen haben und tiefe Lebenszyklus-Automatisierung benötigen | Teams, die ChatGPT/OpenAI nutzen und lokale mit Cloud-Aufgaben verknüpfen möchten |
Diese Tabelle vergleicht Workflows, keine Modell-Rankings. Modellversionen, Kontextfenster, Geschwindigkeit und Kontingente ändern sich; einen Modellvorteil eines bestimmten Zeitpunkts als „dieser Agent ist für immer stärker“ zu formulieren, ist meist schon nach ein paar Wochen veraltet.
Claude Code vs. Codex: Direkt nach deinem Szenario wählen
Wähle Claude Code, wenn dir Folgendes wichtiger ist
- Das Projekt ist bereits um Claude herum organisiert. Im Repository gibt es bereits
CLAUDE.md, Rules, Skills, Subagents oder Hooks – die Kosten für eine Migration sind weit höher als ein Wechsel des Modellnamens. - Du brauchst feingranulare Lebenszyklus-Automatisierung. Die Hooks von Claude Code können bei Ereignissen wie Tool-Aufrufen, Berechtigungsanfragen, Dateiänderungen, Komprimierung und Sitzungsende erzwungene Prüfungen ausführen; Sicherheitsvorgaben, die „jedes Mal“ gelten sollen, lassen sich so leichter außerhalb des Agents verankern.
- Du nutzt hauptsächlich Claude-Modelle und ein Anthropic-Konto. Konto, Kontingente, Verwaltungsrichtlinien und bestehende Sitzungen bleiben im selben System.
- Du möchtest lokale CLIs direkt vom Browser aus steuern. Die offizielle Remote Control unterstützt ausdrücklich die Übernahme lokaler CLI- oder VS-Code-Sitzungen über Claude App und
claude.ai/code.
Wähle Codex, wenn dir Folgendes wichtiger ist
- Das Team nutzt bereits ChatGPT/OpenAI. Codex CLI, IDE, Desktop und Cloud-Aufgaben können dieselbe ChatGPT-Identität und dieselben Workspace-Richtlinien verwenden.
- Du lässt Aufgaben oft im Cloud-Hintergrund erledigen. Codex bündelt lokale Interaktion und Cloud-Delegation im selben Produkt – geeignet für asynchrone PRs, Code-Reviews, Migrationen und Batch-Wartung.
- Du möchtest mehrere parallele Aufgaben in einer Oberfläche verwalten. Die Codex-App betont integrierte Worktrees und Multi-Agent-Workflows – gut geeignet, um Aufgaben gleichzeitig zu verteilen, den Fortschritt zu verfolgen und Ergebnisse zusammenzuführen.
- Du brauchst ein SDK oder Automatisierungs-Einstiege. Neben
codex execin der CLI bietet OpenAI auch das Codex SDK sowie Slack- und GitHub-Workflow-Einstiege an – geeignet, um Agents in bestehende Engineering-Systeme einzubetten.
Beide zu nutzen, ist ebenfalls völlig sinnvoll
Große Aufgaben und echte Teams werden selten nur von der Modellfähigkeit bestimmt. Du kannst Claude Code für Repositories einsetzen, in denen bereits Claude Hooks/Skills verankert sind, und Codex für Cloud-Aufgaben im OpenAI-Workspace; oder in demselben Repository für risikoreiche Änderungen eine Kreuzprüfung durchführen. Was du wirklich vermeiden solltest: dass beide Seiten gleichzeitig denselben Checkout ändern, ohne Worktree, Aufgabenabgrenzung und eine verantwortliche Person für den endgültigen Merge.

Codequalität und Modellfähigkeit: Warum dieser Artikel keinen festen Sieger kürt
„Schreibt Claude Code oder Codex besser Code?“ ist die häufigste Frage – und die am leichtesten falsch beantwortete. Das Ergebnis eines Agents hängt zugleich von Modellversion, Reasoning-Aufwand, Kontext, Repository-Anweisungen, Tool-Berechtigungen, Testgeschwindigkeit und Aufgabentyp ab. Eine beiläufige Frage repräsentiert keine langfristige Leistung, und Kundenerfolgsgeschichten der Anbieter ersetzen keine eigene Abnahme in deinem Repository.
Wir empfehlen, eine Reihe realer Aufgaben zu vergleichen:
- eine Funktionsänderung über 3–5 Dateien;
- einen Bug mit fehlschlagendem Test;
- ein Read-only-Code-Review;
- eine Aufgabe, die Dokumentationsrecherche, das Ausführen von Tests und das Erklären von Abwägungen erfordert.
Halte Ersterfolgsquote, Änderungen außerhalb des Rahmens, Testnachweise, Anzahl manueller Korrekturen und Gesamtdauer fest. Vergleiche nicht nur, wessen endgültige Antwort klüger aussieht.
Kostenlose Version vs. Abo: Erst Agent-Kontingent und Fernsteuerungs-Berechtigung trennen
„Kann man es kostenlos nutzen?“ umfasst eigentlich zwei verschiedene Rechnungen: Die erste betrifft die Nutzungskontingente für Claude/Codex-Modelle und Agents; die zweite betrifft die Kontingente für Remote-Clients, Online-Geräte und parallele Sitzungen. PandaNpc löst nur die zweite Verbindungsebene und beinhaltet kein Modell-Abo von Anthropic oder OpenAI.
| Produkt | Kostenloser Umfang | Kostenpflichtiger/Abonnement-Umfang | Am häufigsten missverstanden |
|---|---|---|---|
| Claude Code | Die CLI kann mit Anthropic API Key oder unterstützten Cloud-Anbietern nach Verbrauch genutzt werden; normales Claude Free bedeutet nicht, dass man die offizielle Remote Control hat | Pro, Max, Team, Enterprise können Claude Code mit Abo-Identität ausführen; Remote Control erfordert aktuell eines dieser kostenpflichtigen Abos | Claude Code selbst unterstützt nicht nur Abos, aber die offizielle Remote Control muss mit einem kostenpflichtigen Claude.ai-Abo angemeldet sein – API Key, Bedrock, Vertex oder Foundry werden nicht unterstützt |
| Codex | OpenAI gewährt Free/Go-Nutzern von Zeit zu Zeit zeitlich begrenzte Codex-Kontingente, abhängig von aktuellen Aktionen und Konto; nicht als langfristig stabiler Vorteil zu betrachten | Pläne wie Plus, Pro, Business, Enterprise, Edu können Codex CLI, IDE, Web/Cloud und unterstützte App-Workflows nutzen; Kontingente und Parallelität variieren je nach Plan | Codex Remote hängt außerdem von der Desktop-App-Version, demselben ChatGPT-Workspace, der Geräteautorisierung und Admin-/RBAC-Richtlinien ab |
| PandaNpc | Free: maximal 2 Agent-Geräte online, 5 parallele Agent-Sitzungen; Verbindungsfähigkeiten wie Claude-Code-/Codex-Fernsteuerung, privates Gerätenetzwerk und MCP sind verfügbar | VIP: 10 Geräte/10 Sitzungen; SVIP: 50 Geräte/50 Sitzungen, zusätzlich erhöhte Kontingente für andere Produkte | Die PandaNpc-Mitgliedschaft erweitert Verbindungen und Parallelität, zahlt aber nicht deine Claude-, ChatGPT-, API- oder Custom-Modell-Nutzung |
Zum 30. August 2026 listet die Seite zu den Remote-Control-Anforderungen von Anthropic Pro, Max, Team und Enterprise als Berechtigung auf und schließt API Key ausdrücklich aus; bei Team/Enterprise muss die Funktion möglicherweise zusätzlich vom Administrator aktiviert werden. OpenAI hat Free/Go zeitweise geöffnet, daher muss „kostenlos nutzbar“ bei Codex immer anhand des aktuell im Konto Angezeigten beurteilt werden und kann nicht als dauerhaftes Versprechen formuliert werden. Die aktuellen Stufen und Preise von PandaNpc findest du auf der Mitgliedschaftsseite; Modellverbrauch und Mitgliedschaftsabonnement sind zwei getrennte Rechnungen.
Worin unterscheidet sich die Fernsteuerung von Claude Code und Codex?
Gemeinsam ist beiden: Code und Tools laufen weiterhin auf dem Host, das Handy ist nur die Steueroberfläche; wenn der Host in den Ruhezustand geht, heruntergefahren wird oder die Netzwerkverbindung verliert, können lokale Aufgaben nicht weiter ausgeführt werden. Die beiden offiziellen Einstiege sind derzeit jedoch asymmetrisch.
| Remote-Fähigkeit | Claude Code Remote Control | Codex Remote | PandaNpc |
|---|---|---|---|
| Kontrollobjekt | Lokale Claude-Code-CLI- oder VS-Code-Sitzungen | Unterstützte Codex-Sitzungen im ChatGPT/Codex-Desktop | Claude Code, Codex CLI, PandaCode, DeepSeek-Harness, Pi usw. auf dem Host |
| Host-Systeme | Von Claude Code unterstützte lokale Hosts | Zentriert auf den macOS/Windows-ChatGPT-Desktop | Windows, macOS, Linux, Server und Dev-Container |
| Start/Paarung | claude remote-control, claude --remote-control, /remote-control |
Desktop-Einstellungen erlauben Ermittlung und Steuerung; Geräteautorisierung über denselben ChatGPT-Workspace | PandaPaw auf dem Host installieren und im Konto anmelden oder mit einem Einmal-Geräteschlüssel unbeaufsichtigt beitreten |
| Handy-Einstieg | Code-Seite der Claude App | Remote-Tab von ChatGPT Mobile | PandaNpc iOS, mobiler Browser |
| Browser-Einstieg | claude.ai/code kann lokale Sitzungen steuern |
Die offizielle Hilfe besagt derzeit, dass Codex nicht direkt im Web/Mobile ausgewählt werden kann; Remote richtet sich vor allem an den mobilen Zugriff auf Desktop-Sitzungen | Die /agent-Webseite kann alle verbundenen Engines steuern |
| Desktop zu Desktop | Jeder Browser kann claude.ai/code aufrufen |
Offizielles Remote ist kein Desktop-zu-Desktop-Projektzugriff; Desktop-übergreifend läuft es meist über SSH/Remote-Projekte | Windows-/macOS-/Linux-Desktops teilen sich dieselbe Verbindungsliste |
| Lokale Dateien & Tools | Bleiben auf dem Claude-Code-Host, inklusive lokaler MCP und Konfiguration | Bleiben auf dem Desktop-Codex-Host | Bleiben auf dem jeweiligen Agent-Host; remote werden nur Nachrichten, Status, Diffs und Genehmigungen übertragen |
| Neue Sitzungen | Der Server-Modus kann aus der Ferne Sitzungen auf einem bestimmten Host erstellen | Zentriert auf autorisierte Geräte und unterstützte Desktop-Sitzungen; Fähigkeiten variieren mit der App-Version | Maschine, Engine und Arbeitsverzeichnis wählbar; Sitzungen können erstellt oder wiederhergestellt werden |
| Offizielle Konto-Beschränkungen | Kostenpflichtiges Claude.ai-Abo; API Key und Drittanbieter können die offizielle Remote Control nicht nutzen | Dasselbe ChatGPT-Konto/Workspace; kann durch Plan, Administrator und RBAC eingeschränkt sein | Das PandaNpc-Konto übernimmt die Verbindung; die Modell-Authentifizierung nutzt weiterhin das eigene Abo/API/den Anbieter jeder Engine auf dem Host |
| Mehrere Engines/Maschinen | Nur Claude Code; jeder Host wird separat registriert | Nur Codex; rund um ChatGPT/Codex-Geräte | Ein Konto verwaltet zentral mehrere Engines, Maschinen, privates Gerätenetzwerk und Online-Status |
| Öffentlicher eingehender Port | Nicht nötig | Nicht nötig | Nicht nötig; Host und Clients verbinden sich aktiv mit einem authentifizierten Relay, das private Gerätenetzwerk bevorzugt direkte Verbindungen |
| Kostenlose Nutzung | Die offizielle Remote Control unterstützt kein Claude Free | Free/Go können phasenweise Kontingente haben; die Remote-Berechtigung richtet sich nach dem tatsächlich im Konto Angezeigten | Free unterstützt 2 Online-Agent-Geräte und 5 parallele Sitzungen; Upstream-Modellberechtigungen müssen weiterhin selbst mitgebracht werden |
Claude Code Remote Control ist eher „eine lokale CLI-Sitzung für Claude Web/Mobile öffnen“; die offizielle Erklärung zu Codex Remote ist eher „von ChatGPT Mobile auf unterstützte Desktop-Codex-Sitzungen zugreifen“. Wenn du zusätzlich von einem anderen Desktop-Computer, über einen einheitlichen Browser-Einstieg, von Linux-Hosts, mit Custom-Modellen oder für die gleichzeitige Verwaltung von Claude Code und Codex CLI benötigst, brauchst du eine zusätzliche Remote-Verbindungsschicht.

PandaNpc geht so vor, dass PandaPaw neben dem Host läuft und Verbindungen wie Claude Code, Codex und PandaCode einheitlich für Browser, iOS und Desktop-Clients bereitstellt. Beide Seiten initiieren nur ausgehende Verbindungen; es müssen keine öffentlichen Agent-Ports geöffnet werden; die Tool-Ausführung bleibt weiterhin auf dem Host.

Ausführlichere offizielle/PandaNpc-Remote-Schritte findest du im Leitfaden zur Claude-Code-Remote-Control und im Leitfaden zur Codex-Handy-Fernsteuerung.
Wie vergleichen sich Berechtigungen, MCP und Anpassungsmöglichkeiten?
Beide können MCP anbinden und bieten Datei-, Shell-, Such- und Patch-Tools; der wirkliche Unterschied liegt darin, „wie Tools eingeschränkt werden“ und „wo die Projektregeln liegen“.
- Claude Code:
CLAUDE.mdliefert dauerhaften Projektkontext, Skills laden Workflows, Hooks führen an Lebenszyklus-Knoten deterministische Tore aus, Subagents/Agent teams übernehmen Isolierung und paralleles Arbeiten. - Codex:
AGENTS.mdund Skills drücken Projektregeln aus, Genehmigungsrichtlinien und systemweite Sandbox kontrollieren lokale Berechtigungen, App/Cloud bieten parallele Aufgaben und Worktrees, das SDK bindet denselben Agent in Automatisierungssysteme ein.
Wenn dem Team am wichtigsten ist, dass „jeder Agent dieselben Prüfungen durchlaufen muss“, schreibe die Anforderungen nicht nur in den Prompt. Verankere Tests, das Abfangen gefährlicher Befehle, Secret-Scans und Berechtigungen für Deployments in Git, CI, Sandbox, Hooks oder anderen externen Durchsetzungsebenen – beide Agents können dann nur innerhalb dieser Grenze arbeiten.
Tiefergehender Teil: Warum man beim Anschluss beider Engines an dasselbe System keinen einzigen Adapter teilen kann
Bevor wir zu den Unterschieden kommen, muss klar sein: Das mentale Modell beider Tools ist sich sehr ähnlich – beide laufen im Terminal, beide arbeiten in Sitzungen, beide können Tools aufrufen, Dateien ändern und Befehle ausführen, beide verlangen die Bestätigung des Nutzers bei gefährlichen Aktionen, beide können mehrstufige Aufgaben innerhalb einer Sitzung kontinuierlich bearbeiten. Genau deshalb entsteht bei der Integration leicht die Einschätzung „eine Adapterschicht reicht“ – und genau so haben wir angefangen.
Der Unterschied liegt nicht auf der Fähigkeits-, sondern auf der Protokollebene. Das heißt: Das Verhalten, das du im Terminal siehst, kann fast identisch sein, doch die Frames, die sie senden, ihre Reihenfolge und die Organisation der Felder unterscheiden sich. Genau das macht solche Unterschiede schwer im Voraus zu entdecken: Wenn du es auf deinem eigenen Computer benutzt, wirst du nie darauf stoßen.
Schnellübersicht der sieben Protokollunterschiede
| # | Dimension | Verhalten von Claude Code | Verhalten von Codex | Wen es beißt, wenn man es nicht behandelt |
|---|---|---|---|---|
| 1 | Kennzeichnung von Assistentennachrichten | Mit stabiler id | Kann fehlen | Wer Nachrichten persistiert / geräteübergreifend synchronisiert |
| 2 | Session-Liveness-Check | Batch-Form, einmal eine Gruppe | Erwartet eine einzelne Session-id | Wer Online-Status anzeigt |
| 3 | Reihenfolge des History-Replays | Entspricht der realen Chronologie | Aktivitätsframes von Sub-Threads kommen als ganzer Block am Ende | Wer Sub-Agent-/Multi-Thread-Ansichten baut |
| 4 | Struktur der Tool-Call-Befehle | Vollständig | Kann fragmentiert sein | Wer Tool-Genehmigungs-UI baut |
| 5 | Abonnement von Channel-Events | Übernimmt die Ausführung des Session-Wechsels | Kann den Wechsel nicht gleichzeitig ausführen | Wer Multi-Relay baut |
| 6 | Online-Verbindungskontingent | Teilt sich denselben Zählpool mit Codex | Dito links | Wer Kontingentbegrenzungen umsetzt |
| 7 | Leistung bei langen Verläufen | Linear | Degeneriert bei falscher Verarbeitung zu nichtlinear | Wer Mobile-Apps baut |
Im Folgenden gehen wir Punkt für Punkt vor – jeweils nach „Symptom → Wie lokalisieren → Wie beheben“.
1. Haben Assistentennachrichten eine stabile id? – Sie bestimmt deine Deduplizierungsstrategie
Symptom: Du öffnest eine Codex-Sitzung; direkt nach dem Chatten ist alles normal; wenn du sie verlässt und wieder öffnest, wird dieselbe Assistentenantwort zu 2, 3 – und bei jedem Öffnen mehr. Vom Nutzer gesendete Nachrichten sind nicht betroffen, nur Assistentenantworten vermehren sich. Bei Claude-Code-Sitzungen tritt das nicht auf.
Wie lokalisieren: Dieses Symptom wird sehr leicht als Client-Rendering-Problem oder als doppelt geladener Verlauf fehlinterpretiert, woraufhin man sich in die Frontend-Analyse stürzt. Der richtige erste Schritt ist, direkt nachzusehen, wie viele Einträge tatsächlich im Server-Cache liegen – wenn der Cache wirklich N Einträge enthält, liegt das Problem in der Datenschicht und hat nichts mit Rendering zu tun. Genau mit diesem Schritt haben wir den Fokus damals vom Client zurückgeholt.
Ursache: Assistentennachrichten von Claude Code tragen eine stabile Kennung; beim Replay und bei Realtime-Push kann direkt nach id dedupliziert werden. Auf Codex-Seite ist nicht garantiert, dass Assistentennachrichten eine solche Kennung tragen. Wird dieselbe „nach id deduplizieren“-Logik verwendet, wird dieselbe Antwort als zwei verschiedene Nachrichten geschrieben.
Wie beheben: Für Nachrichten ohne stabile id auf „Runden-Anker + Inhalt“ zusammenklappen umstellen – der Anker ist der Hash der letzten Nutzernachricht vor dieser Antwort.
⚠️ Hier gibt es eine Falle, die eine eigene Erwähnung verdient: Unsere erste Version hat rein nach Text zusammengeklappt; nach dem Release haben wir beim Scannen der historischen Daten festgestellt, dass sie 691 identische Antworten über mehrere Runden hinweg fälschlich gelöscht hat. Der Grund: Kurze Antworten von Codex wiederholen sich extrem häufig (etwa „Okay.“ oder „Erledigt.“), und die Deduplizierungsmenge war sitzungsweit – sobald der Hash eines Satzes einmal erfasst war, wurde derselbe Satz in jeder späteren Runde dieser Sitzung verschluckt. Das ist Datenverlust – schwerwiegender als Duplikate. Die Anker-Ebene darf nicht weggelassen werden.
2. Liveness-Check: Einer erwartet einzeln, einer batchweise
Symptom: Die Sitzung läuft nachweislich, aber die Oberfläche zeigt offline an.
Wie lokalisieren: Dieser Unterschied sieht so aus, als wäre er verallgemeinerbar – die Feldnamen sind auf beiden Seiten ähnlich, und beim Schreiben glaubt man leicht, ein Code könnte beide abdecken. Die Prüfung ist einfach: Sende die Batch-Struktur und schau, ob die Antwort die erwartete Form hat.
Ursache: Die Schnittstellenform für „lebt diese Sitzung noch?“ ist unterschiedlich. Auf Claude-Code-Seite verwenden wir die Batch-Form mit einer Gruppe von Session-ids; die Codex-Seite erwartet eine einzelne Session-id.
Wie beheben: Zwei getrennte Aufrufpfade anlegen, nicht versuchen, sie zu teilen. Der Unterschied selbst ist nicht schwer zu handhaben; das Tückische ist, dass kein Fehler gemeldet wird – eine falsche Struktur wirft keine Exception, sondern liefert nur eine semantisch falsche Antwort.
3. Unterschiedliche Frame-Reihenfolge beim History-Replay – Sub-Agent-Status bleibt hängen
Das ist die verschlungenste Stelle bei der Fehlersuche.
Symptom: Der Statuspunkt des Sub-Agents in der Seitenleiste pulsiert weiterhin orange „läuft“, obwohl er längst beendet oder abgebrochen wurde. Auch ein Seitenrefresh holt ihn nicht zurück – bei jedem Refresh wiederholt sich der Fehler. Tritt nur bei Codex-Sitzungen auf.
Wie lokalisieren: „Auch Refresh holt nichts zurück“ ist das entscheidende Kriterium. Es zeigt, dass das Problem nicht beim Realtime-Push liegt, sondern im History-Replay selbst – jedes Replay schreibt den Status erneut falsch.
Ursache: Beim Replay werden zuerst alle Einträge des Eltern-Threads ausgebreitet (einschließlich der Benachrichtigungsframes, die „Sub-Agent beendet“ anzeigen), danach werden die Aktivitätsframes jedes Sub-Threads als ganzer Block ans Ende angehängt. Der Client erhält also zuerst die „abgebrochen“-Benachrichtigung und dann die zeitlich früheren Aktivitätsframes. Die Status-Schreiblogik vergleicht keine Zeitstempel; die zuletzt eintreffenden, früheren Frames überschreiben den Endzustand bedingungslos zurück auf „läuft“.
Wie beheben: Im Status-Schreibzweig einen Endzustands-Wächter einbauen – bereits im Endzustand (abgeschlossen/fehlgeschlagen/gestoppt) befindliche Einträge dürfen nur von späteren Frames überschrieben werden. Achte darauf, dieselbe Statuszuordnung wie an anderen Stellen zu verwenden und nicht eine zweite zu schreiben, sonst driftet das Verständnis von „was ist ein Endzustand“ an zwei Stellen auseinander.
Das gemeinsame Merkmal solcher Probleme ist: Jeder einzelne Frame für sich ist gültig, falsch ist nur ihre relative Reihenfolge. Wer also nur einzelne Frame-Logs betrachtet, wird das Problem nie sehen.
4. Struktur der Tool-Call-Befehle: Sie kann fragmentieren
Symptom: In den Tool-Karten von Codex-Sitzungen werden Befehle als Fragmente wie 1,220p oder /pid=…/ {print} angezeigt; manchmal wird ein ganzes Skript aufgetrennt, und sogar nach Ende der Antwort hängen noch unfertige Tool-Karten herum.
Wie lokalisieren: Sieh dir die tatsächliche Struktur des Befehlsfelds in den Roh-Frames an, nicht das Rendering-Ergebnis. Wenn du mit dem Feldpfad von Claude Code abfragst, „welchen Befehl der Nutzer ausgeführt hat“, bekommst du zerschnittene Fragmente.
Wie beheben: Für Codex eine eigene Befehls-Rekonstruktionsschicht schreiben, die Fragmente zu vollständigen Befehlen zusammensetzt, bevor sie an die UI gehen.
Dieser Unterschied ist besonders fatal für alle, die Tool-Genehmigungen bauen: Der Nutzer soll am Handy „Erlauben / Ablehnen“ wählen, aber der auf der Karte angezeigte Befehl ist zerhackt – das ist, als würde man blind unterschreiben. Eine Sicherheitsfunktion, die ihren Sinn verliert, ist weit schwerwiegender als eine unschöne Anzeige.
5. Der Abonnement-Umfang von Channel-Events ist unterschiedlich
Symptom: Zwei Nutzer werfen sich gegenseitig aus der Sitzung.
Ursache: Wenn beide Relay-Pfade „Session-Wechsel“-Events abonnieren und ausführen, wirft jede Seite ein Opfer heraus – eine doppelte Vertreibung. Eine Wechsel-Aktion braucht genau einen einzigen Ausführenden.
Wie beheben: Unser Ansatz ist, dass der Codex-Pfad nur Kick- und Cache-Invalidierungs-Events abonniert und niemals Wechsel-Events; die Ausführungsgewalt für Wechsel ist fest auf dem anderen Pfad verankert.
Solche Entscheidungen, „bewusst etwas nicht zu tun“, hinterlassen im Code meist nur einen Kommentar – aber sie entstehen, nachdem man einmal hineingetreten ist. Und sobald ein späterer Entwickler diese Einschränkung „nebenbei vervollständigt“, tritt der Vorfall wieder auf. Schreib also in den Kommentar, warum etwas nicht getan wird – nicht nur, dass es nicht getan wird.
6. Kontingent und Verbindungszählung sind zusammengelegt
Symptom: Der Nutzer glaubt, noch Kontingent zu haben, ist aber bereits darüber.
Ursache: Wenn du wie wir die Anzahl der Online-Verbindungen begrenzt, beachte, dass die Verbindungen beider Engines in denselben Zählpool fallen. Wenn ein Nutzer gleichzeitig Claude-Code- und Codex-Sitzungen geöffnet hat, verbraucht er dasselbe Kontingent.
Das ist kein Fehler, sondern eine Design-Entscheidung – aus Nutzersicht ist „wie viele Sitzungen kann ich insgesamt gleichzeitig öffnen“ verständlicher als „wie viele pro Engine“. Wenn deine Implementierung jedoch pro Engine separat zählt, stimmt die in der UI angezeigte Restmenge nicht mit der tatsächlichen Abbuchung im Backend überein.
Wie beheben: Überlege dir zuerst, welche Zählweise du willst, und stelle dann sicher, dass Frontend und Backend dieselbe verwenden. Zwei Zählweisen zu vermischen, ist schlimmer, als die falsche zu wählen.
7. Unterschiedliche Leistungscharakteristik bei wachsender Historie
Symptom: Beim Öffnen einer Sitzung mit langer Historie auf dem Handy friert die App ein.
Ursache: Wir haben einmal ein deutliches Einfrieren auf iOS erlebt; die Ursache war eine Operation in der Verlaufsverarbeitung, die quadratisch mit der Nachrichtenzahl wächst. Wichtig: Das ist kein Problem der Engine selbst, sondern entsteht dadurch, dass ihre Verlaufsstruktur nicht zu unserer ursprünglichen Verarbeitungsweise passt – dieselbe Verarbeitungsweise hat sich bei der anderen Engine nicht bemerkbar gemacht.
Wie beheben: Wiederholte Scans, die mit der Nachrichtenzahl wachsen, durch einen einmalig aufgebauten Index ersetzen. Noch wichtiger ist das Design im Voraus: Lange Verläufe müssen von Anfang an berücksichtigt werden, nicht erst, wenn ein Nutzer mehrere tausend Nachrichten angesammelt hat.
Für Plattform-Integratoren: Welche Seite ist einfacher anzubinden
Vorab: Das Folgende sind Empfehlungen aus Integrationssicht, keine Bewertung der Codefähigkeiten. Wir haben keine vergleichenden Benchmarks durchgeführt; jede Behauptung wie „X ist um soundsoviel schneller“ stammt nicht aus diesem Artikel.
Wann Codex besser passt
- Dein Team ist bereits im OpenAI-Ökosystem – Konto, Kontingente und Abrechnung liegen an einem Ort; eine Rechnungs- und Anmeldedatenverwaltung weniger – dieser Komfortgewinn sollte nicht unterschätzt werden.
- Deine Prozesse sind bereits um sein Sitzungs- und Aufgabenmodell herum aufgebaut – Werkzeuge rundherum nur für eine Migration umzubauen, lohnt sich meist nicht; die sieben Unterschiede oben sind umgekehrt betrachtet genau die Migrationskosten.
Wann Claude Code besser passt
- Du willst eigene Werkzeuge rundherum bauen – aus unserer Integrationserfahrung machen stabile Nachrichten-Kennungen Persistenz und Synchronisation über Endgeräte hinweg deutlich einfacher; die Unterschiede 1, 3 und 4 sind auf dieser Seite leichter zu handhaben.
- Du baust Interaktionen wie Tool-Genehmigungen – die Befehlsstruktur ist vollständig, beim Bau der Genehmigungs-UI ist kein zusätzliches Zusammensetzen nötig, und das Risiko des „Blindunterschreibens“ existiert nicht.
Nur das Modell wechseln – nicht unbedingt den Agent
Wenn dein Anliegen nur ist, „mit einem anderen Modell dieselbe Interaktion auszuführen“, dann ist ein Modell-Backend-Wechsel besser als ein Engine-Wechsel. Ein Teil des Grundes, warum wir PandaCode gebaut haben, ist genau dieser: Die Interaktionsebene bleibt gleich, das Modell wird ausgetauscht.
Wenn du migrieren willst: Aufwand der Änderungen für die sieben Unterschiede
Viele, die nach diesen beiden Namen suchen, bewerten eigentlich: „Wenn ich eines schon nutze, was kostet es, auf das andere zu wechseln?“ Im Folgenden rechnen wir die sieben Unterschiede oben in Migrationskosten um.
Hinweis: Dieser Abschnitt ist ein aus den sieben Punkten oben abgeleiteter Änderungsumfang, keine Dokumentation einer von uns durchgeführten vollständigen Migration – unser Weg war „paralleler Anschluss“ statt „von einem zum anderen wechseln“. Betrachte ihn also als Checkliste, nicht als Aufwandsschätzung.
Bei einer Migration von Claude Code zu Codex konzentrieren sich die Änderungen auf Folgendes:
- Die Deduplizierungslogik muss neu geschrieben werden (Punkt 1) – das ist die am leichtesten unterschätzte Stelle. Der bisherige „nach id deduplizieren“-Code kann nicht direkt verwendet werden, und Fehler werfen keinen Fehler, sondern führen nur still zu Mehrfachnachrichten oder still zu verlorenen Nachrichten. Wenn du Nachrichten persistierst, musst du vor der Migration unbedingt klären, welchen Anker du nimmst.
- Der Online-Status-Check muss seine Aufrufform ändern (Punkt 2) – der Aufwand ist klein, aber wenn man es übersieht, zeigt das System „offline“, obwohl es läuft, und es wird keine Exception geworfen.
- Alle Funktionen, die auf der zeitlichen Reihenfolge der Historie basieren, müssen neu verifiziert werden (Punkt 3) – Sub-Agent-Ansichten, Fortschrittsbalken und jede Logik, die „den aktuellen Status aus der Historie ableitet“, gehören dazu.
- Die Tool-Genehmigungs-UI braucht eine Befehls-Rekonstruktionsschicht (Punkt 4) – wenn dein Produkt eine Genehmigungsfunktion hat, darf dieser Punkt nicht fehlen, sonst entspricht das einem Blindunterschreiben durch den Nutzer.
In der anderen Richtung (Codex zu Claude Code) ist es meist einfacher: Die Deduplizierung kann wieder auf „nach id“ vereinfacht werden, und die Befehlsstruktur braucht keine Rekonstruktionsschicht. Aber achte darauf, die für Codex geschriebene Kompatibilitätsschicht nicht einfach zu löschen – wenn du die Fähigkeit, beide gleichzeitig zu unterstützen, behalten willst, ist diese Logik ein Asset, keine Last.
In beiden Richtungen neu zu prüfen: Die Kontingent-Zählweise (Punkt 6) und die Langzeitverlaufs-Performance (Punkt 7). Diese beiden hängen weniger direkt mit der Engine zusammen, sind aber die am leichtesten vergessenen Teile, die nach einem Engine-Wechsel neu getestet werden müssen.
Ein Tipp: Wenn dein System bereits läuft und Bestandsdaten von Sitzungen enthält, führe die neue Logik vor der Migration erst auf den Bestandsdaten aus und vergleiche – schalte nicht direkt um. Genau so haben wir die Lehre mit den 691 fälschlich gelöschten Einträgen gezogen – die Logik sah an sich korrekt aus, und erst beim Scannen der historischen Daten zeigte sich, dass sie Inhalte verschluckt. Dass neue Logik korrekt ist, heißt nicht, dass sie für Bestandsdaten sicher ist.
Unser Ansatz: Nicht wählen, sondern beides anbinden
Weil wir beides gleichzeitig unterstützen wollten, war unsere Schlussfolgerung, die Unterschiede in einer Zwischenschicht zu absorbieren – nach oben ein einheitliches Nachrichten- und Sitzungsmodell, nach unten engine-spezifische Anpassung. Der Preis: Bei jeder neuen Engine müssen die sieben oben genannten Verhaltensweisen erneut abgeglichen werden. Der Nutzen: Nutzer können in derselben Oberfläche frei zwischen Engines wechseln; die Erfahrung bei Sitzungen, Verlauf und Genehmigungen ist konsistent.
Checkliste zur Verifikation beim Anschluss einer neuen Engine
Wenn du auch diesen Weg gehen willst, empfehlen wir, in dieser Reihenfolge zu verifizieren – die ersten vier Punkte entscheiden, ob es funktioniert, die letzten drei, ob es in Produktion Probleme gibt:
- Nachrichten-Kennung – Haben Assistentennachrichten eine stabile id? Wenn nicht, was ist dein Deduplizierungs-Anker?
- Session-Liveness – Verarbeitet die Liveness-Schnittstelle einzeln oder batchweise? Wirft eine falsche Struktur einen Fehler oder still eine falsche Antwort?
- History-Replay-Reihenfolge – Stimmt die Frame-Reihenfolge beim Replay mit der realen Chronologie überein? Besonders bei Sub-Threads.
- Tool-Call-Struktur – Ist das Befehlsfeld vollständig, wenn man es ausliest? Kann es zerschnitten werden?
- Event-Abonnement-Umfang – Welche Events brauchen genau einen Ausführenden? Was passiert bei doppelter Ausführung?
- Kontingent-Zählweise – Werden Zählungen pro Engine getrennt oder zusammengefasst? Sind Frontend und Backend konsistent?
- Langzeitverlaufs-Performance – Wenn sich die Nachrichtenzahl verzehnfacht, wächst die Verarbeitungszeit linear oder schneller?
Für jeden Punkt empfehlen wir, zuerst mit kleinen Datenmengen zu prüfen und dann mit langen Verläufen – die Punkte 3 und 7 zeigen sich erst, wenn die Datenmenge zunimmt.
Rückverfolgung nach Symptom: Auf welche Stelle bist du gestoßen?
Wenn du bereits in eine Falle getreten bist, ist der Rückschluss vom Symptom meist schneller als das Durchlesen der Dokumentation:
| Symptom, das du siehst | Wahrscheinliche Stelle | Methode zur schnellen Bestimmung |
|---|---|---|
| Nach Verlassen und erneutem Öffnen werden Assistentenantworten mehr | Punkt 1 (Nachrichten-Kennung) | Sieh direkt nach, wie viele Einträge der Server-Cache enthält – ob Daten- oder Rendering-Schicht, erkennt man sofort |
| Sitzung läuft, zeigt aber offline | Punkt 2 (Liveness-Check) | Prüfe, ob die Liveness-Anfrage eine einzelne oder eine Batch-Struktur sendet |
| Sub-Agent-Status hängt in „läuft“, auch Refresh holt ihn nicht zurück | Punkt 3 (Replay-Reihenfolge) | „Auch Refresh holt nichts zurück“ ist das Kriterium: Das Problem liegt im Replay, nicht im Realtime-Push |
| Befehl in der Tool-Karte ist zerhackt / Tool-Karten hängen nach Antwortende | Punkt 4 (Befehlsstruktur) | Sieh dir die Struktur des Befehlsfelds in den Roh-Frames an, nicht das Rendering |
| Zwei Nutzer werfen sich gegenseitig aus der Sitzung | Punkt 5 (Abonnement-Umfang) | Prüfe, ob zwei Ausführende gleichzeitig Wechsel-Events verarbeiten |
| UI zeigt noch Kontingent, Backend ist bereits darüber | Punkt 6 (Kontingent-Zählweise) | Bestätige, ob Frontend und Backend pro Engine getrennt oder gemeinsam zählen |
| Mobile-App friert beim Öffnen langer Sitzungen ein | Punkt 7 (lange Historie) | Vergleiche die Zeit mit Sitzungen verdoppelter Nachrichtenzahl – prüfe, ob nichtlinear |
Ein allgemeingültiges Kriterium: Wenn das Symptom bei jedem Refresh stabil reproduzierbar ist, liegt das Problem meist im History-Replay oder in der Datenschicht; wenn es nur gelegentlich bei Realtime-Interaktionen auftritt, untersuche erst dann die Push-Kette. Dieses Kriterium hat uns viel Zeit gespart – Punkt 1 und Punkt 3 wurden zunächst beide fälschlich als Client-Probleme eingestuft.
FAQ
Ist Claude Code oder Codex nun besser?
Es gibt keinen festen Sieger unabhängig von Aufgabe und Version. Wer Prozesse bereits um Claude Hooks, Skills und CLAUDE.md herum aufgebaut hat, wählt Claude Code; wer bereits ChatGPT, Codex-App, Cloud-Aufgaben und den OpenAI-Workspace nutzt, wählt Codex. Für risikoreiche Projekte ist ein Vergleich im selben Repository mit identischer Aufgabe und denselben Abnahmekriterien zuverlässiger als Benchmarks Dritter.
Können kostenlose Claude-Code-Nutzer Remote Control nutzen?
Offiziell sind derzeit Abos von Claude.ai – Pro, Max, Team oder Enterprise – erforderlich; Authentifizierungswege wie API Key, Bedrock, Vertex und Foundry werden ausdrücklich nicht unterstützt. Die Claude-Code-CLI selbst kann weiterhin mit API Key oder über unterstützte Cloud-Anbieter nach Verbrauch betrieben werden, das bedeutet jedoch nicht, dass man die offizielle Remote-Control-Berechtigung erhält.
Können kostenlose Codex-Nutzer es verwenden?
OpenAI bietet Free/Go-Nutzern von Zeit zu Zeit zeitlich begrenzte Codex-Kontingente an, aber das ist kein stabiler, dauerhafter Vorteil. Für langfristige Nutzung gelten die derzeit unterstützten Pläne wie Plus, Pro, Business, Enterprise und Edu; Remote wird außerdem von der Desktop-App-Version, der Geräteautorisierung und den Workspace-Richtlinien beeinflusst.
Enthält die kostenlose PandaNpc-Version Claude- oder Codex-Modellkontingente?
Nein. PandaNpc Free bietet bis zu 2 Online-Agent-Geräte und 5 parallele Agent-Sitzungen sowie Fernsteuerung und Gerätevernetzung; die Kosten für Claude-, ChatGPT-, API- oder andere Modelle trägt weiterhin das eigene Upstream-Konto des Nutzers.
Wie wählt man zwischen der Fernsteuerung von Claude Code, Codex und PandaNpc?
Wenn du nur die offizielle Claude-Code-CLI steuern willst, ist Claude Remote Control am direktesten; wenn du ChatGPT-Desktop-Codex nutzt und vor allem vom Handy zugreifst, bevorzuge Codex Remote; wenn du Claude Code, Codex CLI und mehrere Linux-/Windows-/macOS-Hosts einheitlich vom Browser und verschiedenen Desktop-Systemen aus steuern willst oder API- und Custom-Modell-Konfigurationen beibehalten möchtest, verwende eine Multi-Engine-Verbindungsschicht wie PandaNpc.
Sind Codex CLI und OpenAI Codex dasselbe?
Codex wird in diesem Artikel als das CLI-Codierungstool von OpenAI verstanden. Es gibt auf dem Markt auch andere Produkte namens Codex (darunter Software aus den Bereichen Recht und Compliance); bei der Suche kann das leicht verwechselt werden – die Einschränkung auf „CLI“ oder „OpenAI“ macht es deutlich präziser.
Ändern sich diese Unterschiede mit den Versionen?
Ja. Jede Stelle oben ist ein Verhalten, auf das wir zu einem bestimmten Zeitpunkt gestoßen sind; beide Engines iterieren schnell. Deshalb ist die Verifikations-Checkliste wichtiger – die konkreten Unterschiede ändern sich, die zu prüfenden Dimensionen bleiben weitgehend stabil.
Kann man beide Engines gleichzeitig anbinden?
Ja, genau so machen wir es. Der Schlüssel ist, die Unterschiede in der Zwischenschicht zu absorbieren, statt sie in die UI-Schicht durchsickern zu lassen – sonst verzweigt sich die Oberflächenlogik bei jeder neuen Engine erneut.
Ausblick
Wir planen, eine Reihe von vergleichenden Aufgabentests zu ergänzen (dieselben Aufgaben, feste Versionen, öffentliche Methodik und Rohausgaben) und werden die Ergebnisse dann in diesen Artikel einarbeiten. Bis dahin enthält dieser Artikel keine Leistungs- oder Erfolgsquoten-Zahlen – was wir nicht gemessen haben, schreiben wir auch nicht als gemessen hin.
Dieser Artikel basiert auf unseren realen Engineering-Erfahrungen bei der Anbindung von Claude Code und OpenAI Codex an dasselbe Remote-Zugriffssystem; zuletzt aktualisiert am 30.08.2026. Beide Engines werden kontinuierlich aktualisiert; das konkrete Verhalten richtet sich nach der jeweiligen offiziellen Dokumentation.
Verwandte Anleitungen

Claude Code Remote Control: So funktioniert's – Fernsteuerung per Handy, offizielle Einschränkungen und Alternativen (2026)
Wie aktiviert man Claude Code Remote Control? Dieser Artikel stellt drei offizielle Nutzungsmöglichkeiten vor: claude remote-control, claude --remote-control und /remote-control, erläutert die Verbindung von Handy und Browser, Kontenanforderungen, Verifizierungsmethoden und häufige Fehlermeldungen und vergleicht die PandaNpc-Lösung in Szenarien mit benutzerdefinierten Modellen, Codex und mehreren Maschinen.
Artikel lesen →
Kann ein Claude-Abonnement geteilt werden? So gibst du Claude Code sicher an Freunde und Teams weiter (ohne Passwort, jederzeit widerrufbar)
Ja – und das ohne deine Kontodaten an jemanden weiterzugeben. PandaNpc unterstützt das Teilen deiner Claude Code-Verbindung auf deinem Rechner über einen Link mit Freunden, Familie oder Teamkollegen: Die andere Person nutzt dein Abonnementkontingent remote, um Claude Code auszuführen. Jede Freigabe ist ein unabhängig widerrufbares Token, mit einer einstellbaren Gültigkeitsdauer von 1/7/30 Tagen oder dauerhaft. Mit einem Klick widerrufst du die Freigabe und die Person wird sofort getrennt, ganz ohne Auswirkungen auf deine eigene Nutzung.
Artikel lesen →
Codex am Handy: ChatGPT Remote vs. CLI – Fernsteuerung (2026)
Codex auf iPhone oder Android nutzen: ChatGPT Remote steuert Desktop-Chats auf Mac/Windows; PandaNpc steuert Codex CLI und Linux-Hosts. Vergleich von Einrichtung, Grenzen und Fehlerbehebung.
Artikel lesen →