Persistent terminals and coding agents in any browser.
August 11, 2026 · View on GitHub
terminal browser multiplexer · say “toolbox”
Website · Install · Agent ergonomics · Remote access · Security · All features
Persistent terminals and coding agents in any browser.
tlbx is a self-hosted browser control station for remote AI coding agents. Run Codex, Claude Code, Gemini CLI, Grok Build, OpenCode, Copilot CLI, Antigravity CLI—or several together—on the machines that own your repos, credentials, and tools. Supervise them from any desktop, tablet, or phone browser.
tlbx is the new name of MidTerm. Existing installs update in place. The
mt,mthost, andmtagenthostexecutables, service identities, settings, session data, and release asset names remain compatible.
The browser is the control surface, not the runtime: close it, change devices, or travel, and the agents, PTYs, tests, and servers keep running. It's a general terminal too—pwsh, bash, or zsh and any PTY app, not just agents.
Technical guides: remote coding agents · coding-agent web terminal · features · architecture · install
Product screenshots
Codex, Claude Code, and OpenCode working the same project in adjacent tlbx sessions—each a real PTY, all steered from one browser tab.
Any shell, any terminal app
tlbx is a general terminal first. Run pwsh, bash, or zsh on Windows, macOS, and Linux hosts—and any program that speaks to a real PTY: btop, vim, lazygit, database shells, build watchers. Split sessions into tmux-style pane layouts and keep them all in one browser tab.
Agent CLI ergonomics
tlbx runs any terminal-native tool in a real PTY, but it is shaped around long-running coding agents:
- Run many: split, reorder, bookmark, and revisit independent agent, shell, test, and server sessions.
- Paste screenshots normally:
Ctrl+V/Cmd+Vuploads the image to the host and inserts its path. Structured agent sessions stage it as an attachment. - Compose real prompts: multiline input, per-session drafts, files, drag-and-drop, camera capture, reusable actions, and scheduled follow-ups.
- Reuse exact inputs: each session's History top-bar menu (
Alt+Hfor the active session) keeps direct Enter-submitted text, multiline prompts, pastes, images, and files replayable in place. - Let agents operate tlbx: generated
mthelpers expose history, capabilities, direct multi-session dispatch, ordered events, and the control plane as stable JSON. - Verify the result: open the app beside the agent; inspect DOM, console/proxy logs, responsive layouts, and screenshots.
- Leave and return: sessions survive browser disconnects, device changes, and travel.
Not SSH in a browser
SSH opens a shell connection. tlbx reopens the machine's living context: agents, terminals, files, Git, notes, logs, and app previews.
Run one independent tlbx instance per host. Open your home workstation, office laptop, or server as adjacent tabs. Bring LAN, VPN, or reverse-tunnel connectivity; tlbx becomes the working interface.
Install
The native installer configures the service, password-protected HTTPS, and updates.
macOS / Linux
curl -fsSL https://get.tlbx.ai/install.sh | bash
Windows PowerShell
irm https://get.tlbx.ai/install.ps1 | iex
The installer starts tlbx, waits until its process and HTTPS health endpoint are ready, and then prints clickable localhost and available Tailscale URLs for the configured port. Choose service mode for a host that should survive logouts and reboots; user mode needs no administrator access.
These commands install the current stable release. Add --dev on macOS/Linux or -Dev on Windows only when you explicitly want the prerelease channel.
Private remote access
tlbx is not a VPN or hosted relay. You choose the network path.
Recommended default: put the tlbx host and your client devices in the same Tailscale tailnet—or use an equivalent WireGuard mesh VPN—and open tlbx through its private address instead of exposing it publicly.
This is a strong security baseline: tailnet traffic is end-to-end encrypted, and grants/ACLs can restrict which identities and devices reach the host. Keep tlbx's HTTPS/password authentication enabled, use least-privilege rules, and keep both products updated.
Cloudflare Tunnel, nginx/Caddy, LAN, and other private-network setups also work.
Important
tlbx has no repository-hosting cloud. Repos, credentials, tools, and processes stay on each host. Agent-provider traffic remains subject to that provider's configuration and terms.
System boundary
| Part | Behavior |
|---|---|
| Host | One independent tlbx instance exposes one machine |
| Execution | Real PTYs use that host's repos, credentials, tools, hardware, and network |
| Client | Any authorized browser; several hosts can sit in adjacent tabs |
| Lifetime | Browser connections are transient; agents, shells, tests, and servers persist |
| Context | Working directory, scrollback, Git, files, notes, logs, and previews stay with the session |
Structured agent controls are runtime-dependent. Every terminal-native tool still works through its real PTY.
Trial fallback
For an ephemeral loopback trial:
npx @tlbx-ai/midterm
The launcher downloads the stable native binary and opens a browser. Use the native installer for persistent remote operation.
Architecture and source
browser anywhere
├── HTTPS / WebSocket ──► tlbx on home workstation ──► agents / repos / apps
└── HTTPS / WebSocket ──► tlbx on office laptop ─────► agents / repos / apps
tlbx uses .NET 10 Native AOT, TypeScript, and xterm.js.
Security and release integrity
Report vulnerabilities through GitHub private vulnerability reporting, not a public issue. The security policy describes disclosure handling and the support policy identifies the supported release lines.
Every native release archive has a matching platform-specific SPDX SBOM plus GitHub build-provenance and SBOM attestations. Installers and the built-in updater additionally verify a signed manifest and every packaged-file hash. See Release integrity for verification commands and trust boundaries.
Community client
midterm-gtk is an independent, community-maintained GTK4/libadwaita desktop client with VTE terminals. It connects through tlbx's REST and WebSocket mux/state channels. It is unofficial and is not maintained or support-guaranteed by the tlbx project.
git clone https://github.com/tlbx-ai/tlbx.git tlbx
cd tlbx
dotnet build src/Ai.Tlbx.MidTerm/Ai.Tlbx.MidTerm.csproj
Uninstallers: macOS/Linux · Windows
tlbx is GNU AGPL v3. Commercial licensing is available from tlbx-ai.