Reference
IPC surface
The main process exposes fifteen IPC namespaces. The renderer reaches them only through window.uct.*; every channel has a matching ipcMain.handle that validates input.
ipc/fs— project inspection, env masking, file read/write with size caps, skill/agent/rule discovery.ipc/terminal— node-pty PTY sessions, data + exit channels.ipc/process— spawned dev servers, destructive-command refusal, detached process-tree kill.ipc/qwen— local open-source runtime chat + NDJSON stream + abort.ipc/models— multi-provider stream (local open-source runtime, cloud providers, OAuth CLI).ipc/secrets— safeStorage-encrypted provider keys.ipc/playwright— smoke + step runner + screenshot.ipc/domAgent— CDP attach to the preview webview.ipc/network— CDP request capture.ipc/codeIndex— regex symbol extraction + search, SQLite snapshot.ipc/agentTools— read-oriented exec allowlist + grep.ipc/mcp— stdio MCP client (JSON-RPC 2.0).ipc/git— status, branch, log, push, fetch.ipc/capture— window screenshot, data-URL save.ipc/auth— Claude CLI detection, OAuth setup.
Full architecture: Architecture.