task-banner

Displays a macOS desktop banner notification when Claude Code finishes a task.

674|51|Updated Feb 11, 2026
One-click install
npx skills add https://github.com/OpenClaudia/openclaudia-skills --skill task-banner
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: task-banner
Source: https://github.com/OpenClaudia/openclaudia-skills/tree/main/skills/task-banner
Command: npx skills add https://github.com/OpenClaudia/openclaudia-skills --skill task-banner

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

macOS Notification Center often silently drops osascript display notification calls from CLI tools, so you never know when a long-running Claude Code task has finished. This Skill sets up a reliable always-on-top desktop banner that appears on task completion with a one-line summary of what was done.

Core Features & Use Cases

  • Completion Banner: Shows a borderless Cocoa overlay window via a Stop hook whenever Claude Code finishes a turn, with no notification permissions required.
  • Task Summaries: Displays a one-line summary of the completed work read from /tmp/claude-banner-msg, falling back to a generic message when absent.
  • Mute Toggle: Mute or unmute the banner at any time by creating or removing the ~/.claude/banner.off sentinel file.
  • Use Case: You kick off a long refactoring task and switch to another window; when Claude finishes, a blue banner appears at the top of your screen saying "Typecheck fixed and committed" so you know exactly what was done.

Quick Start

Set up the task banner so I get a desktop notification whenever Claude Code finishes a task.

Frequently Asked Questions about task-banner

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I get a desktop notification when Claude Code finishes a task?

Install a Stop hook in ~/.claude/settings.json that runs a JXA overlay script when each turn ends. The hook reads a summary from /tmp/claude-banner-msg and displays it in a borderless always-on-top banner window.

Why does osascript display notification not show anything on macOS?

CLI tools have no Notification Center registration, so the command exits 0 but macOS silently drops the notification. A Cocoa overlay window drawn via JXA bypasses Notification Center entirely and needs no permissions.

How do I mute or unmute the task completion banner?

Run `touch ~/.claude/banner.off` to mute the banner and `rm -f ~/.claude/banner.off` to unmute it. The Stop hook checks for this sentinel file before displaying, so no configuration editing is needed.

Does the task banner work on Windows or Linux?

No, the banner requires macOS because the overlay is built with Cocoa via JXA (osascript -l JavaScript). It also requires Claude Code with hooks support to trigger on task completion.

Can the banner show what task was actually completed?

Yes, add an instruction to your global CLAUDE.md telling the agent to write a short summary to /tmp/claude-banner-msg after each task. The hook displays that message and deletes the file, falling back to "Task done" if absent.