Skip to main content
ctx.ipc (PluginIPCRegistrar) lets you register IPC handlers and send messages to the renderer. All channel names are automatically prefixed as plugin:{pluginId}:*.
// Handle requests from the renderer
ctx.ipc.handle("get-status", async () => {
  return { online: true, pilots: 42 };
});

// Push data to the renderer unprompted
ctx.ipc.send("new-flight-available", { flightId: "VA123" });
The actual channels registered are plugin:my-plugin:get-status and plugin:my-plugin:new-flight-available — the prefix is applied transparently. When to use it: for background-to-UI push (data the renderer didn’t ask for, like live updates). For request/response, prefer HTTP routes via ctx.server + TanStack Query — see Background ↔ UI Communication for the full pattern and rules.