Hangar
Hangar is the Reaktor desktop app. It opens a workspace (a repository of Reaktor apps), reads the apps while they run, and shows their graph, phones, cloud, data, auth, deploys, tests, telemetry, analytics and agents in twelve panes that link to each other. It was called Reaktor Desktop before October 2026.
Its shell, actions, fields, choices, menus, collections and pane layout use Reaktor Surface. Machine Signal supplies their appearances and passive display atoms; Hangar supplies its shipped fonts and icon catalogue. The graph retains pane choices, selections, filters, camera positions, layout and read evidence. The map canvas, code editor, timeline and phone mirror remain specialized engines inside Surface Islands.
The window
- One title row. On macOS the window draws its own first row: the traffic lights, then Hangar, the app and branch pickers, back and forward, the open panes as tabs, search, the target and environment, Run, Debug, Stop, Develop and settings. In full screen the row starts at the edge, because the window controls are hidden.
- The menu bar is the Mac's. File, Edit, View, Navigate, Code, Graph, Run, Tools, Window and Help live in the macOS menu bar, as in IntelliJ IDEA. Items show their shortcuts, and the current pane, application and developer tool are ticked. On Windows and Linux the same menus open from Hangar at the start of the title row.
- One bottom bar holds the tool windows (runs, logs, traces, network, tests, build and diagnostics) and the status readings. It opens when you ask for it, when a plan waits for your approval, or when a run you started begins.
Panes
| Pane | Shortcut | What it answers | Read more |
|---|---|---|---|
| Graph | ⌘1 | What is running, how it is wired, what calls what right now | Graph |
| DevTools | ⌘2 | What a connected phone is doing: elements, network, logs, timeline, audits, its live graph | DevTools |
| Agent | ⌘3 | The coding agents working on this workspace. Agents lists Claude Code and Codex first, then the ChatGPT + Gemini seat and gateway agents (open models on Cloudflare for set roles); MCP shows every Claude Code and Codex session here, whether each harness launches the door, what the door is waiting on, and what it serves. Kanban, Runbooks, Memory and Audit work as before. More | Agent workspace |
| UI | ⌘4 | Reaktor Surface components and design tokens, rendered live | |
| Data | ⌘5 | Every database, store and topic, with its tables in the side rail. Schema opens on a map of the tables and their foreign keys beside a summary: size, the largest tables, row access and findings (tables open to anonymous access, drift from the repository's SQL); Tables lists rows, size and scans. Pick a table for its columns, keys, row access and findings. Relationships walks a table's neighbours one step at a time and saves the view; Data pages through rows, and a foreign-key value opens the row it points to. Without a live connection the map is drawn from the repository's SQL | |
| Auth | ⌘6 | People, roles, sessions and audit, read from the identity schema. A search narrows only the list you are browsing; signing keys, provider settings, grants and findings are always read whole | |
| AI | ⌘7 | BudBot and MannaBot: the workers, models, data and AI Gateway each bot is made of, a week of Workers AI usage per model, the account's gateways and their traffic, the model catalog with a place to try a prompt, on-device models and notebooks. More | |
| Testing | ⌘8 | Gradle and Maestro results on disk, failing first; one click re-runs a run's failing classes | |
| Deploy | ⌘9 | What is deployed where, the deploy targets, and the deploy operations you can run. Each build artifact shows its size and how it changed across builds (from the fastlane size log); Live says why its last read failed | |
| Cloud | ⌘⇧C | Every cloud resource as one map or one list, from hostname to machine; what is live against the repository, with approval-gated deploys; the CI pipeline as a map; one history of what changed. Operations also reaches every operation of the Cloudflare, Supabase and Google Cloud APIs (Cloud APIs) | Cloud |
| Analytics | ⌘⇧A | How people use the product, and which funnel steps the app has stopped sending | Analytics and telemetry |
| Telemetry | ⌘⇧T | Spans, metrics, profiles and the collectors behind them | Analytics and telemetry |
The panes point at each other: a screen leads to its service, the worker that serves it and the databases it touches, and back. Connected panes describes the links.
Agents and the MCP door
Claude Code and Codex do the real work in a workspace, so the Agent pane is built around them.
- Agents lists Claude Code and Codex as the primary agents, with their version, whether their door entry is installed, how many sessions run on this workspace now and in the last three days, and how many calls they made through the door today. New task opens a conversation on that agent.
- Gateway agents are open models on the workspace's Cloudflare account, offered for set roles:
Reviewer (Kimi K2.7 Code), Second opinion (DeepSeek V4 Pro), Long-context reader (GLM 5.3), Quick
triage (GLM 5.3 Flash) and Open generalist (Qwen 3.8). A gateway agent reads the workspace with
three confined tools (read a file, search, list a folder), never edits files or runs commands, and
answers with file and line. Each turn goes through AI Gateway
reaktorwhen that gateway exists and the token can see it, and straight to Workers AI otherwise; the run records which route it took. - MCP shows each harness (Claude Code, Codex, Antigravity): whether its config launches the door, whether Codex trusts the project, how many sessions are live. Below it are the door's problems with the command that fixes each (for example a door launcher older than the conductor's source), then four views: every Claude Code and Codex session found on this machine for this workspace, with its last steps, the files it edited and the command that resumes it; door approvals and calls; the providers the door serves; and Hangar's own MCP tools.
Sessions are read from Claude Code's and Codex's own transcript folders (~/.claude/projects,
~/.codex/sessions) when the pane opens and when you press Read again.
AI: bots, AI Gateway and Workers
The AI pane manages the products' AI. Its first view is the bots:
- BudBot (BestBuds):
campaign-engagement-serviceplans and posts Circle prompts,bot-serviceanswers@bestbudmentions, and the text and image moderators screen what members send. - MannaBot (Manna):
manna-apianswers questions, searches the learner's knowledge graph and turns media into text; themannaweb worker calls it.
For each bot the pane draws one map of its callers, workers, gateway, models and data stores, and lists what needs attention: model calls that skip a gateway, a scheduled handler no cron triggers, a model whose calls keep failing. The other views are Gateway (the account's AI Gateways, their settings, a week of traffic and the newest requests, and a Create button that asks for approval), Workers (every worker that calls a model, with 24-hour traffic once Compute has read the cloud), Models (the Workers AI catalog and the models the code calls, with a week of usage and a Try panel; each try is a run in the ledger), On-device, Notebooks and Data (every store each bot can reach and the tables its code reads or writes).
Hangar reads Cloudflare with the Wrangler sign-in already on the machine. That covers the model
catalog, usage and gateway traffic. Reading or creating gateways needs an API token with AI Gateway ·
Edit, Workers AI · Read and Account Analytics · Read, saved as the first line of
config/cloudflare.token in the workspace. Once saved, that token replaces the Wrangler sign-in for
the AI pane and for Cloud APIs, so give it every permission you
want those to have; each operation in Cloud APIs lists the permissions it needs.
One map style
Every graph in Hangar is drawn by one renderer: the Graph pane's map, the Cloud map, the graph beside the DevTools preview, and the Data pane's schema map and Memgraph results. Frames group what belongs together (a feature, a service, a schema, a label), cards carry a coloured header and pins, wires run from what is provided to what uses it, and the camera, legend and selection work the same everywhere. A frame with many cards of one kind wraps into a grid instead of a tall column, and changing the detail level keeps the camera where you left it.
Hangar on its own map
Hangar is a Reaktor app too. Pick Hangar in the app picker and the Graph pane maps the desktop app itself, live:
- A frame per pane. Each pane is its own route (
/graph,/devtools,/data, …), so each gets its own frame. The sessions and kernel services that only one pane uses sit in that pane's frame: the Cloud frame holds the cloud workspace and the Radar tunnel, the Data frame the database sessions and saved documents, the Auth frame the directory session, the Agent frame the conversation, the MCP inspector and the workspace agents. - Shared services in shared frames. The kernel's control plane, navigation, telemetry and the shell's pane state are used by many panes, so they sit together and wire out to each pane.
- Named ports. Every port on Hangar's own nodes carries a name, so a wire reads as
operations,cloudortelemetryrather than an unlabelled line.
Other shortcuts
| Keys | Does |
|---|---|
| ⌘K | Search graph nodes, workspace operations and every menu action (with its shortcut) |
| ⌘[ and ⌘] | Back and forward through where you have been |
| ⌘J | Show or hide the bottom tool window |
| ⌘= ⌘- ⌘0 | Zoom in, out, actual size |
| ⌃⌘F | Full screen |