Meldingen van Gemini CLI: krijg een geluid of melding als het klaar is of je nodig heeft

Gemini CLI blijft rustig op “Waiting for confirmation” staan terwijl jij iets anders leest. Het kan het je laten weten. De instelling staat alleen standaard uit, en op Windows gedraagt die zich anders dan de documentatie doet vermoeden.

Door Aslan, Pet Island-team · Bijgewerkt op 26 okt. 2026 · 5 min lezen

KORT ANTWOORD

Zet "general": { "enableNotifications": true } in ~/.gemini/settings.json (of /settings → General → Enable Notifications). Gemini CLI waarschuwt je dan als het goedkeuring nodig heeft en als een sessie klaar is. In Windows Terminal en de terminal van VS Code laat de automatische modus alleen de terminalbel klinken, dus probeer notificationMethod: "osc9" als je een echte bureaubladmelding wilt. Voor je eigen geluid voeg je een Notification-hook toe (gaat af bij prompts voor toolmachtigingen) en een AfterAgent-hook (gaat af als een beurt eindigt).

Voordat je begint: welke Gemini CLI je hebt

Een banner in de documentatie van Gemini CLI meldt dat Gemini CLI voor gebruikers van de gratis laag en Google One op 18 juni 2026 is vervangen door Antigravity CLI. Alles hieronder gaat over Gemini CLI zelf (het commando gemini en ~/.gemini/settings.json). Ben je overgestapt op Antigravity, dan staan de instellingen ergens anders.

Mensen willen dit al heel lang. Het featureverzoek voor geluidsmeldingen in de repository van Gemini CLI (#4310) verzamelde 74 duimpjes, en een maintainer verhoogde de prioriteit “om te laten zien hoeveel mensen het belangrijk vinden”. Een latere discussie (#13313) zei het eenvoudig: “Ik kan nooit zien wanneer het klaar is.”

De ingebouwde meldingen aanzetten

Gemini CLI heeft een experimentele meldingsfunctie. Die staat standaard uit. Zet hem aan in de CLI met /settings → General → Enable Notifications, of in je instellingenbestand:

~/.gemini/settings.jsonKopiëren
{
"general": {
"enableNotifications": true
}
}

Zodra die aan staat, waarschuwt Gemini CLI je bij twee events:

  • Actie vereist: het model wacht op je invoer of op goedkeuring voor een tool.
  • Sessie klaar: een sessie is met succes afgerond.

De titels van de meldingen zijn “Gemini CLI needs your attention” en “Gemini CLI session complete”. Gemini CLI speelt zelf geen geluid af: het stuurt je terminal een escapereeks, en de terminal bepaalt wat er gebeurt.

Hoe de melding je bereikt (en waarom Windows anders is)

Een tweede instelling, general.notificationMethod, bepaalt hoe de melding wordt verstuurd. De waarden zijn auto (standaard), osc9, osc777 en bell.

De pagina over meldingen zegt dat de CLI de escapereeks OSC 9 gebruikt en terugvalt op een terminalbel. De broncode is specifieker. In de modus auto (packages/cli/src/utils/terminalNotifications.ts):

TerminalWat auto verstuurt
iTerm2OSC 9 (een bureaubladmelding)
Windows Terminal, terminal van VS Code, Alacritty, Apple TerminalAlleen de bel (BEL)
Elke andere terminalOSC 777

In Windows Terminal krijg je dus de bel, geen pop-upmelding. Wat de bel doet, is een instelling van Windows Terminal: bellStyle accepteert all, audible, window, taskbar en none, en de standaard is audible. Met all speelt Windows Terminal een geluid af en knippert het taakbalkpictogram; het geluid kies je met bellSound.

settings.json van Windows Terminal (profiel)Kopiëren
{
"bellStyle": "all"
}

Wil je een echte bureaubladmelding proberen in plaats van de bel, dwing dan de methode af:

~/.gemini/settings.jsonKopiëren
{
"general": {
"enableNotifications": true,
"notificationMethod": "osc9"
}
}

Of een bepaalde terminal OSC 9 omzet in een Windows-melding, hangt af van de versie van de terminal. Verschijnt er niets, ga dan terug naar auto of bell en gebruik bellStyle: "all". De bel is de weg die de eigen code van Gemini CLI voor Windows Terminal heeft gekozen.

In tmux of screen verpakt Gemini CLI de reeks in een passthrough-escape, zodat die nog steeds de buitenste terminal bereikt.

Je eigen geluid met hooks

Wil je een specifiek geluid, een pop-up of een bericht naar je telefoon, gebruik dan hooks. Gemini CLI voert hookcommando’s uit op vaste punten en wacht tot ze klaar zijn. Twee events zijn hier van belang:

  • Notification gaat af als de CLI een systeemmelding geeft. Op dit moment is het enige type ToolPermission (een tool wacht op je goedkeuring). De hook kan niets goedkeuren of blokkeren; hij is alleen informatief.
  • AfterAgent gaat één keer per beurt af, na het laatste antwoord van het model. De pagina met best practices van Gemini zelf raadt hem aan als “je alleen de uiteindelijke afronding hoeft te controleren”.

Hooks staan standaard aan (hooksConfig.enabled). Een hook drukt precies één JSON-object af op stdout en verder niets ({} is prima als je niets te melden hebt). Afsluitcode 0 betekent succes; 2 blokkeert (en is alleen van belang bij blokkerende events); al het andere is een waarschuwing en de CLI gaat door. De standaardtime-out is 60 seconden (timeout is in milliseconden).

Windows (PowerShell)

Op Windows voert Gemini CLI hookcommando’s uit met pwsh -NoProfile -Command, of met powershell.exe als PowerShell 7 niet is geïnstalleerd. Sla dit script op als %USERPROFILE%\.gemini\hooks\ding.ps1:

~/.gemini/hooks/ding.ps1Kopiëren
# Two short beeps: frequency in Hz, duration in ms
[Console]::Beep(880, 150)
[Console]::Beep(1320, 150)
 
# Hooks must print one JSON object
"{}"

Laat daarna beide events ernaar verwijzen:

~/.gemini/settings.jsonKopiëren
{
"general": { "enableNotifications": true },
"hooks": {
"Notification": [
{ "matcher": "*", "hooks": [ { "name": "ding-approval", "type": "command",
"command": "powershell -NoProfile -ExecutionPolicy Bypass -File $HOME\\.gemini\\hooks\\ding.ps1" } ] }
],
"AfterAgent": [
{ "matcher": "*", "hooks": [ { "name": "ding-done", "type": "command",
"command": "powershell -NoProfile -ExecutionPolicy Bypass -File $HOME\\.gemini\\hooks\\ding.ps1" } ] }
]
}
}

-ExecutionPolicy Bypass voorkomt de meest voorkomende fout: PowerShell die weigert scripts uit te voeren. De documentatie van Gemini raadt Set-ExecutionPolicy RemoteSigned -Scope CurrentUser aan als blijvende oplossing.

macOS en Linux

Op andere systemen draaien hooks met bash -c. Een script van één regel volstaat:

~/.gemini/hooks/ding.shKopiëren
#!/usr/bin/env bash
cat > /dev/null # drain the event JSON
afplay /System/Library/Sounds/Glass.aiff 2>/dev/null \
|| paplay /usr/share/sounds/freedesktop/stereo/complete.oga 2>/dev/null
echo '{}'

Maak het uitvoerbaar (chmod +x ~/.gemini/hooks/ding.sh) en gebruik "command": "$HOME/.gemini/hooks/ding.sh" in dezelfde twee events.

Wil je twee verschillende geluiden, een voor “heeft goedkeuring nodig” en een voor “klaar”? Maak twee scripts. Een hook kan het event ook uit stdin lezen: de invoer van Notification bevat notification_type, message en details, zodat je het echte verzoek in je pop-up kunt tonen.

Waarom je hook niet draait

  1. Controleer /hooks panel. Dat toont elke hook die Gemini CLI heeft geladen. /hooks enable-all zet ze weer aan als ze waren uitgeschakeld.
  2. Niet-vertrouwde map. In een niet-vertrouwde map negeert Gemini CLI de .gemini/settings.json van het project, dus projecthooks worden niet geladen. Zet meldingshooks in je gebruikersinstellingen (~/.gemini/settings.json) zodat ze overal werken.
  3. Gewijzigde hooks tellen als nieuw. Gemini CLI maakt een vingerafdruk van projecthooks; verandert de naam of het commando van een hook, dan wordt die behandeld als een nieuwe, niet-vertrouwde hook.
  4. Iets anders op stdout. Een verdwaalde echo of een PowerShell-waarschuwing vóór de JSON breekt het parsen. Stuur logs naar stderr.
  5. Matchers. Gebruik voor Notification en AfterAgent "*" (of een lege string) om alles te matchen. Lifecycle-events gebruiken matchers met exacte strings, tool-events gebruiken reguliere expressies.

Of zorg dat je minder vaak iets gevraagd wordt

Meldingen helpen je sneller te antwoorden; je kunt ook verminderen hoe vaak Gemini CLI je nodig heeft. general.defaultApprovalMode kan default (vragen), auto_edit (bewerkingen worden goedgekeurd, voor al het andere wordt gevraagd) of plan (alleen-lezen) zijn. Met Shift+Tab blader je erdoorheen. tools.allowed bevat tools die het bevestigingsvenster overslaan (bijvoorbeeld run_shell_command(git)), en tools.confirmationRequired bevat tools die altijd moeten vragen.

De YOLO-modus (--yolo, of Ctrl+Y) keurt alles goed en zet standaard de sandbox aan. Hij kan alleen vanaf de opdrachtregel worden ingeschakeld, en security.disableYoloMode schakelt hem definitief uit als je de machine deelt.

Waar Pet Island in beeld komt

Een piep vertelt je dat er iets is gebeurd; hij vertelt je niet in welke terminal, of wat Gemini wil uitvoeren. Pet Island zet Gemini CLI op een klein eiland bovenaan je scherm, naast je andere agents: je ziet wanneer het bezig is, wanneer het op je bevestiging wacht en wanneer het klaar is, en met één klik spring je naar de juiste terminal.

Bij Gemini CLI gebeurt de bevestiging zelf nog steeds in Gemini. Pet Island toont het verzoek en brengt je erheen, maar keurt de tools van Gemini niet voor je goed. (Verzoeken van Claude Code en Codex kun je daarentegen direct op het eiland beantwoorden.)

VEELGESTELDE VRAGEN

Heeft Gemini CLI meldingen?

Ja, als experimentele functie die standaard uit staat. Zet general.enableNotifications op true in ~/.gemini/settings.json, of gebruik /settings → General → Enable Notifications.

Waarom geeft Gemini CLI op Windows alleen een piep?

In de modus auto stuurt de code van Gemini CLI alleen de terminalbel naar Windows Terminal en de terminal van VS Code. De instelling bellStyle van Windows Terminal bepaalt of die bel een geluid afspeelt, de taakbalk laat knipperen, of allebei.

Kan een Gemini CLI-hook een tool automatisch goedkeuren?

De Notification-hook niet. Volgens de documentatie kan die geen meldingen blokkeren of machtigingen verlenen. Gebruik in plaats daarvan tools.allowed of de policy engine om tools vooraf goed te keuren.

Welke hook gaat af als Gemini CLI klaar is?

AfterAgent. Die gaat één keer per beurt af, na het laatste antwoord van het model.

Waar zet ik de hooks zodat ze in elk project werken?

In je gebruikersinstellingen, ~/.gemini/settings.json. Projectinstellingen worden genegeerd in niet-vertrouwde mappen.

Bronnen

Elke instelling en elk gedrag op deze pagina is op 26 oktober 2026 gecontroleerd aan de hand van deze pagina’s. Agents veranderen snel; klopt er iets niet meer, dan geldt de officiële pagina.

VERDER LEZEN

Beantwoord elke agent vanaf de bovenkant van je scherm.

Windows en Mac · 7 dagen gratis, daarna eenmalig $8.99 · $1 van elke verkoop gaat naar voer voor zwerfdieren

Probeer Pet Island gratis