Show HN: Bento Term – native tmux client with agent states and voice input

novashang1 pts0 comments

Bento Term — a terminal for watching and talking to your agents

Open source (Apache-2.0) ·Native Swift, not Electron ·No accounts ·tmux underneath — bundled, and fine if you've never used it

One screen

A whole team, one screen

Every agent gets a pane, tinted by what it's doing. You read the room<br>instead of visiting each one.

Four states. Working,<br>waiting for you, done-and-unread,<br>idle.

Parallel and Focus. All tiled, or one full-size with the rest in a sidebar —<br>switching moves the real panes.

Nothing in your shell. No init line, nothing for the agent to cooperate<br>with — states come from what the pane already prints.

Focus

Parallel

Voice

Say it, don't type it

Hold right-click on a pane and talk. You speak about three times faster<br>than you type.

It reads the screen, so file names and jargon come out right — including<br>mixed Chinese/English.

Slide while you hold. Up sends, down cancels.

Three engines. Apple on-device, Qwen, OpenAI — ours, or your own key.

Continuity

Leave the desk, not the work

The work lives on the machine, not in this window. Quit the app, close<br>the laptop, lose Wi-Fi — it keeps going.

Real tmux. Your tmux ls sessions, your ~/.tmux.conf,<br>your prefix key.

Anything with sshd and tmux. Your Mac, a Linux<br>server, WSL on a Windows box. Plain SSH, and nothing of ours installed there.

Same panes on your phone. Attach from iPhone or iPad, mid-run.

Not three features — one way of working.

Parallel agents make faster input worth having. Faster input keeps parallel<br>agents from piling up. Neither one resets when you stand up. That's the whole argument, and<br>it compounds.

Download for Mac

Day to day

Things you'll use every day

See the files, not just the output

Every pane carries its working directory, so its file tree is always one click away —<br>any depth, search included. When an agent prints a path, click it; the file opens with<br>syntax highlighting and a line gutter, even at :42, and even if a TUI<br>truncated the line. PDFs, images and documents go to Quick Look. From an iPhone it's the<br>same tree over the same SSH connection — read a file on your Mac or your server, and save<br>it out.

Panes move like windows

Split right or down, then drag a pane by its title bar to wherever it fits — including<br>into another session. Or duplicate one and get a second pane in the same directory running<br>the same thing. It isn't a view of a layout: every drop is a real tmux move, so a<br>tmux attach from anywhere else agrees with what you see.

Never type a command again

If you'd rather not, you don't have to. Pick a folder, pick an agent, pick a layout —<br>Bento opens the panes and starts the agent in every one of them. Four Claude Codes in one<br>repo is three clicks and no shell. Everything after that is one ⌘P away.

Under the hood

Built like a terminal, not a wrapper

tmux control mode

Bento speaks tmux's -CC protocol instead of typing at it: layouts and<br>pane lifecycle arrive as notifications, and almost nothing is kept locally. tmux holds<br>the state, so a plain tmux attach from any other terminal shows exactly<br>what you were looking at.

libghostty rendering

The same GPU-accelerated core as Ghostty, on the Mac and on iPhone and iPad — not a<br>webview, and not a second implementation for mobile. Parsing and drawing run on separate<br>queues, so a frame stalled on the GPU can't freeze your keyboard.

Configurable state detection

Every agent is a profile: output patterns, title patterns, prompt boundaries, quick<br>keys — editable, and extendable to a tool nobody has heard of. Want it deterministic<br>rather than inferred? Have the agent's own hook print a marker and match on that.

Read the source →

And the rest of the box

Small things, done properly

⌘P command palette<br>Every command, session and pane behind one fuzzy search — and where new features show up.

Your ~/.ssh/config<br>The hosts you already have, one click from the launcher. Nothing to re-enter.

⌘F in the scrollback<br>Search runs in the terminal engine, not over a copy of the text — matches highlight in place.

Bring your own theme<br>Import any iTerm2 .itermcolors. Light, dark, or follow-system.

Any monospaced font you own<br>Enumerated from the system, not a list of four someone picked for you.

Built for the phone<br>Keyboard avoidance that follows the real cursor, an inline compose bar for CJK, and proper scroll inertia.

Side by side

How it compares

Bento TermTerminal.appiTerm2GhosttyVVTermWezTermWarp

Split panes<br>✓—✓✓✓Pro✓✓

tmux control mode (-CC)<br>✓—✓—in progress———

Agent state detection<br>✓——————own agents only

Voice input<br>✓———✓——

iPhone & iPad app<br>✓———✓——

File browsing & preview<br>✓———✓——

GPU rendering<br>✓—✓✓✓✓✓

Open source<br>✓Apache-2.0—✓✓✓GPL-3.0✓✓client only

No account needed<br>✓✓✓✓✓✓✓AI features need login

As plain terminals these are all excellent — Ghostty's engine renders Bento and<br>VVTerm alike. Checked against each project's site and repo, August 2026.

Privacy

Yours, on your machine

No accounts — there's nothing to sign up for. Your...

tmux agent pane from bento nothing

Related Articles