Les terminaux d'IDE de VS Code, Cursor et JetBrains ne reçoivent aucune notification de bureau de Claude Code par défaut, car Claude Code n'en envoie qu'à iTerm2, Ghostty et Kitty. Pour être alerté, choisis "preferredNotifChannel": "terminal_bell" et laisse l'IDE gérer la cloche, ou ajoute un hook Notification dans ~/.claude/settings.json qui affiche une notification de bureau ou envoie un push. Les hooks se déclenchent aussi bien dans le terminal intégré que dans le panneau de chat de l'extension VS Code, car les deux lisent le même fichier de réglages.
01Pourquoi l'IDE reste silencieux
L'alerte intégrée de Claude Code dépend du terminal dans lequel il tourne. Avec le réglage par défaut, il n'affiche une notification de bureau que dans iTerm2, Ghostty et Kitty, et la documentation terminal d'Anthropic cite le terminal intégré de VS Code parmi ceux qui n'en reçoivent pas. Les terminaux JetBrains sont dans le même cas. Le guide de la cloche du terminal explique chaque valeur de preferredNotifChannel.
Il y a deux façons de lancer Claude Code dans VS Code et Cursor, et la différence compte :
claude dans le terminal intégré~/.claude/settings.json~/.claude/settings.json (le même fichier)Les IDE JetBrains (IntelliJ IDEA, PyCharm, WebStorm, GoLand, Android Studio et les autres) fonctionnent comme la colonne de droite : le plugin Claude Code lance claude dans le terminal intégré de l'IDE et s'y connecte.
02Option 1 : la cloche du terminal
Si claude tourne dans un terminal intégré, ajoute ceci à ~/.claude/settings.json :
{
"preferredNotifChannel": "terminal_bell"
}
Claude Code émet alors le caractère de cloche quand il a besoin de toi. La suite dépend de l'IDE. VS Code et Cursor gèrent la cloche du terminal via leurs réglages de signaux d'accessibilité ; cherche « terminal bell » dans les Settings pour choisir un son. Dans les IDE JetBrains, regarde les réglages du terminal de ta version. Une cloche passe facilement inaperçue sans casque ou avec l'IDE en arrière-plan, donc la plupart des gens passent à l'option 2.
03Option 2 : un Notification hook
Un hook exécute la commande de ton choix et fonctionne dans tous les IDE, dans le terminal comme dans le panneau de chat de VS Code. Celui-ci affiche une notification desktop sur macOS :
{
"hooks": {
"Notification": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "osascript -e 'display notification \"Claude Code needs your attention\" with title \"Claude Code\"'"
}
]
}
]
}
}
Sur Linux, utilise notify-send 'Claude Code' 'Claude Code needs your attention', et sur Windows une commande PowerShell ; le guide Linux et le guide Windows en proposent des versions testées. Si osascript n'affiche rien sur macOS, ouvre Réglages Système > Notifications et autorise les notifications pour Éditeur de script, l'app d'où proviennent les notifications osascript.
Dans l'extension VS Code, tu peux consulter les hooks sans ouvrir le fichier : ouvre la section Customize et sélectionne Hooks pour voir les hooks chargés dans la session, groupés par événement (Claude Code v2.1.269 ou plus récent).
Pour être prévenu dès que Claude a terminé, et pas seulement quand il attend, ajoute aussi un hook Stop. Le guide pour être notifié quand Claude a terminé montre les deux ensemble.
Le timing diffère dans l'extension VS Code
Dans un terminal, la notification permission_prompt attend que le prompt soit resté environ six secondes sans frappe, et chaque touche pressée la repousse. Dans l'extension VS Code (et Claude Desktop), la documentation d'Anthropic indique qu'elle se déclenche environ six secondes après la demande de Claude, sans être repoussée pendant que tu tapes, et ne se déclenche pas du tout si tu réponds avant. Si ça te dérange pendant que tu travailles dans le panneau, définis la variable d'environnement CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS=1 pour la désactiver à cet endroit. Le guide du Notification hook liste tous les types de notification et quand ils se déclenchent.
04Fenêtres distantes : SSH, WSL, dev containers et JetBrains Remote Development
C'est là que les notifications dans l'IDE coincent le plus souvent. Quand une fenêtre VS Code ou Cursor est connectée à un hôte SSH, à WSL ou à un dev container, Claude Code tourne sur ce système et lit le ~/.claude/settings.json de là-bas, pas celui de ton laptop. Tes hooks s'y exécutent aussi. Une commande desktop comme osascript ou notify-send n'a alors aucun bureau où s'afficher, et échoue en silence.
JetBrains Remote Development, c'est pareil : le plugin Claude Code doit être installé sur l'hôte distant, et Claude Code tourne là-bas.
Ce qui marche à la place :
- WSL sous Windows : un hook peut appeler
powershell.exevia l'interop Windows, à condition qu'il soit dans lePATHde WSL. - Hôtes SSH et conteneurs : envoie l'alerte via le réseau vers quelque chose qui te parvient, comme ntfy ou un webhook Telegram, Slack ou Discord. Le guide SSH détaille les options.
05Utiliser un terminal externe avec /ide
Si tu veux la notification desktop intégrée, lance Claude Code dans iTerm2, Ghostty ou Kitty et connecte-le à l'IDE avec la commande /ide. L'affichage des diffs et le partage de sélection passent toujours par l'IDE, et les alertes viennent du terminal externe. Dans iTerm2, il faut d'abord activer ses réglages d'alerte, comme expliqué dans le guide de la cloche du terminal.
06Autres points utiles
- Shift+Enter : dans VS Code et Cursor, lance
/terminal-setupune fois pour que Shift+Enter insère un saut de ligne. Dans les terminaux JetBrains, ce n'est pas disponible ; utilise Ctrl+J, ou\puis Entrée. - Remote Control : le Remote Control d'Anthropic peut se lancer depuis l'extension VS Code avec
/remote-control, ce qui te permet de suivre la session dans l'app mobile Claude. Il a ses propres conditions d'abonnement et de connexion ; voir le comparatif. - Plusieurs fenêtres : si tu lances Claude Code dans plusieurs fenêtres d'IDE, mets le dossier du projet dans l'alerte pour savoir laquelle a besoin de toi. L'entrée du hook contient
cwd. Voir gérer plusieurs sessions.
07Où se situe Claude Code Notifier
Un hook Notification avec l'outil de notification de ta plateforme est une bonne solution gratuite si tu es devant l'IDE. Ça ne sert à rien quand tu es loin de l'écran, et ça ne te permet pas de répondre.
ccn de Claude Code Notifier est aussi un hook, donc il fonctionne dans les terminaux d'IDE comme dans n'importe quel autre terminal, sur Mac, Windows et Linux. Installé seul, il affiche une notification desktop quand Claude a terminé, a besoin d'une permission ou pose une question. Avec un téléphone appairé, tu peux autoriser une fois, autoriser pour la session ou refuser une demande de permission, choisir une réponse à la question de Claude et envoyer l'instruction suivante depuis ton téléphone. Si tu as tapé quelque chose dans les 30 dernières secondes, le terminal demande comme d'habitude et rien n'attend sur le téléphone. Les push vers le téléphone passent par un relais et non par le bureau local : si tu installes ccn sur la machine distante à laquelle ta fenêtre d'IDE est connectée, ton téléphone reçoit quand même les alertes. Claude Code Notifier est indépendant et n'est pas édité par Anthropic. Voir la page ccn et appairer un téléphone.
08FAQ
Pourquoi Claude Code ne me notifie pas dans VS Code ?
Le terminal intégré de VS Code ne reçoit pas la notification desktop intégrée de Claude Code. Définis "preferredNotifChannel": "terminal_bell" ou ajoute un hook Notification dans ~/.claude/settings.json, puis démarre une nouvelle session.
Les hooks fonctionnent-ils dans l'extension VS Code de Claude Code ?
Oui. Claude Code déclenche les mêmes événements de hook dans les extensions d'IDE que dans le terminal, et l'extension et la CLI partagent ~/.claude/settings.json. La section Customize de l'extension permet d'afficher et de modifier les hooks.
Est-ce que ça marche dans Cursor ?
Oui. Cursor peut installer la même extension Claude Code, et claude tourne dans son terminal intégré comme dans VS Code. Tout ce qui précède s'applique.
Mon hook marche en local mais pas dans une fenêtre Remote SSH. Pourquoi ?
Dans une fenêtre distante, Claude Code et ses hooks tournent sur la machine distante, qui n'a pas de bureau. Modifie ~/.claude/settings.json sur cette machine et utilise un push réseau comme ntfy plutôt qu'une commande de notification de bureau.