Seadistab macOS-i töölauateavituse, mis kuvatakse ülesande valmimisel.
Kogu oskus — vaikeversiooni hoitakse GitHubis; sinu muudatused jäävad sinu enda klooni.
Näita suurt, alati peal olevat töölaua bännerit, kui Claude Code lõpetab vooru — üherealise kokkuvõttega sellest, mis tegelikult valmis sai. Töötab ka siis, kui macOS Notification Center vaikib osascript display notification kutsed maha (levinud probleem: CLI-l puudub Notification Centeri registreering, seega käsk lõpeb koodiga 0, kuid midagi ei kuvata).
Bänner on ääriseta Cocoa ülekatteaken, mille joonistab mac-overlay.js (JXA skript, kohandatud peon-ping-ist), seega teavituste õigusi pole vaja.
osascript -l JavaScript kaudu)Kopeeri mac-overlay.js selle oskuse kataloogist asukohta ~/.claude/scripts/mac-overlay.js.
Ühenda Stop hook faili ~/.claude/settings.json (loe fail esmalt ja säilita olemasolevad hookid):
{
"hooks": {
"Stop": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "m=$(cat /tmp/claude-banner-msg 2>/dev/null); rm -f /tmp/claude-banner-msg; [ -f ~/.claude/banner.off ] || osascript -l JavaScript ~/.claude/scripts/mac-overlay.js \"${m:-Task done}\" blue \"\" 0 4 2>/dev/null || true",
"async": true
}
]
}
]
}
}
~/.claude/CLAUDE.md või AGENTS.md):Pärast iga ülesande lõpetamist kirjuta lühike kokkuvõte tehtust faili
/tmp/claude-banner-msg(ntprintf 'Typecheck fixed and committed' > /tmp/claude-banner-msg). Tuvasta tegelik ülesanne; ära kunagi kasuta üldist „task done“.
Stop-hook kuvab sõnumi ja kustutab faili. Kui fail puudub, langeb see tagasi tekstile „Task done“.
Hook kontrollib sentinel-faili — konfiguratsiooni muutmine pole vajalik:
touch ~/.claude/banner.off # mute the banner
rm -f ~/.claude/banner.off # unmute
Kui kasutaja palub bänneri vaigistada/taastada, käivita vastav käsk ja teata tulemusolekust.
mac-overlay.js <message> <color> <icon> <slot> <dismiss_seconds> — värv on blue/yellow/red, dismiss 0 tähendab püsivat kuni klikini./tmp/claude-banner-msg ka vaigistatud olekus, nii et hiljem taastamisel ei ilmu vananenud kokkuvõtet.NSTextAlignmentCenter pärand-AppKiti väärtuseks (2), mida ühtne käitus käsitleb paremale joondatuna — komplekteeritud skript kõvakodeerib joonduse 1 (keskele), et seda kompenseerida./tmp/claude-banner-msg on jagatud paralleelsete Claude sessioonide vahel; kui kaks lõpevad samal hetkel, võib üks bänner näidata teise kokkuvõtet. Kasuta seansipõhist failiteed, kui see kunagi oluliseks muutub.