Le hf CLI, l'outil en ligne de commande de Hugging Face Hub, vient d'être repensé pour les humains comme pour les agents IA. Décryptage d'une révolution qui change tout.

LE HF CLI, C'EST QUOI ?

Imaginez un terminal qui vous permet de tout faire sur Hugging Face Hub sans quitter votre clavier : télécharger des modèles, des datasets, des espaces de travail ; créer et gérer des dépôts, des branches, des tags ; lancer des jobs sur l'infrastructure de Hugging Face ; ou encore gérer des buckets, des collections et des endpoints d'inférence. Le tout, depuis une simple ligne de commande.

Le hf CLI (pour Command Line Interface) est l'entrée officielle en ligne de commande vers Hugging Face Hub. Si vous pouvez tout faire avec le SDK Python, vous pouvez désormais tout faire avec votre terminal. Mais ce qui change aujourd'hui, c'est qu'il a été entièrement repensé pour fonctionner aussi bien avec les humains qu'avec les agents IA qui codent à votre place.

POURQUOI LES AGENTS IA UTILISENT-ILS LE HF CLI ?

Les agents comme Claude Code, Codex ou Cursor sont devenus des utilisateurs majeurs de Hugging Face Hub. Ces assistants intelligents effectuent des tâches complexes : entraînement de modèles, nettoyage de datasets, création de démos sous forme d'espaces de travail. Et pour communiquer avec le Hub, ils utilisent le hf CLI.

Depuis avril 2026, Hugging Face suit l'utilisation du Hub par ces agents. Le hf CLI (et le SDK Python sur lequel il repose) détecte automatiquement quand un agent IA est à l'œuvre en lisant les variables d'environnement qu'ils définissent : CLAUDECODE ou CLAUDE_CODE pour Claude Code, CODEX_SANDBOX pour Codex, et d'autres comme CURSOR, GEMINI, PI, ou simplement AI_AGENT pour les autres.

Claude Code et Codex représentent à eux seuls plus de 90% des utilisateurs agents, avec respectivement 40 000 utilisateurs distincts et près de 49 millions de requêtes pour le premier, et des chiffres similaires pour le second.

DEUX AUDIENCES, DEUX BESOINS DIFFÉRENTS

Un humain et un agent IA n'attendent pas la même chose d'une ligne de commande. Pour un humain, l'expérience doit être visuelle et intuitive : des tableaux colorés, des colonnes bien alignées, des informations tronquées pour s'adapter à la taille de l'écran, des symboles comme un ✅ vert pour indiquer le succès, ou des barres de progression. Pour un agent IA, c'est l'inverse : il veut des données brutes, non tronquées, structurées pour être facilement analysées, sans couleur ni formatage superflu.

Prenons un exemple concret avec la commande hf models ls qui liste les modèles. Voici ce que voit un humain :

> hf models ls --author Qwen --sort downloads --limit 3
ID                       CREATEDAT DOWNLOADS LIBRARYNAME LIKES PIPELINE_TAG    PRIVATE TAGS
------------------------ ---------- --------- ------------ ----- --------------- ------- -------------------------
Qwen/Qwen3-0.6B          2025-04-27  21156913 transformers  1285 text-generation         transformers, safetens.
Qwen/Qwen2.5-1.5B-Ins. 2024-09-17  15143953 transformers   725 text-generation         transformers, safetens.
Qwen/Qwen3-4B            2025-04-27  14808352 transformers   625 text-generation         transformers, safetens.
Hint: Use --no-truncate or --format json to display full values.

Et voici ce que reçoit un agent IA, avec le même ordre :

$ hf models ls --author Qwen --sort downloads --limit 3
id      createdat      downloads       libraryname    likes   pipeline_tag    private tags
Qwen/Qwen3-0.6B 2025-04-27T03:40:08+00:00       21156913        transformers    1285    text-generation False   ['transformers', 'safetensors', 'qwen3', 'text-generation', 'conversational', 'arxiv:2505.09388', 'basemodel:Qwen/Qwen3-0.6B-Base', 'basemodel:finetune:Qwen/Qwen3-0.6B-Base', 'license:apache-2.0', 'text-generation-inference', 'endpoints_compatible', 'deploy:azure', 'region:us']
Qwen/Qwen2.5-1.5B-Instruct      2024-09-17T14:10:29+00:00       15143953        transformers    725     text-generation False['transformers', 'safetensors', 'qwen2', 'text-generation', 'chat', 'conversational', 'en', 'arxiv:2407.10671', 'basemodel:Qwen/Qwen2.5-1.5B', 'basemodel:finetune:Qwen/Qwen2.5-1.5B', 'license:apache-2.0', 'text-generation-inference', 'endpoints_compatible', 'deploy:azure', 'region:us']
Qwen/Qwen3-4B   2025-04-27T03:41:29+00:00       14808352        transformers    625     text-generation False   ['transformers', 'safetensors', 'text-generation', 'arxiv:2309.00071', 'arxiv:2505.09388', 'basemodel:Qwen/Qwen3-4B-Base', 'basemodel:finetune:Qwen/Qwen3-4B-Base', 'license:apache-2.0', 'endpoints_compatible', 'deploy:azure', 'region:us']

L'humain obtient un tableau bien présenté, tronqué pour s'adapter à l'écran, avec des indices pour voir plus de détails. L'agent, lui, reçoit des données brutes au format TSV (Tab-Separated Values), avec tous les identifiants complets, des horodatages ISO, et tous les tags, sans rien omettre. Aucun code ANSI, aucune couleur, juste des données pures et structurées.

Le hf CLI gère cette dualité en proposant plusieurs formats de sortie : human (par défaut pour les humains), agent (pour les IA), json (pour les scripts), ou quiet (pour les pipelines). Le format est automatiquement détecté, mais vous pouvez le forcer avec l'option --format.

LES INDICES POUR PASSER À L'ACTION SUIVANTE

Les commandes du hf CLI ne s'exécutent presque jamais seules. Elles s'enchaînent naturellement : on crée un dépôt, puis on y ajoute des fichiers ; on lance un job, puis on consulte ses logs. Pour faciliter cette continuité, le hf CLI ajoute désormais des indices à la fin de chaque commande réussie, indiquant exactement quelle sera la prochaine étape à exécuter.

Par exemple, si vous lancez un job en arrière-plan avec hf jobs run --detach, le CLI vous indique non seulement que le job a démarré, mais aussi son identifiant et l'URL pour consulter ses logs :

$ hf jobs run --detach python:3.12 python train.py
✓ Job started
  id: 6f3a1c2e9b
  url: https://huggingface.co/jobs/celinah/6f3a1c2e9b
Hint: Use hf jobs logs 6f3a1c2e9b to fetch the logs.

Pour un humain, c'est une commodité. Pour un agent IA, c'est une voie ferrée : la prochaine action est déjà nommée, paramétrée avec les bons identifiants, et prête à être exécutée. L'agent n'a plus besoin de réfléchir pour déterminer la suite, il peut enchaîner immédiatement.

Les erreurs fonctionnent de la même manière. Au lieu de simplement échouer, le CLI indique la solution à appliquer :

Error: Not logged in. Run hf auth login first.

Tous ces indices, avertissements et messages d'erreur sont envoyés vers le flux d'erreur (stderr), tandis que les données utiles restent dans le flux standard (stdout). Ainsi, les agents IA peuvent parser uniquement les données dont ils ont besoin sans être perturbés par les messages d'aide.

COMMANDES NON BLOQUANTES ET SÛRES À RÉEXÉCUTER

Les agents IA ne peuvent pas appuyer sur des touches pour confirmer une action. Le hf CLI a donc été conçu pour ne jamais attendre une interaction humaine. Pour les commandes destructrices (comme la suppression d'un dépôt), le CLI affiche un message d'erreur clair avec la solution pour contourner la confirmation :

# En mode agent : une commande destructive sans --yes refuse de s'exécuter
# mais propose la solution dans le message d'erreur
$ hf repos delete my-org/old-model
Error: You are about to permanently delete model 'my-org/old-model'. Proceed? Use --yes to skip confirmation.

L'option --yes permet de sauter la confirmation, et les agents peuvent l'utiliser pour éviter les interruptions. Toutes les commandes sont conçues pour être sûres à réexécuter : si vous relancez une commande qui a déjà fonctionné, elle ne créera pas de doublon. Par exemple, hf repos create --exist-ok ne fera rien si le dépôt existe déjà.

Pour les commandes qui déplacent des données (comme le téléchargement), une option --dry-run permet de visualiser ce qui sera transféré avant de lancer l'opération. Utile pour éviter les téléchargements massifs ou les synchronisations non désirées :

$ hf download deepseek-ai/DeepSeek-V4-Pro config.json --dry-run
[dry-run] Will download 1 files (out of 1) totalling 1.8K.
file         size
config.json  1.8K

COMMANDES PRÉVISIBLES ET DÉCOUVRABLES

Le hf CLI a été conçu pour être explorable et prévisible. Tapez simplement hf pour voir les groupes de ressources disponibles. Ajoutez --help à n'importe quelle commande pour obtenir une aide détaillée, toujours terminée par des exemples concrets et copiables :

$ hf models ls --help
.
Examples
  $ hf models ls --sort downloads --limit 10
  $ hf models ls --search "qwen" --author Qwen
  $ hf models ls Qwen/Qwen3-4B --tree

La structure des commandes est cohérente : ressource + verbe. Les alias évidents sont disponibles (list ou ls, remove ou rm). Une fois qu'un agent a appris une commande, il peut deviner les autres. De plus, les options composables permettent de personnaliser la sortie selon vos besoins : -q pour une sortie minimaliste (un identifiant par ligne), --json pour une sortie exploitable par des Outils comme jq.

$ hf models ls --author Qwen -q | head -3
Qwen/Qwen3-0.6B
Qwen/Qwen2.5-1.5B-Instruct
Qwen/Qwen3-4B

BENCHMARK : LE HF CLI EST-IL VRAIMENT PLUS EFFICACE ?

Pour mesurer l'efficacité réelle du hf CLI face aux autres méthodes (comme curl ou le SDK Python), Hugging Face a conçu un banc d'essai avec 18 tâches non triviales à réaliser sur le Hub. Ces tâches reflètent ce que les utilisateurs demandent vraiment :

  • Agréger les modèles d'une organisation tendance
  • Inspecter les fichiers d'un dépôt et leurs tailles
  • Télécharger un dossier avec des règles d'inclusion/exclusion
  • Supprimer des fichiers
  • Copier des fichiers entre dépôts
  • Ouvrir une pull request pour ajouter une licence
  • Créer un dépôt avec une branche et un tag
  • Synchroniser et nettoyer un bucket
  • Construire une collection

Chaque tâche a été exécutée 10 fois avec trois outils différents : le hf CLI, curl, et le SDK Python. Les agents testés étaient Claude Code avec Sonnet 4.6 et OpenAI Codex avec GPT-5.5.

Sur les tâches complexes en plusieurs étapes, le hf CLI utilise jusqu'à 6 fois moins de tokens que les autres méthodes.

Les résultats montrent que le hf CLI est bien plus efficace, surtout sur les tâches complexes. Voici ce qu'il faut retenir :

Sur les tâches complexes et multi-étapes, le hf CLI utilise entre 2,4 et 6 fois moins de tokens que curl ou le SDK Python.

Pour les tâches simples de lecture (comme compter les lignes d'un dataset), curl et le SDK sont parfois plus légers. Mais dès que la tâche implique plusieurs étapes dépendantes, l'agent doit construire manuellement toute la chaîne d'appels REST (ou fouiller dans le SDK), ce qui fait exploser le nombre de tokens utilisés. Le hf CLI permet à l'agent d'exprimer la tâche avec quelques commandes de haut niveau, réduisant ainsi la complexité.

Sur le modèle plus performant (GPT-5.5), curl et le SDK parviennent à terminer les tâches, mais restent très gourmands en tokens : entre 1,3 et 1,8 fois plus que le hf CLI. Sur le modèle moins performant (Sonnet), curl et le SDK échouent même à terminer certaines parties des tâches, notamment les écritures.

LE HF-CLI SKILL : LA BIBLE DES COMMANDES POUR LES AGENTS

Pour aller encore plus loin, Hugging Face propose un skill (une compétence) pour les agents IA. Ce skill est une référence compacte de toute la surface de commande du hf CLI, générée automatiquement à partir de l'arbre des commandes en ligne. Il contient pour chaque commande : sa signature, une brève description, et les flags importants. Le tout est regroupé par ressource, avec un petit glossaire des options courantes.

Le skill est conçu pour être concis : il saute les flags évidents pour rester léger et ne pas alourdir le contexte. Il est régénéré à chaque nouvelle version du CLI. Pour l'afficher, utilisez hf skills preview. Pour l'installer :

# Pour Codex, Cursor, OpenCode, Pi et autres agents qui chargent les skills depuis .agents/skills
hf skills add

# Pour ajouter le skill de Claude Code également
hf skills add --claude

Qu'apporte ce skill ? Principalement, il évite à l'agent de devoir chercher dans l'aide pour trouver la bonne commande et ses arguments. Voici ce que ça change en pratique :

Avec le skill, le nombre de commandes par tâche passe d'environ 10 à 7, soit une réduction de 30% des appels d'outils.

L'agent n'a plus besoin de sonder l'aide pour comprendre comment utiliser le CLI. Le skill ne réduit pas directement le nombre de tokens utilisés (car il ajoute un contexte fixe), mais il permet à l'agent de consacrer plus de temps à exécuter la tâche plutôt qu'à comprendre l'outil. Cela peut être particulièrement utile pour utiliser le hf CLI avec des modèles locaux.

Dans les tests, chaque tâche a été exécutée dans une session fraîche, donc le coût du skill a été compté à chaque fois. Dans une session réelle multi-tâches, ce coût s'amortit (l'agent apprend une fois la surface de commande), ce qui améliore encore l'efficacité. Cette mesure n'a pas été incluse dans les benchmarks.

COMMENT ESSAYER LE HF CLI POUR VOS AGENTS ?

Hugging Face a conçu ce benchmark parce qu'il pense que c'est important. Les agents deviennent de vrais utilisateurs du Hub : ils entraînent des modèles, construisent et nettoient des datasets, et livrent des démos sous forme d'espaces de travail, presque toujours au nom d'une personne. Un Hub qui fonctionne bien pour les agents est aussi un Hub qui fonctionne mieux pour les personnes qui les utilisent. Plus les outils d'un agent sont bons, plus il peut en faire pour vous.

Si votre agent interagit avec Hugging Face Hub, il est recommandé de lui donner accès au hf CLI. Voici comment l'installer et le configurer :

# Sur macOS ou Linux
curl -LsSf https://hf.co/cli/install.sh | bash

# Sur Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://hf.co/cli/install.ps1 | iex"

Ensuite, donnez-lui accès au skill pour qu'il connaisse toute la surface de commande dès la première utilisation :

# Pour Codex, Cursor, OpenCode, Pi et autres agents qui chargent les skills depuis .agents/skills
hf skills add

# Pour ajouter le skill de Claude Code également
hf skills add --claude

Assurez-vous que vous êtes connecté (hf auth login), puis donnez à votre agent une instruction comme :

Utilise hf pour lister mes modèles, datasets et espaces Hugging Face Hub.
Analyse comment j'utilise actuellement le Hub et suggère quelques façons de m'aider.

EN RÉSUMÉ : POURQUOI CE CHANGEMENT EST IMPORTANT ?

Le hf CLI repensé pour les agents IA représente une avancée majeure pour l'écosystème Hugging Face Hub. En optimisant les interactions des agents avec le Hub, il réduit considérablement le nombre de tokens utilisés, améliore la fiabilité, et rend les tâches plus simples à enchaîner. Pour les humains, il conserve une expérience intuitive et visuelle. Pour les agents, il offre une interface structurée et prévisible, adaptée à leur mode de fonctionnement.

Avec des agents comme Claude Code et Codex qui deviennent des utilisateurs incontournables du Hub, cette optimisation est cruciale. Elle permet non seulement de réaliser des économies de tokens significatives, mais aussi de rendre les agents plus efficaces et plus fiables dans leurs tâches quotidiennes.

Le message est clair : si vous utilisez des agents IA pour interagir avec Hugging Face Hub, le hf CLI est l'outil qu'il vous faut. Il vous fera gagner du temps, des tokens, et surtout, de la sérénité.

CE QU'IL FAUT RETENIR

Le hf CLI optimise les interactions des agents IA avec Hugging Face Hub, réduisant jusqu'à 6 fois le nombre de tokens utilisés sur les tâches complexes.

Il s'adapte automatiquement aux besoins des humains (affichage visuel) et des agents (données brutes), avec des formats de sortie dédiés.

Les indices de commande permettent aux agents d'enchaîner les actions sans réflexion supplémentaire, comme une voie ferrée.

Les commandes sont non bloquantes et sûres à réexécuter, avec des options comme --yes et --dry-run pour éviter les erreurs.

Le skill hf CLI fournit une référence compacte des commandes, réduisant de 30% le nombre d'appels d'outils nécessaires.

Sources :
  • Hugging Face Blog

L'indépendance de CLODCO est votre garantie.

Pour que l'actualité de l'IA reste sans filtre et sans concession, votre soutien est indispensable. Votre contribution est le seul moteur de notre liberté éditoriale.

Soutenir CLODCO