Alpha · macOS + Linux

Terminals that outlive the window.

Yolo keeps every coding-agent PTY alive when the TUI closes, the Host restarts, or you reconnect from another machine. Start Claude Code or Codex in a normal shell. Detach. Pick it up later.

MIT licensed · Rust + Bazel · native client.

yolo · local hubalpha

$ yolo

hub local · 3 agents · 2 shells

● claude running ~/src/api

approval needed · 12s

● codex running ~/src/web

● shell idle ~

$ Ctrl-B d

detached. workers stay alive.

$ yolo attach

✓ runtime epoch preserved

$

The problem

Closing a window should not kill the work.

Most terminal workspaces stop at tabs and panes. Yolo starts one level lower: each PTY has an owner that is independent of every client and survives client, Host and Worker replacement.

Ordinary terminal

The PTY belongs to the window

Close the client, lose the shell. Restart the machine, reconstruct the session from saved commands and hope the agent can resume.

Yolo

The PTY belongs to a Worker

The client is a view. The Host is replaceable. The Worker owns the PTY, output journal and process tree; recovery uses exact runtime epochs.

What you get

Agent-aware, not agent-shaped.

Yolo does not turn Codex or Claude Code into a structured API. It supervises the real terminal and adds only the provider evidence needed for status, interaction and native resume.

01 · Custody

Persistent PTYs

One Worker per terminal. Detach, crash or replace the client and Host without hanging up the process tree.

02 · Entry

No agent picker

Every tab starts your shell. Yolo observes what you launch and binds the provider after its authenticated hook handshake.

03 · Recovery

Native resume

After a reboot, a validated provider binding runs the provider's own resume command. Generic shells stay honest about needing recreation.

04 · Control

One writer, many viewers

Explicit writer leases serialize input. Observers attach without stealing control; takeover is a deliberate action.

05 · Federation

Local and remote Hubs

One Hub can expose local and peer machines. Shared layouts stay separate from private focus, zoom and Chat drafts.

06 · Clients

TUI, browser, plugins

The TUI is first-party. The Bun web client and trusted plugins consume the same public protocol; none of them owns a PTY.

Architecture

Views above. Custody below.

Rust owns terminal identity, leases, PTYs, journals, supervision and recovery. A single executable supplies each role; clients connect through the Hub public protocol.

TUIfirst-party client
Web clienttrusted plugin
Pluginspublic protocol
│ public Hub protocol
Hublayout · inventory · federation
│
Hostrecovery · custody reconciliation
│
WorkerPTY + journal
WorkerPTY + journal
WorkerPTY + journal

Quickstart

Install a release or build from source.

Install the latest stable release with one command, or build the same executable from source with Bazelisk. Cargo is dependency metadata; there is no second build system.

terminal
# latest stable release
curl -fsSL https://raw.githubusercontent.com/AgentsMesh/YoloShell/main/scripts/install.sh | sh

# or build from source; Bazelisk is pinned by .bazelversion
git clone https://github.com/AgentsMesh/YoloShell.git
cd yolo
bazel build --jobs=1 //core:yolo
bazel run --jobs=1 //core:yolo

# inside the TUI: start an agent normally
claude

# detach and reconnect later
Ctrl-B d
yolo attach
Step 1

Install one executable

The TUI, Host, Hub, relay, broker and Worker roles all come from the same Rust binary.

Step 2

Work in normal terminals

Launch any TUI. Yolo recognizes supported agents after launch and keeps provider evidence separate from terminal bytes.

Step 3

Close the window whenever

Detach, reconnect, replace the Host, or use the browser client. The Worker and PTY stay put.

Web client

Same terminals. Browser view.

The reference plugin projects the Hub catalogue, live xterm.js terminals, Chat history, typed interactions, creation jobs and archive history over an authenticated same-origin session.

Plain HTTP plus a bearer token is a trusted-LAN mode. Browsers never receive the management socket, raw Hub ID, lease grant, creation capability or Hub token.

127.0.0.1:4199

AGENTS

● claude

● codex

SHELLS

● api

NEEDS YOU

● approval

claude
The migration is ready. Allow the test command?
Allow · Deny
terminal
$ cargo test
✓ 214 passed

Providers

Bring the agent you already use.

Claude Code and Codex are the accepted Alpha targets. Gemini CLI, Qwen Code and Grok Build are experimental adapters with hooks and native resume.

accepted Claude Codeaccepted Codexexperimental Gemini CLIexperimental Qwen Codeexperimental Grok Build

Status

Alpha, with the limits written down.

Yolo is usable for daily terminal work on Apple Silicon macOS and Linux. The Alpha contract lists the accepted providers, recovery guarantees, deferred remote workflows and the verification approach. Read it before depending on a lifecycle promise.