Ein Claude-KI-Agent, der jedes Textfeld in einem Webformular ausfüllen konnte, blieb im letzten Schritt abrupt stehen, als er versuchte, drei Bilder anzuhängen. Dies legte eine undokumentierte Einschränkung bei der Dateiupload-Verarbeitung der Desktop-App offen. Das Versagen ist deshalb so bedeutsam, weil es eine scheinbar vollständige End-to-End-Automatisierung in einen manuellen Übergabeprozess verwandelt und Entwickler dazu zwingt, den Aufbau KI-gestützter Workflows neu zu überdenken.
Warum das Problem jetzt auftritt
Claude-Agenten laufen in drei Umgebungen: einer Befehlszeilenschnittstelle (CLI), einer Visual Studio Code-Erweiterung oder der eigenständigen Desktop-App. In der CLI liest der Agent eine Datei aus einem der Sitzung hinzugefügten Verzeichnis und lädt sie problemlos hoch. Die Desktop-App übernimmt dieses Verhalten nicht. Selbst wenn der Agent eine Datei in seinen eigenen temporären Ordner schreibt, lehnt die App den Upload ab und verweist auf eine interne Definition von „geteilten“ (shared) Dateien, die in der öffentlichen Dokumentation nie erwähnt wird.
Die Diskrepanz wurde sichtbar, als ein Nutzer eine Automatisierung erstellte, die ein Formular ausfüllte, auf „Entwurf speichern“ klickte und dann versuchte, drei Bilder anzuhängen. Die Textfelder wurden fehlerfrei ausgefüllt, aber der Upload-Schritt lieferte jedes Mal eine Fehlermeldung.
Was Entwickler versucht haben
- Dateien in den von der App erstellten Sitzungsordner hinzugefügt.
- Das „directory-connect“-Tool verwendet, mit dem der Agent einen Host-Ordner sehen kann.
- Bilder direkt im Chat-Fenster angehängt.
- Einen manuellen Upload-Ordner erstellt und das Formular darauf verwiesen.
Alle diese Ansätze führten zum gleichen Ablehnungsfehler. Das Browserfenster, das den Dateiauswahl-Dialog anzeigt, läuft bei der Desktop-Automatisierung im schreibgeschützten Modus. Der Agent kann den Dialog zwar sehen, aber nicht darin klicken oder einen Pfad eingeben, weshalb UI-Automatisierungs-Tricks fehlschlagen.
Eine instabile „Hintertür“
Die einzige erfolgreiche Methode nutzte die Windows-Zwischenablage:
- Ein PowerShell-Skript kopiert die Zieldatei in die Zwischenablage.
- Der Agent sendet einen Strg + V-Tastendruck.
- Der Browser empfängt das Einfüge-Ereignis und lädt die Datei hoch.
Dieser Hack funktioniert zwar, löscht aber die Zwischenablage des Nutzers, ist auf Windows beschränkt und könnte bei jedem Update der Desktop-App fehlschlagen. Es ist keine nachhaltige Lösung für Produktions-Pipelines.
Was die Einschränkung wirklich bedeutet
Das Kernproblem ist kein Softwarefehler, sondern eine undokumentierte Besonderheit, bei der Dateiberechtigungen als Eigenschaft der Host-Anwendung und nicht als einfaches Dateisystem-Flag behandelt werden. In der CLI erbt der Agent den Lesezugriff des Prozesses, sodass jede Datei, die die Sitzung sehen kann, auch hochgeladen werden kann. In der Desktop-App isoliert die Laufzeitumgebung die Dateisystem-Ansicht des Agenten und lässt nur Dateien zu, die die verborgenen „Shared“-Kriterien erfüllen.
Da die Einschränkung fest in der Architektur der Desktop-App verankert ist, haben Workarounds, die auf UI-Manipulation oder temporären Ordnern basieren, nicht funktioniert.
Zuverlässige Lösungswege
Wenn ein Workflow Dateiuploads erfordert, haben Entwickler drei verlässliche Optionen:
- Den Agenten über die CLI ausführen. Diese Umgebung respektiert die Dateisystem-Berechtigungen der Sitzung und lädt Dateien ohne zusätzliche Schritte hoch.
- Die VS Code-Erweiterung nutzen. Die Erweiterung spiegelt das Berechtigungsmodell der CLI wider und ermöglicht es Agenten, Dateien zu lesen und hochzuladen, die der Editor sehen kann.
- Den Upload-Schritt einem Menschen überlassen. Eine schnelle, zwei-minütige manuelle Aktion ist besser als Stunden, die man mit der Entwicklung eines instabilen Workarounds verbringt.
Die ersten beiden Optionen führen die Automatisierung außerhalb der Desktop-App aus.
Fazit
Die Fähigkeit zum Dateiupload bei Claude-KI-Agenten ist nicht über alle Laufzeitumgebungen hinweg universell verfügbar; sie hängt davon ab, wie der Agent gestartet wird. Für eine zuverlässige Automatisierung sollten die CLI und die VS Code-Erweiterung als die einzigen Umgebungen betrachtet werden, die Dateisystem-Berechtigungen verlässlich berücksichtigen. Wenn Sie die Desktop-App verwenden, planen Sie entweder einen manuellen Übergabeprozess ein oder akzeptieren Sie einen instabilen Clipboard-Hack. Das Ignorieren dieses Unterschieds kann ein reibungsloses End-to-End-Skript in eine kostspielige Fehlersuche verwandeln.
