SuperIslandSuperIsland
API Reference

DynamicIsland.notifications

Send notifications from your extension to the island and macOS notification center.

DynamicIsland.notifications

Send notifications from your extension. Requires "notifications" in your manifest's permissions array.

notifications.send(options)

DynamicIsland.notifications.send({
  title: "Pomodoro complete! 🍅",
  body: "Time for a 5-minute break.",
  sound: true,
});

Options

FieldTypeRequiredDescription
titlestringYesNotification title
bodystringNoNotification body text
soundbooleanNoPlay alert sound. Default: false
idstringNoUnique ID — use to replace a previous notification
appNamestringNoOverride the app name shown
avatarURLstringNoURL for a custom avatar/icon image

Notification feed

If your manifest includes "notificationFeed": true in capabilities, notifications are also added to a persistent in-island feed viewable by the user.

{
  "capabilities": ["compact", "expanded", "notificationFeed"]
}

Examples

Timer completion

function onTimerComplete(isBreak) {
  DynamicIsland.notifications.send({
    id: "pomodoro-complete",
    title: isBreak ? "Break time! 🌿" : "Focus time! 🎯",
    body: isBreak ? "Take 5 minutes away from the screen." : "Start a 25-minute focus session.",
    sound: true,
  });
  DynamicIsland.playFeedback("success");
}

Status update with avatar

DynamicIsland.notifications.send({
  title: "Deploy succeeded ✓",
  body: "main → production in 1m 23s",
  appName: "CI/CD",
  avatarURL: "https://github.com/nullbytes00.png",
  sound: false,
});

Replace an existing notification

// First call — shows notification
DynamicIsland.notifications.send({ id: "build", title: "Build started..." });

// Later — replaces the same notification
DynamicIsland.notifications.send({ id: "build", title: "Build complete ✓" });

On this page