packages/kilo-docs/pages/getting-started/settings/system-notifications.md
System notifications are native operating system notifications that appear in your system's notification center or tray. Unlike VSCode's built-in notifications that only appear within the editor, system notifications are visible even when:
Kilo Code uses system notifications to inform you about:
Kilo Code's system notifications work on all major operating systems with different underlying technologies:
| Operating System | Technology | Requirements |
|---|---|---|
| macOS | AppleScript + terminal-notifier | Built-in support, optional enhanced features |
| Windows | PowerShell + Windows Runtime | PowerShell execution policy configuration |
| Linux | notify-send | libnotify package installation |
macOS has the best built-in support for system notifications with two available methods:
No additional setup required. Kilo Code uses macOS's built-in command to display notifications.
For enhanced notifications with custom icons, install terminal-notifier:
# Install via Homebrew
brew install terminal-notifier
# Or install via npm
npm install -g terminal-notifier
How it works: Kilo Code first attempts to use terminal-notifier and automatically falls back to AppleScript if it's not installed.
Windows notifications require PowerShell execution policy configuration to work properly.
Open PowerShell as Administrator and run:
# Check current execution policy
Get-ExecutionPolicy
# Set execution policy to allow local scripts
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
Windows notifications use the Windows.UI.Notifications API through PowerShell. This is available on:
| Policy | Description | Security Level | Recommended |
|---|---|---|---|
Restricted | No scripts allowed (default) | Highest | ❌ Blocks notifications |
RemoteSigned | Local scripts run, downloaded need signing | High | ✅ Recommended |
Unrestricted | All scripts run with warnings | Medium | ⚠️ Use with caution |
AllSigned | All scripts must be signed | Highest | ❌ Too restrictive |
Linux notifications require the libnotify package and notify-send command.
# Install libnotify
sudo apt update
sudo apt install libnotify-bin
# Verify installation
which notify-send
# RHEL/CentOS
sudo yum install libnotify
# Fedora
sudo dnf install libnotify
# Verify installation
which notify-send
# Install libnotify
sudo pacman -S libnotify
# Verify installation
which notify-send
System notifications work best with these desktop environments:
| Desktop Environment | Support Level | Notes |
|---|---|---|
| GNOME | ✅ Full support | Native notification center |
| KDE Plasma | ✅ Full support | Native notification system |
| XFCE | ✅ Good support | Requires notification daemon |
| Unity | ✅ Full support | Ubuntu's notification system |
| i3/Sway | ⚠️ Limited | Requires manual notification daemon setup |
| Headless | ❌ No support | No display server available |
For minimal window managers, you may need to start a notification daemon:
# Install and start dunst (lightweight notification daemon)
sudo apt install dunst # Ubuntu/Debian
sudo pacman -S dunst # Arch Linux
# Start dunst manually
dunst &
# Or add to your window manager startup script
echo "dunst &" >> ~/.xinitrc
# Test AppleScript method
osascript -e 'display notification "Test message" with title "Test Title" sound name "Tink"'
# Test terminal-notifier (if installed)
terminal-notifier -message "Test message" -title "Test Title" -sound Tink
# Test PowerShell notification
$template = @"
<toast>
<visual>
<binding template="ToastText02">
<text id="1">Test Title</text>
<text id="2">Test message</text>
</binding>
</visual>
</toast>
"@
[Windows.UI.Notifications.ToastNotificationManager, Windows.UI.Notifications, ContentType = WindowsRuntime] | Out-Null
[Windows.Data.Xml.Dom.XmlDocument, Windows.Data.Xml.Dom.XmlDocument, ContentType = WindowsRuntime] | Out-Null
$xml = New-Object Windows.Data.Xml.Dom.XmlDocument
$xml.LoadXml($template)
$toast = [Windows.UI.Notifications.ToastNotification]::new($xml)
[Windows.UI.Notifications.ToastNotificationManager]::CreateToastNotifier("Test App").Show($toast)
# Test notify-send
notify-send "Test Title" "Test message"
# Test with icon (optional)
notify-send -i dialog-information "Test Title" "Test message"
Problem: Notifications not appearing
brew install terminal-notifierProblem: "Execution of scripts is disabled" error
Set-ExecutionPolicy RemoteSigned -Scope CurrentUserProblem: Notifications not appearing in Windows 11
Problem: PowerShell script errors
$PSVersionTable.PSVersionProblem: notify-send: command not found
sudo apt install libnotify-binsudo yum install libnotifysudo pacman -S libnotifyProblem: Notifications not appearing in minimal window managers
sudo apt install dunst (Ubuntu/Debian)dunst &Problem: Permission denied errors
echo $DISPLAY should return something like :0