phux docs
concepts

When to use phux (and when not to)

Decide whether phux fits you today. It is a multiplexer whose terminals are objects other programs attach to, inspect, and drive.

evolving document
Full source summary

Decide whether phux fits you today. It is a multiplexer whose terminals are objects other programs attach to, inspect, and drive. The headline case is a human and their agents sharing the same live terminal. A battle-hardened local multiplexer with a decade of muscle memory is still tmux. Find your row below.

Find yourself

You arephux?Why
A human who wants their agent to see and drive the same terminal they doYes — this is the pointOne server, many consumers; the agent attaches to your live pane, reads its grid, and types into it.
A human who wants a native macOS client on those same terminalsYesCockpit ships, independently versioned. Install is in INSTALL.md.
An agent author who wants structured, scriptable terminal controlYesls/snapshot/send-keys/run/wait/watch/ask/agent with --json, plus phux-mcp. The CLI + JSON schema is the contract.
A team composing terminal-native coding agentsYesPublic Codex/Claude integration fixtures, plugin workspace profiles, and MCP tools give you a phux-shaped agent bench without an in-process plugin host.
A tmux user who wants a modern, protocol-honest multiplexerYesAttach/detach, splits, status bar, keybindings, visible help hints, and copy/navigation affordances work.
Someone on one SSH session who just wants splits and persistenceProbably not yettmux already does this well and phux adds no wire advantage for a single local user. Revisit when you want remoting or agents.
A fleet operator who wants to drive terminals across machinesYes, with a hub-and-spoke limitA configured hub aggregates and routes satellite Terminals addressed as host/@N; it does not merge remote session/window models or chain satellite routes.
Someone who wants their agent’s own event log held next to its terminal, readable by the same toolsYes, in this treephux agent session open / close, phux agent emit, phux agent log. %name resolves an AgentSession. Older brew/curl releases may not advertise it; phux status --json is the check.

Gaps

Status table in CONCEPTS.

Go deeper

View exact source