AISE events reference

AISE (AI Sound Events) is the canonical vocabulary every pack maps its sounds against. Pack authors target AISE; tool installers translate AISE into the native hook names of each tool.

Only task_complete is required in a pack — every other event is optional.

All AISE events

Events are grouped by category. The Required column shows whether a pack must include a sound for that event (only task_complete is mandatory).

Agent

EventRequiredDescription
task_completeYesAgent finished the current task successfully
task_failedAgent stopped with an error or was aborted
subtask_completeA subtask within a larger task finished
subtask_failedA subtask within a larger task failed

User interaction

EventRequiredDescription
prompt_sentThe user submitted a prompt
approval_neededThe agent is requesting user permission
approval_grantedThe user approved a request
approval_deniedThe user denied a request

Processing

EventRequiredDescription
thinking_startThe agent began reasoning
thinking_endThe agent finished reasoning
tool_calledThe agent invoked a tool
tool_completeA tool invocation finished

File system

EventRequiredDescription
file_createdA file was created
file_modifiedA file was modified
file_deletedA file was deleted

Session

EventRequiredDescription
session_startA new agent session started
session_endAn agent session ended
session_errorAn agent session crashed

Special

EventRequiredDescription
notificationA generic notification
warningA non-fatal warning
celebrationA milestone or celebration

All sounds must be ≤ 10 seconds long. The loop flag is forbidden except optionally on thinking_start.

Tool mappings

Not every tool exposes every AISE event. The CLI only writes hooks for the events a tool actually supports.

Cursor

Hooks live in .cursor/hooks.json (project) or ~/.cursor/hooks.json (global). Cursor multiplexes both task results into the single stop hook with a status field.

AISE eventCursor hook
task_completestop when status=completed
task_failedstop when status=error or status=aborted
prompt_sentbeforeSubmitPrompt
tool_calledpreToolUse
session_startsessionStart

Claude Code

Hooks live under hooks in .claude/settings.json (project) or ~/.claude/settings.json (global). Claude Code uses separate hooks for success vs failure.

AISE eventClaude Code hook
task_completeStop
task_failedStopFailure
session_startSessionStart
session_endSessionEnd
prompt_sentUserPromptSubmit
approval_neededPermissionRequest
notificationNotification

VS Code (planned)

AISE eventVS Code hook
task_completeonChatResponseComplete
prompt_sentonChatRequestSent
tool_calledonToolInvocation

Windsurf, Aider (planned)

These installers are stubs today and will be filled in as the integrations mature.

How a pack maps events

Pack manifests use AISE keys directly. Example fragment of a aisounds.json:

{
  "sounds": {
    "task_complete": {
      "file": "sounds/task_complete.ogg",
      "file_fallback": "sounds/task_complete.mp3",
      "duration_ms": 1200,
      "loop": false
    },
    "task_failed": {
      "file": "sounds/task_failed.ogg",
      "file_fallback": "sounds/task_failed.mp3",
      "duration_ms": 1800,
      "loop": false
    }
  }
}

The CLI never asks you which tool hook to wire each sound to — the AISE → tool mappings above are applied automatically based on the --tool flag.

See also

AISE events reference · AI Sounds Docs · AI Sounds