claude-code-notifier
fonctionnement guides faq
◐Français
English العربية Deutsch Español Français עברית Italiano 日本語 한국어 Nederlands Polski Português (Brasil) Русский Türkçe Tiếng Việt 简体中文 繁體中文
Commencer
Tous les guides

Notifications push Claude Code avec ntfy (à faire soi-même)

Mis à jour le 31 octobre 2026 · 6 min de lecture
sur cette page 01Étape 1 : choisis un topic et abonne-toi 02Étape 2 : un script de hook (Mac et Linux) 03Étape 3 : branche-le dans settings.json 04Windows (PowerShell) 05Garder ça privé 06Où se situe Claude Code Notifier 07FAQ

Pour recevoir des notifications push Claude Code avec ntfy, installe l'app ntfy sur ton téléphone, abonne-toi à un topic au nom difficile à deviner, puis ajoute un hook Claude Code qui lance curl -d "message" https://ntfy.sh/your-topic. Un hook Notification te prévient quand Claude a besoin d'une permission ou t'attend, et un hook Stop te prévient dès qu'un tour se termine. C'est gratuit, ça prend une dizaine de minutes et ça marche sur Mac, Windows et Linux.

01Étape 1 : choisis un topic et abonne-toi

ntfy ne demande aucune inscription. Un topic est créé la première fois que quelqu'un y publie ou s'y abonne, et toute personne qui connaît son nom peut le lire. La documentation de ntfy le dit elle-même : le topic fait office de mot de passe, donc choisis-le long et aléatoire, par exemple claude-7f3k9q2xw4mz. Les noms de topic acceptent lettres, chiffres, underscores et tirets, jusqu'à 64 caractères.

Installe l'app ntfy (App Store, Google Play ou F-Droid), appuie sur + et abonne-toi à ton topic sur ntfy.sh.

Vérifie que ça marche depuis un terminal :

curl -H "Title: Test" -d "Hello from my computer" https://ntfy.sh/claude-7f3k9q2xw4mz

Ton téléphone devrait vibrer en une ou deux secondes. Sur Windows, curl.exe est fourni avec Windows 10 et 11 et accepte la même commande.

02Étape 2 : un script de hook (Mac et Linux)

Claude Code transmet à chaque hook un objet JSON sur l'entrée standard. Les deux événements partagent des champs comme cwd et hook_event_name. Notification ajoute message et notification_type, et Stop ajoute last_assistant_message, le texte de la dernière réponse de Claude. Ce script transforme l'un ou l'autre en push lisible. Il nécessite jq (brew install jq, ou apt install jq sur Debian et Ubuntu).

Enregistre-le sous ~/.claude/ntfy-notify.sh et lance chmod +x ~/.claude/ntfy-notify.sh :

#!/bin/sh
TOPIC_URL="https://ntfy.sh/claude-7f3k9q2xw4mz"

input=$(cat)
event=$(printf '%s' "$input" | jq -r '.hook_event_name')
project=$(basename "$(printf '%s' "$input" | jq -r '.cwd')")

if [ "$event" = "Stop" ]; then
  title="Claude finished: $project"
  body=$(printf '%s' "$input" | jq -r '(.last_assistant_message // "Done") | .[0:300]')
  priority=3
else
  title="Claude needs you: $project"
  body=$(printf '%s' "$input" | jq -r '.message // "Needs your attention"')
  priority=4
fi

curl -s -H "Title: $title" -H "Priority: $priority" -H "Tags: robot" \
  -d "$body" "$TOPIC_URL" > /dev/null
exit 0

La priorité va de 1 (min) à 5 (urgent). Tags ajoute un emoji à la notification ; robot affiche une tête de robot.

03Étape 3 : branche-le dans settings.json

Ajoute les hooks dans ~/.claude/settings.json. Si le fichier contient déjà un objet hooks, ajoute ces événements dedans au lieu de le remplacer.

{
  "hooks": {
    "Notification": [
      {
        "matcher": "permission_prompt",
        "hooks": [
          { "type": "command", "command": "~/.claude/ntfy-notify.sh" }
        ]
      }
    ],
    "Stop": [
      {
        "hooks": [
          { "type": "command", "command": "~/.claude/ntfy-notify.sh", "async": true }
        ]
      }
    ]
  }
}

"async": true permet au hook Stop d'envoyer en arrière-plan, pour qu'un réseau lent ne ralentisse jamais Claude. Lance une nouvelle session Claude Code, car les hooks sont chargés au démarrage d'une session.

Stop ou idle_prompt ?

Stop se déclenche dès que Claude termine, même si tu es devant ton clavier. Si c'est trop, supprime le bloc Stop et utilise plutôt le matcher permission_prompt|idle_prompt. D'après la documentation d'Anthropic, idle_prompt se déclenche environ 60 secondes après la fin de Claude, seulement si tu n'as rien tapé entre-temps, et permission_prompt se déclenche quand une demande de permission attend depuis environ six secondes sans frappe au clavier. Tu obtiens ainsi gratuitement un filtre approximatif « seulement quand je ne suis pas là ». Le guide du Notification hook et le guide du Stop hook détaillent chaque champ et chaque délai.

04Windows (PowerShell)

Sur Windows, enregistre ceci sous %USERPROFILE%\.claude\ntfy-notify.ps1. Rien d'autre à installer :

$in = [Console]::In.ReadToEnd() | ConvertFrom-Json
$project = Split-Path $in.cwd -Leaf

if ($in.hook_event_name -eq 'Stop') {
  $title = "Claude finished: $project"
  $body = [string]$in.last_assistant_message
  if ($body.Length -gt 300) { $body = $body.Substring(0, 300) }
  $priority = '3'
} else {
  $title = "Claude needs you: $project"
  $body = [string]$in.message
  $priority = '4'
}

Invoke-RestMethod -Method Post -Uri 'https://ntfy.sh/claude-7f3k9q2xw4mz' `
  -Headers @{ Title = $title; Priority = $priority } `
  -Body ([Text.Encoding]::UTF8.GetBytes($body)) | Out-Null

Utilise ensuite cette entrée de hook à la place des lignes command ci-dessus :

{
  "type": "command",
  "shell": "powershell",
  "command": "powershell -NoProfile -ExecutionPolicy Bypass -File \"$HOME\\.claude\\ntfy-notify.ps1\""
}

Si tu fais tourner Claude Code dans WSL, utilise plutôt le script Mac et Linux ; pour le hook, WSL, c'est du Linux.

05Garder ça privé

Tout le contenu du push passe par le serveur ntfy, et sur ntfy.sh, n'importe qui connaissant le nom du topic peut le lire. Le message Stop ci-dessus inclut le début de la réponse de Claude, qui peut contenir du code ou des noms de fichiers. Trois façons de verrouiller ça :

  1. Envoie moins. Remplace le corps du Stop par une chaîne fixe comme "Done" et garde seulement le nom du projet dans le titre.
  2. Utilise un token d'accès. ntfy accepte -H "Authorization: Bearer tk_..." sur n'importe quelle publication. Sur ton propre serveur, configure auth-default-access: "deny-all", crée un utilisateur avec ntfy user add et un token avec ntfy token add.
  3. Héberge ton propre serveur. ntfy peut être auto-hébergé. Pour une livraison instantanée vers l'app iPhone, la doc de ntfy recommande de configurer upstream-base-url: "https://ntfy.sh", qui ne transmet qu'un ID de message et un hash du topic à ntfy.sh pour réveiller le téléphone ; l'app récupère ensuite le message depuis ton serveur.

Si Claude Code tourne sur un serveur distant, le même hook y fonctionne tel quel, ce qui fait de ntfy une bonne option pour les notifications via SSH.

06Où se situe Claude Code Notifier

Pour des alertes à sens unique, cette config fait parfaitement le job et on ne va pas t'en dissuader. Mais elle se contente de te prévenir. Quand le push t'indique que Claude a besoin d'une permission, la session attend quand même que tu reviennes au clavier.

ntfy gère bien des boutons d'action qui envoient une requête HTTP, donc tu pourrais construire toi-même un moyen de répondre : un hook PermissionRequest qui publie la demande, attend une réponse sur un second topic et renvoie une décision. Certains projets open source font exactement ça (voir le comparatif).

Claude Code Notifier fait tout ça clé en main. Avec un téléphone appairé, tu peux autoriser une fois, autoriser pour la session ou refuser une permission, choisir une réponse quand Claude pose une question et envoyer la prochaine instruction quand Claude a fini, le tout depuis ton téléphone. Il détecte aussi ta présence : si tu as tapé dans les 30 dernières secondes, le terminal demande comme d'habitude et rien n'attend sur le téléphone. Si tu n'es pas là, le terminal attend ta réponse jusqu'à un plafond que tu définis, et arrête d'attendre dès que tu touches le clavier. ccn tourne sur Mac, Windows et Linux ; consulte la page ccn et les tarifs des apps mobiles.

07FAQ

ntfy est-il gratuit pour les notifications Claude Code ?

Publier et s'abonner sur ntfy.sh ne nécessite aucun compte, et le serveur est ouvert à tous. ntfy propose aussi une offre payante et peut être auto-hébergé. Consulte le site de ntfy pour les limites actuelles.

Pourquoi mon hook ntfy ne se déclenche pas ?

Lance une nouvelle session Claude Code après avoir modifié settings.json, car les hooks sont chargés au démarrage. Ensuite, lance la commande de test curl à la main, et envoie du JSON d'exemple au script via un pipe, par exemple echo '{"hook_event_name":"Stop","cwd":"/tmp/x"}' | ~/.claude/ntfy-notify.sh. La checklist de dépannage couvre le reste.

Puis-je répondre à Claude Code depuis une notification ntfy ?

Pas avec une simple publication. Les boutons d'action HTTP de ntfy peuvent envoyer une requête, mais il te faut un hook qui attend la réponse et la transforme en décision compréhensible par Claude Code.

Est-ce que je reçois un push pour chaque type de notification ?

Seulement pour les matchers que tu indiques. Omets matcher dans l'entrée Notification pour recevoir tous les types, y compris les dialogues d'authentification et MCP.

Claude Code Notifier Reçois un push sur ton téléphone quand Claude Code a terminé ou a besoin de toi, puis approuve, refuse ou réponds directement. L'outil en ligne de commande ccn est gratuit sur Mac, Windows et Linux.
Télécharger pour iOS Télécharger pour Android Installer ccn

Guides associés

  • Toutes les façons de recevoir les notifications de Claude Code, comparéesAlertes intégrées, tes propres hooks, ntfy et webhooks de chat, Remote Control d'Anthropic et apps de notification : ce que chacun permet ou non.
  • Envoyer les notifications Claude Code vers Telegram, Slack ou DiscordUn seul script de hook qui envoie les alertes Claude Code à un bot Telegram, un incoming webhook Slack ou un webhook Discord, sur Mac, Windows et Linux.
  • Le Notification hook de Claude Code : quand il se déclenche et comment l'utiliserQuand le Notification hook de Claude Code se déclenche, ce que signifient permission_prompt et idle_prompt, les données qu'il reçoit et pourquoi il attend avant de se déclencher.
  • Le Stop hook de Claude Code : lancer quelque chose quand Claude a terminéComment fonctionne le Stop hook de Claude Code, quelles données il reçoit, comment lancer une commande quand Claude a terminé, et comment faire continuer Claude sans risque.
claude-code-notifier

Claude Code Notifier est une application tierce indépendante. Elle n’est ni affiliée à Anthropic, PBC, ni approuvée ou parrainée par celle-ci. « Claude » et « Claude Code » sont des marques d’Anthropic, PBC.

apps App iOS App Android ccn pour macOS, Windows et Linux Tous les guides
mentions légales Politique de confidentialité Conditions d’utilisation Autres langues © 2026 touchtap. Tous droits réservés. TouchTap Ltd est immatriculée en Angleterre et au pays de Galles, numéro 13942589.