Defekten ComfyUI-Workflow mit Claude reparieren
Ein praktischer Ablauf für einen alten ComfyUI-Workflow, der nach einem Update nicht mehr läuft: Original-JSON und Logs sichern, den Standard-Workflow prüfen, Claude den Fehler einordnen lassen, nur eine Kopie ändern und die Reparatur mit einer tatsächlich gespeicherten Bilddatei belegen.
Inhalt

Lass Claude nicht als Erstes den gesamten Workflow neu schreiben. Sichere das ursprüngliche JSON im normalen Save-Format und die exakten Fehlermeldungen, beweise anschließend, dass ein aktueller Standard-Workflow mit deaktivierten Custom Nodes läuft, und lass Claude erst dann die vorhandenen Belege einordnen. Ändere jeweils nur eine Abhängigkeit, baue den kleinsten lauffähigen Graphen, führe ein Bild aus und prüfe selbst, ob das Ergebnis in Save Image erscheint, gespeichert und wieder geöffnet werden kann.
So wird aus dem vagen Problem „ComfyUI hat sich stark verändert“ eine Prüfung klarer Schichten: ComfyUI-Core, Frontend-Erweiterungen, Custom Nodes, Modelldateien oder der alte Graph. Die offizielle ComfyUI-Fehlerbehebung empfiehlt ebenfalls, den Standard-Workflow zu testen, Custom Nodes zu deaktivieren und den genauen Terminalfehler zu lesen, bevor ein Fix angewendet wird.
Der Reparaturablauf im Überblick
- Bewahre den Original-Workflow im normalen Save-Format auf und überschreibe ihn nie.
- Sichere den vollständigen Fehlerbericht, Start-Log, Installationstyp, Versionen und letzte Änderungen.
- Deaktiviere alle Custom Nodes und führe den aktuellen Standard-Bildworkflow aus.
- Gib Claude ein begrenztes Beweispaket; Analyse kommt vor Änderungen oder Installationen.
- Ordne den Fehler Core, Frontend, Custom Node, Model oder Unknown zu.
- Aktualisiere oder ersetze genau einen inkompatiblen Knoten oder baue einen aktuellen Minimalgraphen.
- Führe ein kleines Bild aus und verifiziere die tatsächlich gespeicherte Datei.
1. Workflow und Belege vor jeder Änderung einfrieren
Speichere den alten Workflow als normales JSON und erstelle eine getrennte Arbeitskopie. Ein kleiner Fallordner macht die Untersuchung reproduzierbar:
comfyui-repair-case/
workflow-original.json
workflow-working.json
error-report.txt
startup-log.txt
environment.md
Behandle workflow-original.json als schreibgeschützt. Kopiere den vollständigen Text aus Show report in error-report.txt, nicht nur eine Zusammenfassung wie „Knoten kaputt“. Bewahre Importfehler, Abhängigkeitskonflikte und Tracebacks aus dem Startterminal in startup-log.txt auf. Notiere in environment.md, ob Desktop, Portable oder Manual Install verwendet wird, dazu ComfyUI-Version, Betriebssystem, GPU und zuletzt aktualisierte Komponenten: Core, Frontend, Custom Nodes oder Modelle.
Achte außerdem auf den Unterschied zwischen Save Format und API Format. Die offizielle Seite Workflow API Format erklärt, dass das normale Speicherformat Positionen, Farben, Gruppen und weitere Bearbeitungsmetadaten enthält, während das API-Format für programmatische Übermittlung reduziert ist. Bewahre für die Reparatur das normale Original auf. Exportiere nur dann eine separate API-Kopie, wenn die Aufgabe tatsächlich eine API verwendet.
2. Zuerst eine saubere ComfyUI-Basis nachweisen
Der alte Graph darf nicht der erste Test sein. Deaktiviere vorübergehend Drittanbieter-Knoten. In Desktop geht das über die Einstellungen; eine manuelle Installation lässt sich üblicherweise so starten:
python main.py --disable-all-custom-nodes
Lade das aktuelle Standard-Template Image Generation, wähle einen kompatiblen Checkpoint, der bereits in der Liste sichtbar ist, und erzeuge ein Bild. Der offizielle Leitfaden zu Custom-Node-Problemen liefert die Trennung: Verschwindet das Problem bei deaktivierten Custom Nodes, ist einer beteiligt; bleibt es bestehen, prüfe Core, Frontend, Modelle oder Umgebung.
Leite daraus den nächsten Zweig ab:
| Basisergebnis | Wahrscheinlichere Schicht | Nächster Nachweis |
|---|---|---|
| Standard-Workflow öffnet oder läuft nicht | Core-Installation, Frontend, Modell oder Hardware | Erst die Basis reparieren, nicht den alten Graphen |
| Standard funktioniert, alter Graph zeigt missing nodes | Fehlende, umbenannte oder ungeladene Custom Nodes | JSON-Typen ihren Paketen zuordnen |
| Alter Graph lädt und scheitert an einem Knoten | Modellarchitektur, Verbindungen, Abhängigkeiten oder Speicher | Ersten fehlerhaften Knoten und Bericht sichern |
| UI funktioniert nach Deaktivieren von Frontend-Erweiterungen | Inkompatible Drittanbieter-Erweiterung | Jeweils die Hälfte aktivieren und eine isolieren |
Wenn der Standardgraph scheitert, beweist ein umgeschriebenes altes JSON keine Reparatur.
3. Claude ein klar begrenztes Beweispaket geben
Anthropic beschreibt Claude Code als Werkzeug, das eine Codebasis lesen, Dateien bearbeiten und Befehle ausführen kann. Deshalb sollte der erste Durchlauf ausschließlich analysieren. Starte Claude im Fallordner oder hänge dieselben Dateien in einem Chat an und setze Grenzen:
Du diagnostizierst einen ComfyUI-Workflow, der nach einem Update nicht mehr läuft.
Lies nur:
- workflow-original.json
- workflow-working.json
- error-report.txt
- startup-log.txt
- environment.md
Installiere, aktualisiere, lösche, benenne oder bearbeite noch nichts.
Zuerst:
1. Erfasse Knotentypen und referenzierte Modelldateien.
2. Ordne jedes Problem ComfyUI core, frontend extension,
custom node, model file oder unknown zu.
3. Zitiere zu jeder Schlussfolgerung das genaue JSON-Feld oder die Fehlerzeile.
4. Schlage die kleinste reversible Änderung vor.
5. Warte vor Änderungen an workflow-working.json auf meine Freigabe.
Melde keinen Erfolg, bevor ich ein Bild ausgeführt und eine gespeicherte Datei bestätigt habe.
Eine brauchbare Antwort ist eine Zuordnungstabelle: alter Knotentyp, besitzende Erweiterung, Ein-/Ausgabevertrag, möglicher Ersatz, Parameterübernahme, Beleg und Risiko. Wenn Besitzer oder Ersatz nicht feststehen, soll Claude Unknown markieren, statt aus einem ähnlichen Namen ein Paket zu erraten.
4. Fehler einordnen, statt alles zu aktualisieren
Fehlender Knoten: zuerst den Besitzer bestimmen
Prüfe type, Titel und Verbindungen des fehlenden Knotens im normalen Save-JSON. Ähnliche Namen garantieren keine kompatiblen Sockets oder Widget-Werte; eine String-Ersetzung im JSON ist keine sichere Migration. Ermittle, ob der Knoten zum Core oder zu einem bestimmten Custom-Node-Repository gehört, und vergleiche alte und neue Ein-/Ausgaben sowie Parameter.
Wird die Erweiterung gepflegt, aktualisiere nur diese und teste erneut. Ist sie aufgegeben, wähle eine gepflegte Alternative oder bilde die kleine Funktion mit Core-Knoten nach. Der offizielle Leitfaden nennt dieselben Wege: aktualisieren, ersetzen, dem Autor melden oder entfernen/deaktivieren.
Frontend-Konflikt: deaktivieren und halbieren
Einige Custom Nodes fügen zugleich Frontend-Erweiterungen ein. Leere Oberfläche, defekte Verbindungen, fehlende Vorschau oder gestörte Frontend-/Backend-Kommunikation können aus dieser Schicht stammen. Deaktiviere zuerst Drittanbieter-Frontend-Erweiterungen. Verschwindet das Symptom, aktiviere jeweils die Hälfte und teste erneut. Diese binäre Suche bewahrt die Kausalität und ist sicherer als eine Komplettinstallation.
Fehlendes Modell: Ordner und Suchpfade prüfen
Ein alter Graph kann auf einen entfernten, umbenannten oder verschobenen Checkpoint, VAE, LoRA oder ControlNet verweisen. ComfyUI findet Modelle in den kategorisierten Ordnern unter ComfyUI/models/ und in den Pfaden aus extra_model_paths.yaml. Ist eine Auswahl leer oder zeigt null, prüfe den realen Speicherort und aktualisiere oder starte ComfyUI neu. Benenne kein inkompatibles Modell um, nur damit ein alter Dateiname passt.
Architekturkonflikt: Familie statt Dateiname prüfen
Der offizielle Leitfaden zu Modellproblemen empfiehlt, Workflow-Modelle in derselben Architekturfamilie zu halten. Werden Checkpoint, VAE, Text Encoder oder ControlNet verschiedener Familien gemischt, können Dimensionsfehler beim Sampling oder VAE Decode auftreten. Claude kann Stacktrace und Graph korrelieren; als Kompatibilitätsbasis ist jedoch ein offizielles Template der gewünschten Modellfamilie zuverlässiger.
5. Genau einen Knoten in der Arbeitskopie ändern
Fordere vor der Freigabe diesen Änderungsplan an:
| Element | Pflichtfrage |
|---|---|
| Alter Knoten | Welcher exakte JSON-type ist eingetragen? |
| Besitzer | Core, Custom Node oder Frontend Extension? |
| Ersatz | Stimmen Ein- und Ausgabetypen überein? |
| Parametermigration | Welche Widget-Werte bleiben, welche müssen neu gesetzt werden? |
| Rollback | Wie wird die vorherige workflow-working.json wiederhergestellt? |
Erlaube Änderungen nur in workflow-working.json und jeweils für einen Fehler. Lade nach jeder Bearbeitung neu und prüfe, ob der Knoten vorhanden ist, Verbindungen gültig bleiben und Parameter nicht verrutscht sind. Ein pauschales „update all custom nodes“ kann einen zweiten Konflikt erzeugen und vernichtet den Beleg, welche Änderung wirksam war.
Community-Seiten helfen beim Erkennen von Symptomen, sind aber keine allgemeingültige Diagnose. Frontend issue #6328 und ComfyUI discussion #14344 sind einzelne Nutzerberichte. Nutze sie nur, wenn Version, Fehler und Knotenkontext wirklich passen.
6. Einen aktuellen Minimalgraphen für Bilder aufbauen
Enthält der alte Graph viele veraltete LoRA-, ControlNet-, Upscale-, Preview- und Utility-Zweige, ist eine gleichzeitige Reparatur riskanter als ein Neuaufbau des Kerns. Baue ihn anhand des offiziellen minimalen Save-Format-Beispiels von ComfyUI neu auf. Das ist keine serielle Kette: Mehrere Ausgaben laufen in KSampler zusammen, und VAEDecode erhält zusätzlich den VAE-Ausgang des Checkpoints.
| Ausgangsport | Eingangsport |
|---|---|
CheckpointLoaderSimple.MODEL | KSampler.model |
CheckpointLoaderSimple.CLIP | CLIPTextEncode.clip für den positiven Prompt |
CheckpointLoaderSimple.CLIP | CLIPTextEncode.clip für den negativen Prompt |
CLIPTextEncode.CONDITIONING des positiven Prompts | KSampler.positive |
CLIPTextEncode.CONDITIONING des negativen Prompts | KSampler.negative |
EmptyLatentImage.LATENT | KSampler.latent_image |
KSampler.LATENT | VAEDecode.samples |
CheckpointLoaderSimple.VAE | VAEDecode.vae |
VAEDecode.IMAGE | SaveImage.images |
EmptyLatentImage nimmt kein Conditioning entgegen. KSampler benötigt vier unabhängige Eingänge —model, positive, negative und latent_image—, während VAEDecode sowohl samples als auch den vae des Checkpoints braucht. Erst mit diesen Verbindungen kann der Minimalgraph tatsächlich in die Warteschlange gestellt und ein Bild gespeichert werden.
Verwende diese Verdrahtung nur, wenn die Architektur des gewählten Checkpoints zum offiziellen Beispiel passt. Ein neueres Modell kann einen anderen Loader, Text Encoder, Latent Node oder VAE-Pfad benötigen; folge dann dem offiziellen Workflow dieses Modells, statt diesen Graphen zu erzwingen. Wähle für den Basistest einen kompatiblen, bereits in Load Checkpoint sichtbaren Checkpoint, batch size 1 und eine moderate Auflösung, und lasse alte optionale Zweige zunächst getrennt. Besteht die Grundkette, füge jeweils genau ein LoRA, ControlNet, Upscaler oder Custom Post-Processing hinzu und teste nach jedem Schritt erneut.
Das Ziel ist nicht, dass der neue Graph genauso aussieht wie der alte. Zuerst muss eine nachweislich funktionierende aktuelle Grundkette entstehen; danach werden nur benötigte Fähigkeiten migriert. Claude kann beide JSON-Dateien vergleichen und eine Migrationskarte vorbereiten, doch die Ausführung bleibt der Abnahmetest.
7. Ein kleines Bild ausführen und die gespeicherte Ausgabe prüfen
Ein Workflow, der sich nur öffnen lässt, ist noch nicht repariert. Schließe den Kreislauf mit dem offiziellen First-Generation-Guide:
- Drücke nach Installation oder Verschieben von Modellen
R, um Listen zu aktualisieren, oder starte bei Bedarf neu. - Prüfe, ob
Load Checkpointein sichtbares, kompatibles Modell enthält. - Klicke
Runoder drückeCtrl + Enter. - Warte auf das Ende der Queue ohne missing node, validation error oder roten Fehlerknoten.
- Prüfe, ob das Bild in
Save Imageerscheint. - Speichere es per Rechtsklick lokal, notiere den Dateinamen und öffne es in einem Bildbetrachter.
- Optional: Ziehe das erzeugte ComfyUI-PNG zurück in die Oberfläche und prüfe, ob die eingebetteten Workflow-Metadaten gelesen werden.
- Speichere den reparierten normalen Graphen als
workflow-repaired.json;workflow-original.jsonbleibt unverändert.
Der Abnahmenachweis sollte Workflow-Dateiname, Bilddatei, verwendetes Modell, aktive Custom Nodes, Ersetzungen und bekannte Einschränkungen enthalten. Erst dann ist „repariert“ ein belegter Zustand.
Wenn ein Zweig weiter scheitert
- Der Standard-Workflow scheitert bei deaktivierten Custom Nodes: Bearbeitung des alten Graphen stoppen und Installation, Modell, Treiber oder Frontend reparieren.
- Der Standard funktioniert, der alte zeigt weiter missing nodes: Besitzer und Ersatz weiter zuordnen; JSON-Typen nicht durch Raten umbenennen.
- Der Graph lädt, aber die Generierung scheitert: Beim ersten fehlerhaften Knoten aus
Show reportbeginnen; Modellfamilie und Verbindungen vor Speicherproblemen prüfen. - Der Fehler kehrt nach Aktivieren einer Gruppe zurück: Weiter halbieren, bis ein Custom Node oder eine Frontend Extension übrig ist.
- Der Originalknoten wird nicht mehr gepflegt: Funktion ersetzen oder nachbauen und Verhaltensunterschiede dokumentieren.
- Claude zitiert weder Fehler noch JSON-Feld: Vorschlag als Hypothese behandeln und noch nicht ausführen.
Fazit
Claude ist hier als Organisator von Belegen und Planer kleiner Änderungen zuverlässiger als als ungeprüfter Auto-Repair-Knopf. Der belastbare Ablauf lautet Backup → saubere Basis → Klassifikation → kleinste Änderung → ein Bild → Prüfung der gespeicherten Datei. Bewahre den Originalgraphen, ändere jeweils eine Variable und lass die tatsächliche ComfyUI-Ausgabe statt einer selbstbewussten Erklärung entscheiden, ob der Workflow repariert ist.