Features

Everything tlbx does.

215 capabilities across 22 areas. Each entry says what the feature does and where its boundary is.

Terminal core

Real PTYs rendered with xterm.js in the browser.

Native PTYsEvery session is a real pseudoterminal — ConPTY on Windows, PTY on macOS and Linux. No command whitelist, no emulation layer.
Any shellpwsh, PowerShell, cmd, bash or zsh. Default shell and start directory are configurable.
Full-screen TUIsvim, btop, lazygit, Far Manager and other alternate-screen programs run unmodified.
WebGL renderingGPU-accelerated xterm renderer with automatic DOM fallback; can be disabled per setting.
Shared glyph atlasPer-renderer invalidation generations and page-identity tracking keep many open sessions from rebuilding the glyph atlas every frame.
WebGL context arbitrationWith many sessions, the visible terminal evicts a hidden session's WebGL context and re-attaches with backoff instead of permanently downgrading.
Deep scrollbackConfigurable by lines and bytes; held server-side in the mthost ring buffer, so scrollback survives the browser.
Terminal searchIncremental search with next/previous navigation and match count.
Safe link openingRecognized URLs open as native new tabs with noopener/noreferrer. The terminal page itself never navigates away.
Selection copyCtrl+C copies a selection through the synchronous browser copy event, including before the local certificate is trusted. Without a selection, Ctrl+C stays SIGINT. Cmd+C on macOS.
Copy on select / right-click pasteOptional Windows-Terminal-style clipboard behaviors.
Clipboard shortcut profilesAuto platform detection, or explicit Windows (Ctrl+C/V) and Unix (Ctrl+Shift+C/V) modes.
Multiline pasteUI paste and CLI paste share one server-side path: normalized line endings, sanitized control sequences, bracketed paste preserved for TUI apps.
Modified-Enter newlineOptional mapping so Shift/Ctrl+Enter inserts an editor newline in agent CLIs instead of submitting the prompt.
Bell stylesDesktop notification, sound, visual flash, or off.
Ligatures & box drawingFont ligatures, custom box-drawing glyphs, classic or rounded style, adjustable stroke scale.
Cursor controlBar, block, underline, outline or hidden; blink; separate unfocused style. Full-screen apps keep cursor show/hide authority.
Contrast floorOptional WCAG AA / AAA / 21:1 minimum contrast over truecolor output, plus an automatic floor for light backgrounds.
Smooth & kinetic scrollingSmooth scrolling on desktop; kinetic fling scrolling on touch devices, individually toggleable.
Session environment variablesKEY=value pairs injected into every new terminal.

Sessions & persistence

The work outlives the browser tab, the network path, and the update.

Sessions survive the browserPTYs keep running when a tab sleeps, changes networks or disappears. Reconnect from any device.
Sessions survive updatesTerminals live in the separate mthost process. Web-only updates restart the UI without touching a single running process.
Full-update restoreFull updates capture session names, notes, spaces, titles and Git monitors, then rebuild Codex/Claude/Grok launches from scrollback resume hints — launch flags like --yolo included. Restore is best effort and says so.
Atomic recoveryReconnects use a RecoveryBegin → snapshot → RecoveryEnd contract with sequence cursors and explicit gap detection. Live output holds until the snapshot is parsed.
Accounted data lossBytes suppressed under degraded transport are counted, surfaced as a data-loss frame, and answered with a full parser reset plus resync — never a silently holed stream.
Cursor-based resumeReconnects request only output newer than the browser's processed sequence; full replay happens only when the cursor has left the ring buffer.
Quick Resume modeOptional lighter catch-up for setups with many sessions; visible sessions always stay live.
Live background sessionsHidden terminals keep parsing output while the browser runs — no disorienting replay burst when you come back.
Foreground recoveryReturning from background redraws visible renderers and re-attaches WebGL without waiting for new shell output.
Keep awakePrevents system sleep while at least one session exists. The display may still turn off; a closed laptop lid still sleeps.
Repair displayA serialized hidden PTY geometry pulse forces a corrupted full-screen TUI to repaint. Browser-visible geometry stays canonical throughout.
Session sharingPer-session share links, full-control or view-only, expiring after one hour, listed and terminable at any time.

Terminal size ownership

One session, many browsers: cols/rows are a server-authoritative lease with explicit handoff.

One size owner per sessionExactly one browser owns cols/rows, guarded by a server-issued ownership epoch. Stale or unauthorized resizes are rejected.
Scaled followersEvery other browser renders the canonical PTY size at native-or-smaller CSS scale — everything stays visible, nothing reflows.
Explicit takeover"Continue working here" applies on the first pointer press, refocuses input, and names the device it took control from.
Anti-ping-pong rulesA connected owner is protected for five minutes after its last input; an offline owner becomes eligible after thirty seconds. Passive tablets never steal control.
Tab identity handlingDuplicated tabs get collision-safe identities; a reopened tab in the same browser profile immediately inherits its offline predecessor.
Hub-aware ownershipFor remote Hub sessions, ownership stays on the PTY-owning host — connected browsers cannot create a second competing decision.
Device labelsOwnership UI shows a short human-readable device label ("Windows PC · Chrome"), transported ASCII-safe.
Leading-browser claimThe browser that drives terminal sizing can be claimed in the UI or through the API/CLI for automation and recordings.

Mobile & PWA

The same sessions in a phone browser, including on-screen keyboard and lifecycle handling.

Soft-keyboard correctnessThe terminal ends above the on-screen keyboard; the app shell stays fixed during offset-only viewport panning; input reveals exactly the cursor row instead of scrolling the whole canvas.
PWA installRoot-scoped manifest and service worker make the normal URL installable. If the native prompt is dismissed or unavailable, localized manual steps are shown for Android, iOS and other browsers.
Touch-first breakpointCoarse-touch devices up to 1024px get the mobile shell — wide phones do not fall into the desktop layout.
Dense mobile sidebarCompact rows with a touch action menu — roughly twice as many sessions per screen. The close action stays neutral until pressed.
Touch key barCtrl, Alt, Shift, navigation, symbol and function keys for terminal work without a hardware keyboard.
Phone-layout Dev BrowserThe docked browser becomes a full-viewport overlay with 44px touch chrome and a two-row URL bar.
Camera-roll pasteScreenshots paste from the phone's camera roll like any other image and upload to the host.
Background resumeVisibility, pagehide and resume events reconnect transport and quick-resume visible buffers after Chrome froze the app.
Kinetic terminal scrollFinger flings continue through terminal history; toggleable if it feels too aggressive.
Wallpaper off on mobileOptional setting keeps phone rendering lean by skipping the background image.

Command Bay

The composer under every session: multiline prompts, attachments, and paste that arrives in order.

Multiline composerExpandable prompt box with per-session drafts. Enter submits; modified Enter inserts a newline.
Image paste = normal pasteCtrl+V uploads the screenshot to the host and inserts its path — terminal-native agents read it like any file.
Attachments & photo captureAttach files or take a photo directly from the composer.
Ordered mixed pasteLong text and images keep their order as Text 1 / Image 1 / Text 2 references; Enter waits until every token has fully drained into the terminal.
Bracketed replayLong text references replay through bracketed paste with adjacent-token batching — fast, and structure-preserving for TUI apps.
Push-to-talkHold-to-record microphone input with transcription into the composer; auto-send optional.
Prompt queuePrompts can queue until the session cools down or the current turn returns to you — visible in the composer area and cancelable.
Prompt restoreArrow-up restores your recent prompts into the composer.
Agent shortcutsDirect controls for the Agent Controller model picker, plan-mode toggle and goal commands where the session supports them.

Automation Bar

Reusable prompt actions with scheduling, per session.

Reusable actionsSave a labeled prompt as a button on the session. The first prompt line becomes the label if you don't name it.
Command chainsMulti-step prompt sequences where each follow-up waits for the session to cool down before sending.
Fire-and-forget / cooldown triggersRun immediately, or queue once until session heat drops below 25%.
Repeat triggersRepeat a full action n times, or on a fixed interval in seconds, minutes, hours or days.
Scheduled triggersQueue actions at clock times — daily, weekdays or weekends, with multiple slots per action.
Scheduled wakesQueue a one-off future prompt by delay or timestamp (30s to days). Survives helper reloads; cancelable from the queue.
Visible queue stateQueued work shows why it waits (cooldown, turn, schedule, repeats left) instead of disappearing into a black box.

Agent Controller Sessions

Structured provider runtimes built on canonical runtime events, never on PTY-text inference.

Provider-backed runtimesCodex, Grok Build, OpenCode, Gemini CLI and Copilot CLI have built-in Agent Controller definitions; validated local ACP-v1 agents can be added through acp-agents.json. Turns, tools and streams come from provider events, never scraped terminal output.
Canonical historyServer-owned history with stable per-turn and per-item identity, rendered as a timeline the browser windows over.
Streaming output & reasoningAssistant responses stream live; reasoning and reasoning summaries render as their own items.
Tool call renderingTool calls cluster with bounded output lines (configurable), command output and file-change output typed distinctly.
ApprovalsApprove-once / decline controls with explicit pending-approval state — the turn cannot continue silently.
Plan mode & questionsPlan-mode toggling plus structured agent questions: single-select, multi-select and typed answers with progress tracking.
Working diffsDiff items with renamed and deleted file labels and long-diff truncation.
Sortable markdown tablesTables in agent output get per-column sort and filter.
History windowingThe browser holds only a bounded window; navigation is keyed to canonical item indexes, not DOM-height guesses.
Terminal/Agent lane boundaryRunning codex in a normal terminal never auto-promotes the session. Live attach is refused while Terminal owns the active turn, with honest read-only history instead.
Catalog & launch defaultsThe launcher discovers installed ACP agents, validates custom definitions and keeps model, mode, environment and capability differences provider-scoped.
Conversation display optionsMessage font, timestamps, unknown-message visibility; agent image sends capped at 10 MB.

Session organization

Naming, grouping, activity and workspace state attached to each session.

Grouped sidebarHuman-controlled and agent-controlled sessions separate; filter, rename, and per-session notes inline.
Output heatAn event-driven activity indicator per session — real output pushes it red, then it cools. No server polling.
Attention signalsBell history and ranked attention scoring surface which agent session needs input first.
Session topicsA short visible purpose label per ad-hoc session, settable from the UI or by agents via CLI.
Bookmarks with lineageBookmarked sessions keep identity across replacements — history and settings follow the bookmark.
SpacesPin working directories to the sidebar; Git repos rediscover their worktrees automatically. Search across spaces, worktrees and sessions.
Worktree lifecycleCreate purpose-named worktrees (branch and folder derived), rename, and delete with dirty-state double confirmation. Detached, locked and prunable states are labeled.
AI collision warningLaunching a second AI session into a workspace that already has an active one asks first.
Git init & cloneInitialize a repo or clone via HTTPS/SSH straight from the session launcher's directory browser.
tmux-style splitsSide-by-side panes through tlbx's tmux emulation — split, send-keys, capture-pane, resize, kill — with layout managed by the web UI.
Quick LaunchPin sessions for one-tap relaunch; star and manage recent launches.
Directory-browsing launcherNew sessions start from a real directory browser with new-folder creation and writability checks.
Status badgesOutput-overflow and pasting badges show transient session states directly in the UI.

Input history

A deterministic record of sent input — never reconstructed from screen contents.

Deterministic captureOnly browser-authored input committed by an unmodified Enter becomes an entry. Modified Enter, agent multiline bursts and pasted newlines stay inside one item.
Four kindsPrompts, pastes, images (with thumbnails) and file uploads, each timestamped.
Session-owned timelineHistory lives in each session's top bar (Alt+H) as a vertical timeline — it is not a global surface.
ReplayRe-send any entry into the original or the active session; delete single entries or clear per session.
Bookmark persistenceFor bookmarked sessions, history follows the bookmark lineage across session replacements.
CLI parityList, show, replay, delete and clear are available to agents as machine-readable commands.

Files & images

Files, uploads and images that belong to a session, shown next to it.

Files tabDirectory tree with file preview per session, rooted at the session's working directory.
File viewerModal or docked to the right; fullscreen, refresh, save, and download. Binary files get a download hint instead of garbage.
Image pan & zoomCursor-anchored wheel and pinch zoom, drag pan, double-tap fit↔100%, a compact zoom HUD, and pixelated rendering past 300% for pixel-level screenshot inspection.
Drag & drop uploadDrop files onto a session to upload; small text files (≤40 KB) can paste directly into the terminal.
Upload artifactsPasted and dropped files land under the workspace's .tlbx/uploads with their path inserted into the terminal.
File RadarRecently changed files surface per session without a manual refresh.
Terminal file linksFile paths in output open in the viewer.
Large-file handlingBig files load truncated with an explicit load-remaining control.
Saved scriptsA Commands tab lists script files from .tlbx/ — create, edit, run, stop and delete them per session.

Git integration

Repository state beside the terminal — including repos that are not the working directory.

Multi-repo watchThe cwd repo is tracked automatically; agents and users bind additional repos with roles and labels, scoped to the session.
IDE-bar repo chipsBranch, ahead/behind and change stats per repo; chips use the full available width before overflowing into a dropdown.
Sidebar Git chipThe session row shows repo label and real branch — additions green, deletions red.
Git tabStaged, changed, untracked, conflicted and stashed files plus recent commits.
Survives updatesManually tracked repos are merged into update-state capture and restored after restarts.
API + CLI parityThe same watch list is readable and writable via the Git API and generated repo commands.
Worktree root settingChoose where tlbx creates new worktrees, or keep its default folder.

Dev Browser

A proxied browser pane inside the workspace, for the app the session is building.

Server-side proxyPages load through the tlbx host, so localhost apps on the remote machine render in your browser without exposing their ports.
Deep URL rewritingsrcset, CSS imports, protocol-relative URLs, Link/Refresh headers and lazy media are rewritten to stay inside the proxy; stale integrity and restrictive upstream policy headers are stripped.
Named previewsuser1 / user2 style contexts with isolated cookie jars, targets, proxy logs and popups — multi-role login testing in one terminal.
Browser-grade URL barEnter navigates, Escape restores, Ctrl/Cmd+L focuses and selects; Go and Reload plus force-reload with cache busting.
Screenshot to terminalOne click drops a screenshot into the session (Ctrl+click downloads instead).
DOM snapshotsFull DOM captures with downloaded CSS, stored as session artifacts.
Console & proxy logsBrowser console capture (error/warn/all) and a request log with status codes, upstream URLs and WebSocket entries — plus a compact error summary.
Responsive viewportSet exact viewport dimensions for layout checks; a mobile emulation toggle sits in the URL bar.
Mobile Device BridgeAn optional Chrome MV3 extension turns your local Chrome into a real top-level Pixel-8 target — true DPR, UA, touch, rotation, lifecycle and keyboard behavior with native CDP screenshots — even when tlbx runs remotely. Chrome Web Store or embedded ZIP.
Detach & dockPop the preview into its own window and dock it back; a dedicated mobile detach path exists for phones.
Consent handoffFlows that refuse iframes open top-level through the proxy and warm cookies for the embedded pane. Iframe context is never cloaked.
Blazor/SignalR awareServer-rendered apps with routed pages, negotiation and form posts work through a scoped base href.
State hygieneInspect the cookie jar; clear cookies, storage, cache and service workers; reset a preview wholesale when its state is stale.
Upstream toleranceExplicitly targeted previews proceed through upstream certificate errors, and mixed IPv6/IPv4 DNS targets fall back to a reachable address.

Agent CLI & workspace guidance

Agents inside tlbx get the same control surface you have — documented, generated, machine-local.

Self-provisioning workspaceEntering a directory generates .tlbx/ with agent guidance and CLI helpers. Guidance is hash-stamped: any product update refreshes stale copies automatically.
Identical guidance for every frameworkCLAUDE.md and AGENTS.md carry the same content, so Claude Code, Codex and anything else read one truth.
~90 generated commandsBash functions and PowerShell functions plus aliases, covering browser control, terminal steering, sessions, Git, history and the control plane. Every documented command exists; that is test-enforced.
Session context injectionMT_SESSION_ID and MT_PREVIEW_NAME are injected per terminal; a context command re-exports them for nested shells.
Browser control from the shellOutline, query, attributes, computed CSS, click, fill, submit, scroll, execute JS, wait, links, forms and page text against the live preview.
Compact diagnosticsOne inspect command bundles page, status and proxy state; a capabilities command reports what this build's browser bridge actually supports.
Terminal steeringANSI-stripped tail, literal text, named keys, activity heatmaps and buffer reads against any session the caller may access.
State-aware promptingPrompt delivery decides shell vs idle vs busy server-side; an interrupt-first variant and slash-command routing exist for explicit takeovers.
Worker bootstrapOne command creates an agent-controlled session, injects guidance, launches a chosen AI CLI profile and can send initial slash commands.
Isolated background runsLaunch browsers, profilers or daemons with closed stdin and separate stdout/stderr artifact files — child noise can never corrupt a foreground TUI.
One-click agent enablementA session menu action injects the guidance prompt into a running AI CLI so it discovers the tlbx surface mid-session.

Control plane

An outlet for agents to publish facts — tlbx stores them verbatim and infers nothing.

Work itemsAgents publish todos, mail replies, coding tasks and next steps with priority, project and source reference.
Published statusExplicit session meaning — working, waiting, needsInput, blocked, done — written by the agent, never guessed from terminal text, heat or timing.
CheckpointsDurable timestamped progress and verification facts.
Ordered eventsAn event feed derived only from explicit control-plane mutations, with a sequence cursor — no transcript interpretation.
Multi-session dispatchFan one prompt out to an explicit session set; each target returns its own accepted/queued/error result.
Capability discoveryProduct feature flags and exact per-session prompt modes, machine-readable.
Fleet attentionA ranked view of which agent-controlled sessions need input first, available to supervising agents.

Security & access

Self-hosted means the trust boundary is yours. tlbx keeps it explicit.

Password authPBKDF2-hashed password; secrets in platform storage, not in the repo or browser.
Sliding sessionsEight-day sliding browser sessions with background renewal and one logical identity. HTTP APIs and every control WebSocket share the same lifetime.
Immediate revocationLogout or password change cuts every socket and token at once. Expired auth recovers through one login flow — not through half-broken uploads.
API keysNamed machine tokens for agents and automation, shown once, last-used tracking, instant revoke. Bearer or X-API-Key.
Built-in HTTPSA generated certificate with its SHA-256 fingerprint surfaced at login, in settings and on the trust page.
Trust helperPer-platform certificate install: mobile profiles, desktop downloads, the trusted-address list, and fingerprint verification guidance.
Certificate lifecycleAuthenticated regeneration with restart; read-only bootstrap routes are the only public certificate surface.
Strict public surfaceUnauthenticated access is limited to exact owned assets; extension-suffixed paths cannot reach protected APIs.
Windows Firewall controlAdd or remove the rule for the current port from settings, with loopback-binding detection so you know when a rule would do nothing.
Bind address controlListen on all interfaces or loopback only — your VPN is the perimeter, tlbx does not pretend otherwise.
Terminal user identityService installs can spawn terminals as a specific user instead of the service account.
Scoped share linksOne-hour session shares, full-control or view-only, terminable early.
Open sourceAGPL-3.0. The whole surface described on this page is inspectable.

Multi-host & Hub

Each machine runs its own tlbx. The Hub connects them without pretending they are one computer.

Independent instancesOne install per host, each with its own identity, sessions and update state. No shared filesystem fiction.
Hub registryRegister other hosts by URL with an API key (password fallback) and manage them from one frontend.
Fingerprint pinningPin each machine's TLS fingerprint; trust state is explicit per host.
Remote sessionsCreate terminal sessions on registered hosts, with an optional remote working directory.
Remote update controlSee update state and trigger updates on connected machines.
Version-skew warningsMajor/minor mismatches between hosts are flagged before they cause inconsistent behavior.
Multi-instance installsOne machine can host several isolated tlbx services — separate settings directories, service names, ports and update scopes.

Appearance & theming

From plain dark terminal to translucent wallpapered workspace, with enforced readability floors.

UI themesDark, Dark2, Light, Solarized Dark and Solarized Light, stored per browser origin so two instances don't leak themes into each other.
Terminal color schemesAuto (follows theme), Campbell, Mac Terminal Dark/Light, Matrix — plus custom scheme editing.
Brightness boostA 0–100 slider interpolates foreground and ANSI text toward white for dark-grey TUIs. Backgrounds stay untouched, including under WebGL.
WallpaperUpload a PNG/JPG background, cover or contain fit, optionally hidden on mobile.
Ken Burns motionSlow zoom-pan animation over the wallpaper with zoom and speed controls; pauses while the tab is hidden.
Three-layer transparencyIndependent 0–100% sliders for UI chrome, terminal panes and terminal cell backgrounds.
Readability floorsWallpaper-aware text treatments keep the sidebar and controls legible at maximum transparency over bright or cluttered images.
Typography controlFont family, size, weight, bold weight, line height and letter spacing for the terminal; a separate ligature toggle for the Command Bay.
Tab title modesBrowser tab shows hostname, a static label, session name, terminal title or the foreground process.
Scrollbar modesTerminal scrollbar off, on hover, or always.
Cursor stylingStyle, blink and unfocused presentation, separate from the app-controlled cursor state.
Agent message fontsDefault, sans or serif for Agent Controller conversation text, with optional timestamps.
Localized everythingEvery appearance control ships in all ten UI languages.

Updates & distribution

Channels, in-place updates and native packaging — web-only updates leave running terminals untouched.

Two channelsStable and dev (pre-release), switchable in settings.
Web-only updatesUI-only releases update mt while every terminal stays connected — "refresh when convenient" is literal.
Full updates with restoreHost-level updates capture session state first and restore names, spaces, monitors and agent launches after restart.
In-app changelogRelease notes shown after updates and browsable anytime, with an update log for the applied steps.
Sidebar quick updateUpdate availability surfaces in the sidebar with one-click apply; prominence is configurable.
Atomic stable releasesA stable release stays draft until tests pass and all six platform archives exist signed and nonzero — a visible release can never have missing assets.
Six native targetsWindows x64/x86 (signed), macOS Apple Silicon/Intel (signed and notarized), Linux x64/arm64.
Allowlisted discoveryUpdaters resolve through get.tlbx.ai against an allowlist, with the legacy repository coordinate as automatic fallback.
npx trialAn ephemeral npm launcher exists for quick trials — explicitly not the persistent setup.
Stable identityExecutables (mt, mthost, mtagenthost), services, settings paths, certificates, session data and PWA identity survived even the MidTerm→tlbx rename. Installs update in place, never reinstall.

Languages & accessibility

Ten locales, parity-enforced at build time.

Ten UI languagesEnglish, German, Spanish, French, Portuguese, Russian, Japanese, Chinese, Hindi and Bengali.
Locale parity gateA build check fails releases when any catalog is missing keys — locales cannot silently rot.
Auto or explicitBrowser-default language detection with a manual override.
Contrast enforcementWCAG AA, AAA or maximum contrast floors for terminal output.
Reduced motionReveal and wallpaper animations respect prefers-reduced-motion.

Performance engineering

Native AOT binaries; a transport with explicit backpressure and accounted loss.

Native AOT.NET 10 ahead-of-time compiled single-file binaries — no runtime install, fast start, small footprint.
Runtime priority policymt, mthost and mtagenthost run at AboveNormal priority (configurable) so the workspace stays responsive while compilers saturate the machine.
Bounded priority writerOne WebSocket writer per client caps queued work at 2,048 frames / 8 MiB and orders control > active > visible > recovery > background.
Loud degradationSlow clients deprioritize hidden-session output as accounted loss with automatic resync — memory never grows unbounded, data never vanishes silently.
Real backpressurePooled buffers are explicitly released on saturation and disposal; there is no silent-drop path.
Output coalescingTiny output chunks batch to reduce frame pressure; an optional input-coalescing window exists for typing bursts (default off).
Worker offloadingCompressed frame decompression and file-change prefiltering run in workers with a main-thread fallback.
Hot typing pathInput frames are sent before session-activation hints; printable bursts flush without added latency.
Measured budgetsReleases gate on Chrome heap, DOM-node and frame-pacing budgets for the heavy paths.

Diagnostics

Latency, transport and rendering internals, inspectable per session.

Latency HUDServer RTT, mthost RTT and output round-trip for the active session — type to measure.
Input latency tracingOpt-in per-keystroke tracing with a rolling 15-second graph and an optional on-terminal overlay.
Sequence pipeline viewSource → mux → browser-received → browser-rendered sequence numbers, IPC backlog, last replay, reconnects and data-loss counters per session.
Terminal buffer dumpDownload the exact buffer state for bug reports.
Key event logCapture Enter and modifier events so keyboard remap issues are directly visible.
Browser session treeWhich tabs are connected, which one leads automation, and what each has active.
Perf recorderAn opt-in recorder captures RAF pacing, long tasks and terminal/WebGL summaries from the affected window.
Operational controlsFile-path panel (settings, secrets, certificate, logs), settings reload from disk, server restart, and per-module frontend log levels via the console.

Voice control

An optional realtime voice bridge over the same explicit control surface.

Voice Assistant paneStart/stop, microphone selection and speech speed in the sidebar footer.
Voice chat panelThe conversation with tool calls, requests and responses rendered inline.
Session & browser toolsVoice can select sessions, dispatch prompts, read activity, run scoped Dev Browser commands and capture screenshots.
Campaign stateGoal, phase, targets and exit criteria persist across turns and reloads for multi-session voice work; reports synthesize from published state.
Confirmation gatesMutating actions require explicit confirmation; read-only actions run without prompts.
An unhandled error has occurred. Reload X