HomeBlog › \"So it's tmux with AI?\" — a five-minute tour that says otherwise
Blog

\"So it's tmux with AI?\" — a five-minute tour that says otherwise

Jul 19, 20265 min readBy the Rysh team

The fastest way to answer the most common question about rysh: a five-minute tour, one minute per capability tmux structurally can't have.

Every single demo of rysh gets the same first question: "so… it's tmux with AI?"

Fair question. It looks like a multiplexer. It has panes and tabs and keybindings. I love tmux and rysh exists partly because Zellij raised the bar on what a multiplexer could feel like.

But "tmux with AI" implies you could get here by bolting a chatbot onto a pane. You can't, and the fastest way to show why is a tour. Five minutes, one minute per thing, each one structurally impossible in the glass-pane model. Clock starts now.

Minute 1 — install, and notice what's missing

brew install rysh-ai/rysh/rysh
rysh

One self-contained binary. The message bus (NATS) is embedded; session state persists in an embedded KV store. No daemon to configure, no broker to stand up — detach with Ctrl+O d, close the terminal, come back tomorrow, rysh attach and your panes are where you left them, agents included.

So far, admittedly, this is multiplexer territory — tmux persists sessions too. Keep going.

Minute 2 — double-tap Escape

Open a pane. It's a real terminal — run vim, run htop, they work (there's a proper terminal emulator underneath, not a text scraper). Now double-tap Escape:

$ go test ./...                       # shell mode
[Esc Esc]
> why did TestSnapshot just fail?     # prompt mode — same pane

The same pane is now a conversation with an agent that has your working directory, your context, and 46+ tools — file editing with diffs, git, search, test running, web. Flip back with another double-tap. There is no "AI window." The pane itself is bilingual.

This is the first structural break: a tmux pane has exactly one stream (whatever the process printed). A rysh pane maintains separate streams — shell output, AI output, chat, system — which is what makes everything after this minute possible.

Minute 3 — spawn a coworker from a markdown file

##agent spawn code-reviewer.md

That markdown file — persona in the body, config in the frontmatter — just became a named, autonomous agent running its own tool-use loop. Talk to it from any pane:

@code-reviewer review the diff in pane 2

Agents are addressable participants in the workspace, not processes you grep for. And because the definition is a file, your agents live in git: reviewable in PRs, diffable, revertable. Try expressing "my colleague is version-controlled" in tmux.

Minute 4 — share the pane, for real

##share pane view        # → returns a share ID

A teammate, on another machine, in their own rysh:

##upstream subscribe <share-id> view

They're watching your pane live — the agent's tool calls, the diffs, the approvals — from their own terminal. view is read-only; control is a per-share decision when you want a second pair of hands on it. tmux sharing means sharing a Unix socket on one machine; this is collaboration over a server, across machines, with trust levels per share.

(Honesty checkpoint: treat a shared pane like a screen-share — shared streams aren't value-scrubbed today, so don't share panes where credentials print.)

Minute 5 — leave the terminal entirely

The same engine behind that pane can be wired to the outside world. A humanoid is an agent with contact details — the channel config lives in the same markdown file, secrets as ${ENV_VAR} tokens:

##humanoid spawn support-bot
##humanoid channel start support-bot email

Now the agent answers your email inbox. Website chat too. Slack as well — we've timed brew install → agent answering a teammate on company Slack at 1:47, on camera. WhatsApp and phone are on the roadmap, and I'll keep calling them roadmap until they're real.

And the governance that made the terminal safe comes along: per-channel governance ai|human — in human mode, every outbound reply is a draft a person confirms before it posts (live for email and website chat today).

Time. ⏱

The scorecard

What in that tour could a multiplexer-plus-chatbot do?

Minute 1, sure. Minute 2, partially — until you need separable output streams. Minutes 3 through 5? Those need agents as first-class citizens of the architecture: every pane an actor with its own mailbox, coordination over a real message bus, approval gates at the tool layer, one engine reusable across surfaces. That's not a feature you add to tmux; it's a different foundation that happens to also be a great multiplexer.

So: is rysh "tmux with AI"?

It's a multiplexer the way a smartphone is a phone. Technically yes, and the name undersells it by exactly one era.

Also worth saying plainly: rysh runs on Anthropic Claude with your own API key — the model isn't our claim to fame; the surfaces and governance around it are. And it's self-hostable: your machines, your keys.


We're recruiting design partners. Terminal-native teams who want agents in the workflow — come break it, and shape what ships next: rysh.ai/design-partner

Related: Rysh vs tmux and Zellij · Every pane is a conversation

Try Rysh

Every pane is a shell and an AI agent — install takes one command.

Get started free →