Config File Example
Complete Configuration Example
Save the following to ~/.config/opencode/kdco-notify.json:
{
"notifyChildSessions": false,
"sounds": {
"idle": "Glass",
"error": "Basso",
"permission": "Submarine",
"question": "Submarine"
},
"quietHours": {
"enabled": false,
"start": "22:00",
"end": "08:00"
},
"terminal": "Ghostty"
}Field Descriptions
notifyChildSessions
- Type: boolean
- Default:
false - Description: Whether to notify child sessions (subtasks)
By default, the plugin only notifies parent sessions to avoid notification noise from subtasks. Set to true if you need to track completion status of all subtasks.
{
"notifyChildSessions": false // Only notify parent sessions (recommended)
}sounds
Sound configuration, only effective on macOS platform.
sounds.idle
- Type: string
- Default:
"Glass" - Description: Sound when task completes
Plays when AI session enters idle state (task completed).
sounds.error
- Type: string
- Default:
"Basso" - Description: Sound when error occurs
Plays when AI session execution encounters an error.
sounds.permission
- Type: string
- Default:
"Submarine" - Description: Sound when permission is requested
Plays when AI needs user authorization to perform an operation.
sounds.question
- Type: string (optional)
- Default: Not set (uses permission sound)
- Description: Sound when asking questions
Plays when AI asks questions to user. If not set, uses permission sound.
quietHours
Quiet hours configuration to avoid notification interruptions during specified time periods.
quietHours.enabled
- Type: boolean
- Default:
false - Description: Whether quiet hours is enabled
quietHours.start
- Type: string
- Default:
"22:00" - Description: Quiet hours start time (24-hour format, HH:MM)
quietHours.end
- Type: string
- Default:
"08:00" - Description: Quiet hours end time (24-hour format, HH:MM)
Supports cross-midnight periods, for example "22:00" to "08:00" means no notifications from 10 PM to 8 AM next day.
{
"quietHours": {
"enabled": true,
"start": "22:00",
"end": "08:00"
}
}terminal
- Type: string (optional)
- Default: Not set (auto-detected)
- Description: Manually specify terminal type, override auto-detection result
If auto-detection fails or manual specification is needed, set to your terminal name.
{
"terminal": "Ghostty" // Or "iTerm", "Kitty", "WezTerm", etc.
}macOS Available Sounds List
Following are macOS built-in notification sounds available for sounds configuration:
- Basso
- Blow
- Bottle
- Frog
- Funk
- Glass
- Hero
- Morse
- Ping
- Pop
- Purr
- Sosumi
- Submarine
- Tink
Minimal Configuration Example
If you only want to modify few settings, you can include only fields that need changes, other fields will use default values:
{
"quietHours": {
"enabled": true,
"start": "22:00",
"end": "08:00"
}
}Disable Plugin
To temporarily disable the plugin, delete the configuration file, and the plugin will revert to default configuration.
Next Lesson Preview
In the next lesson, we'll learn Release Notes.
You'll learn:
- Version history and important changes
- New features and improvements record