Desktop toast notifications for GitHub Copilot CLI — get notified when your agent finishes, needs approval, hits an error, and more.
Walk away from your terminal while Copilot works. CopilotOnToast pops a Windows toast notification for every key agent event so you never miss a beat.
| Hook event | Notification title | Notification body |
|---|---|---|
sessionStart |
Copilot – Started | Session started. |
sessionEnd |
Copilot – Done | Session ended: {reason} |
agentStop |
Copilot – Turn Complete | Agent finished responding. |
permissionRequest |
Copilot – Action Needed | Awaiting approval for: {tool} |
errorOccurred |
Copilot – Error | {error message} |
userPromptSubmitted |
Copilot – Prompt Sent | {prompt preview} |
postToolUseFailure |
Copilot – Tool Failed | Tool failed: {tool} |
| Requirement | Notes |
|---|---|
| Windows | Toast notifications use the Windows notification system |
| PowerShell 7+ | pwsh must be on your PATH — run winget install Microsoft.PowerShell |
| BurntToast PowerShell module | Used to fire toast notifications — install instructions below |
| GitHub Copilot CLI | Hooks require Copilot CLI v1.0+ |
Run this from the root of any repository where you want notifications:
irm https://raw.githubusercontent.com/melodiouscoders/CopilotOnToast/main/install.ps1 | iexThis copies the hook files into .github/hooks/ of your current directory. It will not overwrite files that already exist (use -Force to override — see below).
If you don't have BurntToast installed yet, download the script first so you can pass parameters:
irm https://raw.githubusercontent.com/melodiouscoders/CopilotOnToast/main/install.ps1 -OutFile install.ps1
.\install.ps1 -InstallBurntToast
Remove-Item install.ps1| Parameter | Description |
|---|---|
-InstallBurntToast |
Automatically installs the BurntToast module (-Scope CurrentUser) if it's missing |
-Force |
Overwrite existing hook files |
-Path <dir> |
Target a specific repository root instead of the current git repo |
- Copy
.github/hooks/copilot-on-toast.json,.github/hooks/copilot-on-toast.ps1, and.github/hooks/copilot-icon.pngfrom this repo into the.github/hooks/directory of your repository. - Install BurntToast:
Install-Module BurntToast -Scope CurrentUser - Restart Copilot CLI — hooks are loaded at session start.
Edit .github/hooks/copilot-on-toast.config.json to turn individual notifications on or off:
{
"notifications": {
"sessionStart": true,
"sessionEnd": true,
"agentStop": true,
"permissionRequest": true,
"errorOccurred": true,
"userPromptSubmitted": true,
"postToolUseFailure": true
}
}Set any event to false to silence it. Any event not listed defaults to enabled.
Tip — yolo mode: If you use
/yoloand don't want permission toasts, set"permissionRequest": false.
To change the wording of a notification, edit .github/hooks/copilot-on-toast.ps1.
This repo includes a Copilot CLI skill that lets you manage notification settings conversationally. In a Copilot CLI session, just ask naturally or use /toast directly:
/toast disable permission toasts
/toast silence everything except errors
/toast show me which notifications are enabled
Copilot will read and update copilot-on-toast.config.json for you.
Tip —
/yolomode: Since yolo is a per-session toggle with no persistent state, the easiest workflow is to ask Copilot to disable permission toasts before starting a yolo session, and re-enable them afterward.
To stop a hook firing altogether (not just suppress the toast), remove its entry from .github/hooks/copilot-on-toast.json.
Remove the three installed files from .github/hooks/:
Remove-Item .github/hooks/copilot-on-toast.json, .github/hooks/copilot-on-toast.ps1, .github/hooks/copilot-icon.pngContributions are welcome! See CONTRIBUTING.md for guidelines.
Please see SECURITY.md for how to report vulnerabilities responsibly.
If you find CopilotOnToast useful, consider supporting its development:
CopilotOnToast is an independent, community-created project by melodiouscode and is not affiliated with, endorsed by, or an official product of GitHub or Microsoft. The GitHub Copilot name and logo are trademarks of their respective owners.