Générateur de notifications Claude Code, Codex et Gemini CLI.
Un hook est une courte commande que ton agent d’IA exécute à un moment précis, par exemple quand il termine une réponse. Cet outil gratuit écrit pour toi le hook ou le réglage intégré de tes notifications Claude Code, Codex ou Gemini CLI.
Choisis ton agent, les moments qui t’intéressent (il a terminé ou il attend ton accord) et la façon dont tu veux être averti. Cette page écrit l’extrait de configuration exact, indique dans quel fichier le placer et peut le fusionner avec une copie de ce fichier. Claude Code reçoit des hooks Stop et Notification ; Codex et Gemini CLI reçoivent les leurs. Rien de ce que tu saisis ne quitte ton navigateur.
Cowork Island
macOS 14 ou version ultérieure.
Mac avec puce Apple ou processeur Intel.
Aucun compte requis pour l’offre gratuite.
Choisis ton alerte.
Les choix ci-dessous nécessitent JavaScript. Sans lui, cette page affiche la configuration la plus courante : une bannière Mac de Claude Code quand il termine ou a besoin de toi.
Ta configuration.
Choisis au moins un moment : quand il termine ou quand il a besoin de toi.
Pour une bannière Mac, tu n’as peut-être pas besoin de hook. Pour une alerte sur ton téléphone, une phrase lue à voix haute ou une alerte uniquement sonore, utilise le hook généré ci-dessous. Dans iTerm2, Ghostty et Kitty, Claude Code affiche déjà une notification de bureau quand il termine ou a besoin de toi et que tu sembles avoir quitté le terminal. Dans iTerm2, ouvre aussi Settings > Profiles > Terminal, coche Notification Center Alerts, clique sur Filter Alerts et active Send escape sequence-generated alerts. Les hooks s’exécutent en parallèle de cette notification intégrée : si tu utilises les deux, tu peux recevoir deux alertes.
Pour une bannière Mac, tu n’as peut-être pas besoin de hook. Pour une alerte sur ton téléphone, une phrase lue à voix haute ou une alerte uniquement sonore, utilise le hook généré ci-dessous. Les alertes de terminal intégrées à Codex sont activées par défaut. Selon la documentation de Codex, elles utilisent une séquence d’échappement que certains terminaux affichent sous forme de notification de bureau. Elles apparaissent donc peut-être déjà dans ton terminal. Pour les limiter aux moments que tu as choisis, utilise les lignes [tui] ci-dessous. Ces réglages contrôlent les alertes sur ton Mac. Ils ne remplacent pas un hook d’alerte sur téléphone.
Pour une bannière Mac, tu n’as peut-être pas besoin de hook. Pour une alerte sur ton téléphone, une phrase lue à voix haute ou une alerte uniquement sonore, utilise le hook généré ci-dessous. Les notifications intégrées à Gemini CLI apparaissent sous forme de notifications de bureau dans iTerm2, WezTerm, Ghostty et Kitty. Elles sont expérimentales et désactivées par défaut : active-les dans Gemini CLI avec /settings > General > Enable Notifications. Utilise soit cette option, soit les hooks ci-dessous. Si tu utilises les deux, tu reçois deux alertes.
Les alertes intégrées à Codex, avec le bip.
Facultatif : les alertes Mac intégrées à Codex.
Dans ~/.codex/config.toml
Si le fichier contient déjà une section [tui], n’ajoute pas à nouveau la ligne [tui]. Sous la ligne existante, modifie la valeur des clés ci-dessous déjà présentes et ajoute uniquement celles qui manquent. Un deuxième en-tête [tui] ou une même clé écrite deux fois empêche Codex de lire le fichier.
L’effet du bip dépend de ton terminal. Dans Terminal, ouvre Settings > Profiles > Advanced > Bell pour choisir un son, une pastille ou une icône qui rebondit dans le Dock.
Les hooks pour l’alerte choisie.
Dans ~/.claude/settings.json~/.codex/hooks.json~/.gemini/settings.json
Ajoute ces entrées à l’objet "hooks" du fichier, à côté des entrées existantes. Ne remplace pas le fichier : il peut contenir tes autres réglages et les hooks d’autres outils. Les fichiers de réglages respectent strictement le format JSON : aucun commentaire ni aucune virgule finale. Plus simple : colle ton fichier actuel dans la zone de fusion ci-dessous.
Ajoute ces éléments comme de nouvelles entrées dans le fichier. Cowork Island et d’autres outils peuvent écrire dans ce même fichier : ne l’écrase jamais. La zone de fusion ci-dessous se charge de l’ajout pour toi. Ouvre ensuite Codex, saisis /hooks et accorde ta confiance à chaque nouvelle entrée : Codex ignore les hooks nouveaux ou modifiés tant que tu ne l’as pas fait.
Ajoute ces entrées à l’objet "hooks" du fichier, à côté des entrées existantes, ou utilise la zone de fusion ci-dessous. Les hooks de Gemini CLI ne peuvent produire que du JSON en sortie : chaque commande se termine donc en affichant {}.
Ajoute ce réglage au fichier, à côté des éléments existants, ou utilise la zone de fusion ci-dessous.
{
"hooks": {
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "/usr/bin/osascript -e 'on run argv' -e 'display notification (item 1 of argv) with title (item 2 of argv) subtitle (item 3 of argv) sound name \"Glass\"' -e 'end run' 'Claude Code finished' 'Claude Code' \"${PWD##*/}\""
}
]
}
],
"Notification": [
{
"matcher": "permission_prompt|elicitation_dialog|elicitation_url_dialog",
"hooks": [
{
"type": "command",
"command": "/usr/bin/osascript -e 'on run argv' -e 'display notification (item 1 of argv) with title (item 2 of argv) subtitle (item 3 of argv) sound name \"Funk\"' -e 'end run' 'Claude Code needs you' 'Claude Code' \"${PWD##*/}\""
}
]
}
]
}
}
- Dans Claude Code, les alertes d’autorisation et les demandes de saisie des outils connectés arrivent environ 6 secondes après l’apparition de la demande. Si tu tapes au clavier, elles sont retardées. C’est ainsi que fonctionne le hook Notification de Claude Code. Les autres questions peuvent ne pas déclencher ce hook.
- L’alerte de fin utilise Stop, qui se déclenche chaque fois que Claude termine une réponse, pas seulement à la fin d’une longue tâche. Il ne se déclenche pas quand tu interromps Claude.
- Claude Code bloque les hooks d’un dossier tant que tu n’as pas accepté sa boîte de dialogue de confiance dans l’espace de travail. Sur un Mac professionnel, ton organisation peut n’autoriser que ses propres hooks.
- Cette option utilise le réglage intégré de Claude Code, sans hook. Elle couvre les deux moments : une tâche terminée et une demande d’autorisation en attente. Tu peux aussi l’activer dans Claude Code avec
/config> Local notifications. L’effet du bip dépend de ton terminal : dans Terminal, ouvre Settings > Profiles > Advanced > Bell. - Cette option active les notifications intégrées de Gemini CLI, qui sont expérimentales, et demande l’utilisation du bip. Elles couvrent les deux moments : une action requise et une session terminée.
- L’entrée PermissionRequest s’exécute en arrière-plan et ne prend aucune décision : Codex affiche toujours sa demande d’autorisation habituelle.
- Utilise soit ces hooks, soit les notifications intégrées de Gemini CLI (Enable Notifications dans
/settings). Si tu utilises les deux, tu reçois deux alertes. - Selon la documentation de Gemini CLI, les utilisateurs de l’offre gratuite et de Google One ont été transférés vers Antigravity CLI le 18 juin 2026. Ces réglages concernent Gemini CLI.
- Si une session déjà ouverte ne prend pas en compte la modification, redémarre-la.
Facultatif : une bannière via le réglage notify de Codex à la place.
Le réglage notify de Codex exécute un programme chaque fois qu’un tour se termine. Il ne s’exécute jamais pour les demandes d’autorisation. Si tu l’utilises, n’inclus pas l’entrée Stop ci-dessus, sinon tu reçois deux bannières pour la même réponse.
1. Enregistre ce contenu dans ~/.codex/notify-macos.js
Codex ne remplace pas ~ par le chemin de ton dossier de départ dans ce réglage : le chemin doit donc être complet. Dans Terminal, echo $HOME l’affiche.
2. Ajoute cette ligne à ~/.codex/config.toml
Saisis ton nom d’utilisateur ci-dessus : en attendant, la ligne contient YOUR_NAME.
- Une seule ligne
notifyest autorisée par fichier. Si ton fichier en contient déjà une, n’en ajoute pas une deuxième : il ne pourrait plus être chargé. Utilise plutôt le hook Stop ci-dessus. - Place la ligne vers le début du fichier, au-dessus de la première ligne qui commence par
[. Sous un en-tête de section comme[tui], Codex la considère comme faisant partie de cette section et l’ignore. - Cowork Island n’utilise jamais
notify: cette ligne et l’app n’entrent donc pas en conflit.
Teste dans Terminal :
Ton sujet ntfy au nom aléatoire.
Les sujets sur ntfy.sh sont publics. Toute personne qui connaît ou devine le nom d’un sujet peut lire ce qui y est envoyé. Protège-le donc comme un mot de passe. C’est pourquoi le nom de ce sujet comporte 32 caractères aléatoires générés par ton navigateur, et pourquoi le hook n’envoie qu’une phrase fixe comme « Claude Code a terminé », jamais la réponse de l’agent ni le contenu de tes fichiers.
Sur ton téléphone, installe l’app ntfy et abonne-toi à ce sujet. ntfy.sh est un service tiers gratuit avec ses propres limites quotidiennes de messages.
Fais un test.
Colle cette ligne dans Terminal et appuie sur Retour. Elle exécute la même commande que le hook et envoie donc un message de test à ton sujet.
/usr/bin/osascript -e 'on run argv' -e 'display notification (item 1 of argv) with title (item 2 of argv) subtitle (item 3 of argv) sound name "Glass"' -e 'end run' 'Claude Code finished' 'Claude Code' "${PWD##*/}"
Teste le bip.
Colle cette ligne dans Terminal et appuie sur Retour :
printf '\a'
Autorise Éditeur de scripts à afficher des notifications. Ces bannières proviennent de l’app Éditeur de scripts de macOS, et macOS ne demande pas d’autorisation au préalable : tant que tu ne l’autorises pas, rien ne s’affiche et rien ne t’explique pourquoi. Exécute une fois la ligne de test, puis ouvre Réglages Système > Notifications, trouve Éditeur de scripts et active Autoriser les notifications.
Fusionne avec ton fichier actuel.
Colle ici tout ton fichier actuel : cette page y ajoute tes nouvelles entrées. Les entrées de hooks déjà présentes restent telles quelles, y compris celles des autres outils et de Cowork Island. Si tu as choisi un réglage intégré, sa nouvelle valeur remplace l’ancienne et la page t’indique lequel a changé. Si tu fusionnes deux fois le même choix, rien n’est ajouté en double. Ce que tu colles reste dans cette page.
La fusion nécessite JavaScript. Sans lui, ajoute les entrées à la main comme indiqué ci-dessus.
Pour ce choix, il n’y a rien à fusionner : le réglage va dans ~/.codex/config.toml, comme indiqué ci-dessus.
Ouvre le fichier dans un éditeur de texte, sélectionne tout, copie et colle le contenu ici. Si le fichier n’existe pas encore, laisse cette zone vide.
Si tu utilises aussi Cowork Island.
Cowork Island, l’app Mac du créateur de cet outil, ajoute ses propres entrées aux mêmes fichiers quand elle se connecte à Claude Code, Codex ou Gemini CLI. Ces entrées coexistent avec tes hooks existants. L’app considère qu’une entrée lui appartient si sa commande contient /.perch/ à n’importe quel endroit, sans distinction entre majuscules et minuscules. Elle supprime et réajoute des entrées entières, pas des commandes individuelles.
- Chaque extrait proposé ici constitue une entrée distincte et ne pointe jamais vers un emplacement dans
~/.perch/. Réinstaller ou désactiver Cowork Island n’y touche donc pas. - Ne colle aucune de ces commandes dans une entrée de Cowork Island et ne conserve pas tes propres scripts dans
~/.perch/: l’app les considérerait comme les siens. - Ne supprime pas les entrées de Cowork Island à la main tant que son intégration est activée : l’app les réajoute à son prochain démarrage.
- Les deux fonctionnent en parallèle. Claude Code et Codex exécutent en même temps tous les hooks correspondants, et Gemini CLI attend qu’ils aient tous terminé.
- Pour Claude Code, l’alerte de demande d’autorisation utilise l’événement Notification, jamais un hook PermissionRequest. Elle ne peut donc jamais répondre à une demande à ta place.
- Pour Gemini CLI, cet outil écrit des hooks AfterAgent et Notification, jamais des hooks BeforeTool.
Ce que cette page fait de tes saisies.
Tout se passe dans ton navigateur. Le générateur ne fait aucune requête réseau, ne stocke rien et ne dépose aucun cookie : rien de ce que tu choisis, saisis ou colles ne quitte cette page. Copier n’écrit dans ton presse-papiers que lorsque tu cliques dessus. Le sujet ntfy est créé avec le générateur de nombres aléatoires intégré à ton navigateur. Comme sur chaque page de ce site, la visite elle-même est comptabilisée comme indiqué dans la politique de confidentialité (en anglais).
L’option sans configuration.
Cowork Island est une app Mac du créateur de cet outil. Elle réunit tes sessions d’agents d’IA dans un panneau sous l’encoche et affiche l’état de chacune, pour que tu voies d’un coup d’œil laquelle a besoin de toi. Elle fonctionne avec ou sans encoche.
- Claude Code et les outils que l’app trouve sur ton Mac se connectent d’eux-mêmes. Codex reste désactivé jusqu’à ce que tu l’actives dans Réglages et que tu autorises les hooks de Cowork Island dans Codex.
- Chaque session affiche son état, et « À toi » quand elle attend une intervention de ta part. Par défaut, l’île s’ouvre alors toute seule, sauf si le terminal ou l’app de cette session est déjà au premier plan.
- Quand une session se termine, l’île s’ouvre pendant 5 secondes par défaut.
- Pour Claude Code, tu peux autoriser ou refuser une action, ou répondre à une question à choix multiple dans l’île. Y répondre est gratuit. Avec d’autres outils, tu devras peut-être répondre dans leur app ou leur terminal.
- Les sons restent désactivés jusqu’à ce que tu les actives. Le son « Autorisation requise » est gratuit ; le son « Session terminée » fait partie de Pro. L’app n’affiche aucune bannière macOS qui lui soit propre.
L’offre gratuite affiche une carte de session à la fois. Pro affiche toutes tes sessions, et l’accès à la fenêtre, à l’onglet ou au volet d’une session est une fonction Pro. Un essai de Pro de 7 jours se lance tout seul, une fois par Mac, sans informations de paiement. Consulte les offres et le guide d’installation.
Télécharger gratuitementSources.
- Documentation de Claude Code : référence des hooks
- Documentation de Claude Code : guide des hooks
- Documentation de Claude Code : configuration du terminal
- Documentation de Claude Code : référence des réglages
- Documentation de Codex : hooks
- Documentation de Codex : configuration avancée
- Documentation de Codex : référence de configuration
- Documentation de Gemini CLI : référence des hooks
- Documentation de Gemini CLI : notifications
- Documentation de Gemini CLI : référence de configuration
- Guide des scripts d’automatisation sur Mac : affichage des notifications
- Guide d’utilisation de Terminal : réglages avancés
- Documentation de ntfy : publication
- FAQ de Cowork Island et guide d’installation
Sources vérifiées le 18 octobre 2026. Cet outil est écrit par le créateur de Cowork Island. Pour une correction, écris à support@coworkisland.com ou ouvre un ticket sur GitHub.