Un agent Claude AI capable de remplir chaque champ de texte d'un formulaire web s'est brusquement arrêté à la dernière étape lorsqu'il a tenté de joindre trois images, révélant une limitation non documentée dans la gestion du téléchargement de fichiers de l'application Desktop. Cet échec est important car il transforme une automatisation de bout en bout apparemment complète en un passage de relais manuel, forçant les développeurs à repenser la manière dont ils construisent des flux de travail pilotés par l'IA.
Pourquoi le problème apparaît maintenant
Les agents Claude s'exécutent dans trois environnements : une interface en ligne de commande (CLI), une extension Visual Studio Code ou l'application Desktop autonome. Dans le CLI, l'agent lit un fichier à partir d'un répertoire ajouté à la session et le télécharge sans problème. L'application Desktop ne reproduit pas ce comportement. Même lorsque l'agent écrit un fichier dans son propre dossier temporaire, l'application rejette le téléchargement, invoquant une définition interne des fichiers « partagés » qui n'apparaît jamais dans la documentation publique.
La divergence est apparue lorsqu'un utilisateur a conçu une automatisation qui remplissait un formulaire, cliquait sur « enregistrer le brouillon », puis tentait de joindre trois images. Les champs de texte ont été remplis sans faille, mais l'étape de téléchargement a renvoyé une erreur à chaque fois.
Ce que les développeurs ont essayé
- Ajout des fichiers au dossier de session créé par l'application.
- Utilisation de l'outil directory-connect qui permet à l'agent de voir un dossier hôte.
- Ajout des images directement dans la fenêtre de chat.
- Création d'un dossier de téléchargement manuel et redirection du formulaire vers celui-ci.
Toutes ces approches ont produit la même erreur de rejet. La fenêtre du navigateur qui affiche la boîte de dialogue de sélection de fichiers s'exécute en mode lecture seule pour l'automatisation desktop. L'agent peut voir la boîte de dialogue mais ne peut ni cliquer à l'intérieur ni saisir un chemin, de sorte que les astuces d'automatisation de l'interface utilisateur (UI) échouent.
Une « porte dérobée » fragile
La seule méthode qui a réussi a utilisé le presse-papiers Windows :
- Un script PowerShell copie le fichier cible dans le presse-papiers.
- L'agent envoie la combinaison de touches Ctrl + V.
- Le navigateur reçoit l'événement de collage et télécharge le fichier.
Ce bidouillage fonctionne, mais il efface le presse-papiers de l'utilisateur, est limité à Windows et pourrait être interrompu par toute mise à jour de l'application Desktop. Ce n'est pas une solution viable pour des pipelines de production.
Ce que la limitation signifie réellement
Le problème de fond n'est pas un bug logiciel ; il s'agit d'une surface non documentée qui traite les permissions de fichiers comme une propriété de l'application hôte plutôt que comme un simple indicateur du système de fichiers. Dans le CLI, l'agent hérite de l'accès en lecture du processus, de sorte que tout fichier visible par la session peut être téléchargé. Dans l'application Desktop, l'environnement d'exécution (runtime) isole la vue du système de fichiers de l'agent, n'autorisant que les fichiers répondant aux critères cachés de « partage ».
Comme la restriction est intégrée à l'architecture de l'application Desktop, les solutions de contournement reposant sur la manipulation de l'interface utilisateur ou sur des dossiers temporaires n'ont pas fonctionné.
Pistes de solutions fiables
Si un flux de travail nécessite des téléchargements de fichiers, les développeurs disposent de trois options fiables :
- Exécuter l'agent depuis le CLI. Cet environnement respecte les permissions du système de fichiers de la session et effectue les téléchargements sans étapes supplémentaires.
- Utiliser l'extension VS Code. L'extension reproduit le modèle de permissions du CLI, permettant aux agents de lire et de télécharger les fichiers que l'éditeur peut voir.
- Laisser l'étape de téléchargement à un humain. Une action manuelle rapide de deux minutes vaut mieux que des heures passées à concevoir une solution de contournement fragile.
Le choix des deux premières options consiste à exécuter l'automatisation en dehors de l'application Desktop.
L'essentiel
La capacité de téléchargement de fichiers dans les agents Claude AI n'est pas universelle selon l'environnement d'exécution ; elle dépend de la manière dont l'agent est lancé. Pour une automatisation fiable, considérez le CLI et l'extension VS Code comme les seuls environnements respectant de manière constante les permissions du système de fichiers. Lors de l'utilisation de l'application Desktop, prévoyez un passage de relais manuel ou acceptez un bidouillage fragile via le presse-papiers. Ignorer cette distinction peut transformer un script de bout en bout fluide en un exercice de débogage coûteux.
