Obsidian et ses fonctions

Obsidian CLI : piloter son coffre en ligne de commande

L’Obsidian CLI est l’interface en ligne de commande officielle d’Obsidian. Depuis un terminal, des commandes comme obsidian daily, obsidian search query="réunion" ou obsidian create name="Voyage" pilotent l’application Obsidian, qui doit être ouverte. Vous pouvez la lancer vous-même pour automatiser vos notes, ou la confier à un agent IA capable d’exécuter des commandes sur votre ordinateur, comme Claude Code ou Codex.

La CLI donne à l’agent la main sur l’application, pas un périmètre limité. Selon l’aide officielle, tout ce que vous faites dans Obsidian peut se faire par la ligne de commande, y compris créer, modifier et supprimer des notes. Pour décider ce qu’un agent peut lire ou écrire avant de lui brancher quoi que ce soit, partez du guide Obsidian et agents IA ; cette page décrit l’outil lui-même.

Illustration : sur un établi sombre, un levier de cuivre pousse une tige qui ouvre le tiroir central d'un meuble à fiches.
La ligne de commande pilote l’application entière, pas un dossier choisi.
Sommaire 9 sections
  1. Installer l’Obsidian CLI
  2. Lire une commande : paramètres, indicateurs, coffre cible
  3. Les commandes utiles pour un humain
  4. Ce que chaque commande peut modifier
  5. Utiliser l’Obsidian CLI avec un agent IA
  6. Quand la CLI ne convient pas
  7. Les plugins ajoutent leurs propres commandes
  8. Questions fréquentes
  9. Sources et vérification

Installer l’Obsidian CLI

Il faut le programme d’installation d’Obsidian en version 1.12.7 ou plus récente. La version de l’installeur s’affiche dans les réglages d’Obsidian, onglet Général, à côté de celle de l’application ; si elle est trop ancienne, téléchargez Obsidian depuis le site officiel et installez-le par-dessus.

  1. Ouvrez les réglages d’Obsidian, onglet Général.
  2. Activez Interface en ligne de commande (« Command line interface » dans l’interface en anglais).
  3. Suivez l’invite pour enregistrer la commande.
  4. Redémarrez votre terminal : l’enregistrement modifie la variable PATH, qui n’est prise en compte qu’après redémarrage.
  5. Vérifiez avec obsidian version, puis obsidian help pour la liste des commandes.

Ce qui change selon le système, d’après l’aide :

  • Windows : un petit relais, Obsidian.com, est installé à côté d’Obsidian.exe. Il renvoie les réponses d’Obsidian au terminal.
  • macOS : l’enregistrement crée un lien /usr/local/bin/obsidian. Il demande des droits d’administrateur.
  • Linux : le binaire est copié dans ~/.local/bin/obsidian. Vérifiez que ce dossier figure dans votre PATH.

Obsidian doit tourner pour que la CLI réponde. Si l’application est fermée, la première commande la lance. Sous Windows, la CLI ne parle qu’à une seule instance par utilisateur Windows : le relais passe par un tube nommé obsidian-cli-<votre nom d'utilisateur>. Si vous ouvrez une deuxième instance d’Obsidian avec un autre dossier de données, les commandes continuent d’atteindre la première (constaté le 9 novembre 2026 avec Obsidian 1.15.0). Dans cette même application, vault=<nom> vise le coffre choisi parmi ceux qu’Obsidian connaît, même si un autre coffre est ouvert : le 10 novembre 2026, avec Obsidian 1.15.1, toutes mes commandes portant vault= ont atteint une copie de démonstration pendant que mon coffre de travail restait ouvert à côté. La limite d’une seule instance ne concerne donc que le cas d’un second Obsidian lancé avec un autre dossier de données.

Trois commandes de lecture de l'Obsidian CLI sur le coffre de démonstration : version d'Obsidian, chemin du coffre ciblé, puis liste des notes qui contiennent « réunion ».
Lecture seule, avec vault= en premier paramètre pour viser le coffre de démonstration pendant que mon coffre de travail restait ouvert (Obsidian 1.15.1, installeur 1.14.5, Windows 11, 10 novembre 2026). search ne renvoie que des chemins.

Lire une commande : paramètres, indicateurs, coffre cible

Une commande prend des paramètres (nom=valeur, avec des guillemets si la valeur contient des espaces) et des indicateurs (un mot seul, sans valeur, comme open ou overwrite).

# Créer une note nommée « Note » et l'ouvrir
obsidian create name=Note content="Bonjour" open
Création, relecture puis suppression d'une note « Note » dans le coffre de démonstration avec l'Obsidian CLI.
L’exemple ci-dessus, lancé dans une copie de démonstration avec vault= en premier paramètre, puis relu et supprimé (Obsidian 1.15.1, 10 novembre 2026). permanent évite la corbeille : dans ce coffre, delete sans cet indicateur aurait envoyé la note dans la corbeille de Windows.

Trois règles à retenir :

  • Le coffre visé. Si le dossier courant de votre terminal est un coffre, c’est celui-là ; sinon, c’est le coffre actif. Pour viser un coffre précis, placez vault=<nom> en tout premier : obsidian vault="Mon coffre" daily.
  • La note visée. file=<nom> retrouve une note comme un lien interne, par son nom, sans chemin ni extension. path=<chemin> exige le chemin exact depuis la racine du coffre, par exemple path="Dossier/Note.md". Sans l’un ni l’autre, la commande s’applique à la note active.
  • Plusieurs lignes. Dans un contenu, \n produit un saut de ligne et \t une tabulation.

Sans commande, obsidian ouvre une interface en terminal avec aide, autocomplétion et historique.

Les commandes utiles pour un humain

Ces exemples sont ceux de l’aide officielle :

# Ouvrir la note du jour
obsidian daily

# Ajouter une tâche à la note du jour
obsidian daily:append content="- [ ] Acheter du pain"

# Chercher dans le coffre
obsidian search query="réunion"

# Lire la note active
obsidian read

# Lister les tâches de la note du jour
obsidian tasks daily

# Créer une note à partir d'un modèle
obsidian create name="Voyage à Paris" template=Voyage

# Lister les tags avec leur nombre d'occurrences
obsidian tags counts

# Comparer deux versions d'un fichier
obsidian diff file=README from=1 to=3

Depuis la version 1.15 d’Obsidian (2 novembre 2026), les commandes d’ajout acceptent un titre de section (heading=) pour insérer du contenu sous un titre précis, avec un contrôle des sauts de ligne autour du texte ajouté.

Ce que chaque commande peut modifier

La liste complète des commandes est dans l’aide. Pour un agent, la question utile est de savoir lesquelles écrivent. Voici un classement établi à partir de la documentation officielle, consultée le 9 novembre 2026 :

NiveauCommandes (exemples)Ce qu’elles font
Lectureread, search, search:context, files, folders, file, outline, backlinks, links, tags, tasks, properties, property:read, bases, base:query, vault, versionRenvoient du contenu ou des informations sans toucher aux notes
Écriture dans les notescreate, append, prepend, daily:append, daily:prepend, property:set, property:remove, task (avec toggle, done, todo ou status), template:insert, unique (dépend d’un module du coffre : refusée le 10 novembre 2026 dans ma copie de démonstration)Créent ou modifient des notes, leurs propriétés ou leurs tâches
Écrasement et déplacementcreate … overwrite, move, rename, deleteRemplacent, déplacent ou suppriment ; delete envoie à la corbeille par défaut, permanent la saute
Restauration de versionshistory:restore, sync:restoreRemettent une ancienne version d’un fichier
Application et pluginsplugin:install, plugin:enable, plugin:uninstall, command id=…, reload, restartInstallent ou désactivent des plugins, exécutent n’importe quelle commande d’Obsidian
Outils pour développeurseval code=…, dev:cdp, dev:dom, dev:screenshot, devtoolseval exécute du JavaScript dans l’application ; les autres inspectent ou pilotent l’interface

L’aide présente les commandes pour développeurs comme un moyen de laisser des outils de programmation assistés par agent tester et déboguer. L’aide consultée ne décrit aucun système de permissions par commande : un agent qui peut lancer obsidian accède à tout ce que la CLI expose pour le coffre visé.

Utiliser l’Obsidian CLI avec un agent IA

Un agent comme Claude Code ou Codex lance des commandes dans un terminal. Pour lui, l’Obsidian CLI est une commande de plus : il envoie obsidian read file="Projet" et reçoit le texte de la note. L’intérêt est de passer par l’application, qui connaît les liens, les propriétés, les Bases et les plugins actifs.

Ce qu’il faut préparer

  • Un coffre de test d’abord. L’agent écrit dans de vrais fichiers.
  • Le coffre nommé explicitement, avec vault=<nom> en premier paramètre, pour qu’une commande lancée depuis un autre dossier ne tombe pas sur le coffre actif.
  • La lecture avant l’écriture. Commencez par les commandes de la ligne « Lecture » du tableau.
  • Une consigne qui interdit les commandes aux effets les plus larges (eval, plugin:install, command, delete) tant que vous n’en avez pas besoin.
  • Une relecture des changements avant de continuer : l’historique de fichiers d’Obsidian et la commande diff aident à comparer, mais ils ne remplacent pas une copie de sauvegarde.

Ce que j’ai observé dans mon coffre

Ces observations viennent de mes notes de travail et d’un essai du 10 novembre 2026, sur un seul poste Windows ; elles ne disent rien des autres systèmes.

  • 3 mai 2026, Obsidian CLI 1.12.7 sous Windows, depuis Codex App : version, vault info=path, read, backlinks, properties, property:read, bases, base:query et tasks total ont répondu comme attendu. search ne renvoie que des chemins, sans extraits, et s’est montrée moins utile que ma recherche habituelle. Pour lire une propriété, property:read demande name=, pas key=. Source : mes notes d’audit de la CLI et d’un serveur MCP.
  • 8 octobre 2026, Obsidian 1.14.4 (installeur 1.13.7) : la lecture d’une petite note par la CLI a pris 81 ms en médiane, celle d’une grande 135,5 ms, process compris, sur 7 essais par taille. Le contenu était identique à celui du disque sur les 14 lectures. Mesure locale, sur un poste : ce n’est pas un engagement de performance. Même source.
  • 14 octobre 2026, Claude Code a piloté la CLI avec le plugin Excalidraw : création de dessins, corrections, exports. Deux pièges relevés. Sous Windows, une commande peut s’exécuter sans rien afficher ; il faut alors appeler Obsidian.com par son chemin complet. Un argument d’environ 4 Ko ou plus passé directement dans la commande a fait planter le processus principal d’Obsidian ; la parade a été de passer la requête par un fichier. Source : Excalidraw CLI : faire dessiner un agent IA dans Obsidian.
  • 10 novembre 2026, Obsidian 1.15.1 (installeur 1.14.5) sous Windows, sur une copie de démonstration ouverte à côté de mon coffre de travail, chaque commande précédée de vault=. Toutes les commandes de lecture du tableau ont répondu, version compris. Côté écriture, create, append, prepend, daily:append, property:set, property:remove, task, move, rename et delete … permanent ont fonctionné, ainsi que plugin:disable, plugin:enable, command id=… et eval. Deux constats : unique a été refusée (« may require a plugin to be enabled ») ; create a placé la note à la racine du coffre, sans tenir compte du dossier réglé pour les nouvelles notes. Le silence relevé le 14 octobre ne s’est pas reproduit. Je n’ai lancé ni reload, ni restart, ni plugin:install, ni les restaurations de versions.

Je n’ai pas testé la CLI sous macOS ni sous Linux, ni avec un agent sans consignes. Le 9 novembre 2026, j’avais relu la liste des commandes dans le code d’Obsidian 1.15.0 : toutes celles du tableau y figurent. Le 10 novembre, j’en ai exécuté la plupart avec la 1.15.1 (voir ci-dessus).

Où je l’utilise, et où je ne l’utilise pas

Ma règle de travail, écrite dans les instructions de mon coffre (version en vigueur le 9 novembre 2026) : la CLI est un capteur rapide de l’application (version, propriétés, requête de Base, plugins, devtools). Elle ne décide ni du rangement ni du frontmatter d’une note. Pour retrouver un terme exact, j’utilise une recherche de texte brut ; pour lire et modifier des notes sous contrôle, un serveur MCP, Optimike Obsidian MCP, dont les écritures passent par un plan, une application, puis un contrôle du résultat. Si une commande de la CLI sort peu ou semble ambiguë, je passe à l’autre voie.

Pour choisir un serveur MCP, voyez le comparatif des MCP Obsidian ; pour brancher un agent à votre coffre, le guide de connexion à Claude, Codex ou ChatGPT.

Quand la CLI ne convient pas

  • Obsidian doit tourner. Sans application de bureau en cours d’exécution, il n’y a rien à piloter.
  • Pas de contrôle fin des droits, d’après l’aide consultée. Si vous voulez qu’un agent lise un dossier sans pouvoir écrire ailleurs, la CLI seule ne le prévoit pas ; il faut le cadrer dans votre consigne et dans votre choix de coffre.
  • Le résultat dépend de la version. Elle exige l’installeur 1.12.7 ou plus ; les commandes évoluent avec les versions.

Pour synchroniser sans l’application de bureau, Obsidian propose un outil distinct, Obsidian Headless, annoncé en bêta ouverte. L’aide officielle le décrit comme un client autonome pour les services Obsidian (Sync et Publish), qui exige Node.js 22 ou plus, et qui sert notamment à « donner à des outils d’agent l’accès à un coffre sans accès à tout l’ordinateur ». À ne pas confondre avec la CLI, qui pilote l’application.

Les plugins ajoutent leurs propres commandes

Un plugin peut ajouter ses commandes à la CLI. Le plugin Excalidraw le fait depuis sa version 2.29.0 : ses commandes commencent par obsidian-excalidraw-plugin:, et un agent peut s’en servir pour créer ou corriger un dessin relié à vos notes. Le tutoriel complet est dans le guide Excalidraw CLI.

Questions fréquentes

L’Obsidian CLI est-elle gratuite ?

L’aide officielle ne mentionne ni prix ni abonnement pour la CLI. Elle exige l’installeur 1.12.7 ou plus récent et l’application ouverte.

Peut-on l’utiliser sans ouvrir Obsidian ?

Non. Si Obsidian est fermé, la première commande le lance. Pour synchroniser sans l’application, il existe Obsidian Headless, un autre outil.

Un agent peut-il supprimer mes notes avec la CLI ?

Oui, la commande delete existe. Elle envoie à la corbeille par défaut ; l’indicateur permanent supprime sans passer par la corbeille. Limitez l’agent à un coffre de test et interdisez ces commandes dans votre consigne.

La CLI remplace-t-elle un serveur MCP ?

Non, ce sont deux voies différentes. La CLI pilote l’application depuis un terminal ; un serveur MCP expose des outils à l’agent. Dans mon coffre, je les emploie ensemble, avec des rôles distincts (voir plus haut).

Sources et vérification

Dernière vérification : 10 novembre 2026, par un essai des commandes avec Obsidian 1.15.1 sur une copie de démonstration, après la lecture de la documentation officielle et du code d’Obsidian 1.15.0 le 9 novembre. Les observations sont datées et bornées plus haut. Prochaine revue : 9 décembre 2026, ou à la prochaine version d’Obsidian qui touche la CLI.

La lettre Optimike

Ce que je teste sur Obsidian et l’IA, avant que ça devienne un guide.

Ce qui marche, ce qui casse. Vous vous désinscrivez quand vous voulez.

Votre adresse sert uniquement à l’envoi de la lettre d’Optimike. Données personnelles