kumo

Introduction

Kumo is a terminal multiplexer that weaves your AI agents together into a single web.

Kumo (θœ˜θ›› β€” spider in Japanese) is a terminal multiplexer that weaves your AI agents together into a single web πŸ•ΈοΈ. Every pane is a live terminal, every AI CLI you run (opencode, claude, codex, …) is a thread in that web, and the sidebar keeps you aware of what each agent is doing at a glance β€” because a spider always knows what's happening in its web.

It is built in Rust with a single TUI frontend on ratatui, real terminal emulation from libghostty-vt (Ghostty's headless terminal core), and portable-pty for PTY management.

And it's featherweight πŸͺΆ: while you work, kumo itself idles at ~0.7% CPU and ~6 MB of memory β€” the real cost is whatever you run inside its panes, not the multiplexer.

Features

  • πŸ–₯️ Real terminal emulation β€” each pane is a genuine VT/xterm emulator (vendored Ghostty). Shells, TUIs, and full-screen apps behave exactly like in a native terminal: cursor, colors, scrollback, the works.
  • 🧩 Split panes & sessions β€” binary split tree (vertical/horizontal), mouse-drag resizing, zoom, multiple independent sessions, tab cycling.
  • πŸ€– AI CLI panes β€” spawn a dedicated pane running your AI CLI with one keystroke, or run any agent in a shell pane: kumo auto-detects the process and weaves it into the sidebar.
  • 🟒🟠βšͺ Agent status at a glance β€” each agent shows a status dot: green = working, orange = blocked (waiting for approval), gray = idle. Detected from the live terminal buffer, so it stays accurate while you scroll.
  • πŸ”” Audible alerts β€” a distinct chime when an agent blocks or finishes; blocked agents float to the top of the AGENTS list and their pane glows orange, even without focus.
  • πŸ“‹ Native text selection β€” drag to select in any pane, even inside apps that own the mouse (opencode's TUI, vim, less).
  • 🐣 Plain-tty identity β€” panes present as a plain xterm-256color (no mouse capabilities advertised), so apps don't hijack the mouse and selection always works.
  • πŸ•ΈοΈ Orchestration β€” kumo agent wait/prompt/read and kumo pane wait-output let agents (and you) drive any pane and wait without polling β€” pinned to the pane occupant, bracketed-paste aware. See Orchestration.
  • πŸ“‚ Workspace-aware β€” kumo opens in the directory you launch it from; every new pane/session starts there.

On this page