> ## Documentation Index
> Fetch the complete documentation index at: https://docs.skyvexsoftware.com/llms.txt
> Use this file to discover all available pages before exploring further.

# ctx.ipc

> IPC handlers and renderer messaging from a background module.

`ctx.ipc` (`PluginIPCRegistrar`) lets you register IPC handlers and send messages to the renderer. All channel names are automatically prefixed as `plugin:{pluginId}:*`.

```ts theme={null}
// 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`](/sdk/background/context/server) + TanStack Query — see [Background ↔ UI Communication](/sdk/background/communication) for the full pattern and rules.
