Repository navigation
Embassy v4.4.0
Embassy 4.4.0 — the terminal, designed
4.4 changes what you see, not what Embassy does. The operator TUI is rebuilt on Ink, the same terminal UI framework Claude Code runs on, and every screen was redrawn to be scanned rather than read.
What is different on screen — endpoints grouped the way the Codex agents view groups them: Working, Waiting, Faulted, Ready, Dormant, Not reporting, Cached, with counts, and a column header (State, Endpoint, Type, Queue, Outcome); one colour per state, used the same way everywhere, with the state word always beside it so nothing depends on colour alone; bold names, dim metadata, a real column grid with aligned counts and display-width padding so wide-character names keep the grid; the selected row is one highlight bar, and reverse video means selection and nothing else; the outcome column gets the width, so a failed delivery's safe code is readable at 80 columns; the list scrolls by rendered lines, never orphans a group header, and marks clipped rows with "↑ N more" / "↓ N more"; host tabs with a health mark, section tabs, and a persistent footer with the keys for the current mode; centred, bordered dialogs for retirement and token entry, the retirement dialog showing host, alias, the full endpoint ID and the settlement consequences in red with a distinct confirm key; the header fixed in place so nothing jumps between polls. Unreachable and stale states are loud and say what to do, and every empty list says why it is empty (broker unreachable with its code, no endpoints registered, no deliveries yet, no retirements). Failed counts stay red in the tab bar even when the tab is not focused.
What is the same — every key, every action, every honesty line ("not a provider readiness proof", the stale age, "up to 20 most recent"), the polling and action serialization, the exact-ID retirement guard, and the metadata-only rule. Without an interactive terminal, tui prints the plain status text with no escape codes. NO_COLOR removes all styling and keeps the screen interactive.
Requirement change — Embassy now requires Node 22 or newer. Node 20 is no longer supported.
Footprint — Ink 7.1.1, React 19.2.8, wrap-ansi and string-width, pinned; no native modules (the layout engine is WebAssembly); loaded only when embassy tui runs.
Upgrading from 4.3.0 — install and restart the broker; no state reset.
Tested with (m5dev and a laptop over SSH, 2026-09-06): the live TUI against both brokers at 80×24, 100×30 and 140×45 on dark and light palettes, NO_COLOR and plain output verified byte-clean, and two independent operator-perspective reviews of every screen, whose findings were folded in before release. Offline suite 408/408.