Kururu is Guaraní for frog

Every coding agent you run, in one window.

Kururu runs Claude Code and Codex in terminals it owns, across all your projects. Tile them, hand them cards from a board, and talk to one session that keeps an eye on the rest, from your desk, your phone or Telegram. Close the window and they keep working.

Version 0.4.0 for Apple silicon · Intel build · Free and open source, Apache 2.0

Kururu's window: a sidebar of four project workspaces and their agents, a board with cards in To do, In progress, Review and Done, and below it an agent fixing a bug beside a shell running tests.
Workingthe mascot hops, because a glance catches movement
Blockedit is asking you something
Doneit finished a turn
Idlewaiting for the next prompt

Workspaces

Many agents, many projects, one layout

A workspace is a project. Split it into panes, stack tabs in a pane, and drag a tab or a whole pane anywhere, across workspaces too. Nothing stops because it moved.

  • Real terminals with colour, scrollback, selection and mouse. Agents and plain shells are the same machinery.
  • The sidebar lists agents, not tabs: what each is doing, where, and how much of its context window is gone.
  • A pane can be a document instead of a grid: markdown with highlighted code, images and diagrams, following the file your nvim is on.
  • Driven from a tmux-style prefix. C-a | splits, C-a h j k l moves, C-a 1…9 jumps.
A markdown guide rendered in a pane, with a highlighted code block and a table, beside the agent that wrote it.

Boards

A board for every project, and cards that start agents

Write the work down as cards. Press run on one and an agent starts on it in the agents' pane, with the card as its brief, and the card moves as the agent does.

  • A card can get its own git worktree. Finishing rebases and fast-forwards it back; a dirty tree or a conflict stays standing and says why. Nothing is forced.
  • An idle card's agent is put to sleep once its conversation is safe on disk, and running the card again resumes it.
  • What the agent made, a document or a file, is linked on the card after the agent is gone.
  • A profile board sits over every project, with a timeline for the cards that have dates.
A project's board. Cards in progress and in review show the agent working on them, its model, and an open button.

The harness

Kuru: one session that keeps an eye on the others

Kuru is a Claude Code session kururu starts for each profile, with kururu's own controls as its tools. Ask it to start an agent on the migration card, what the API worker said, or whether anybody is stuck. It starts agents in panes, reads their replies and screens, passes on what you tell it, and tells you when one finishes or needs you.

The Kuru drawer: spoken and typed prompts, Kuru's replies about the agents across projects, and a notice that one agent is blocked.

01 By voice

Hold the right Control key and speak, in any app. Recognition is Apple's, on the device; replies are read aloud by a small model on your CPU. No audio leaves the Mac.

02 From Telegram

Pair your own account with a bot you make, and message Kuru from anywhere. Anyone else who finds the bot gets no answer.

03 In the drawer

Every prompt and reply in one conversation, whichever way it came in, with the replies you missed marked unheard.

What Kuru says to an agent is typed into its terminal as your words. A permission prompt stays yours to answer. There is no API key: Kuru is a session on your own subscription, visible in a pane and resumable.

Needs you

Know which agent is waiting on you

One tray counts everything that wants your attention, grouped by project, and C-a o takes you to the next one.

  • An agent asking a question or waiting on a permission.
  • A card in Review.
  • A turn that ended while you were looking elsewhere.
  • A card whose agent went away without finishing.

A working agent is never on the list. A row leaves when its state does, not when you dismiss it.

The Needs you drawer listing four items in three workspaces, beside an agent asking permission to run a database migration.

On your phone

Watch and steer from the couch

The phone opens the same URL as the desktop. Scan the QR code in the sidebar, on your Wi-Fi or over your tailnet, and every agent is there.

  • One pane at a time, so the phone never shrinks the terminals on your desk.
  • A row of the keys a soft keyboard lacks: escape, tab, arrows, ^C.
  • The dev server you are building, proxied so it opens on the phone too.

Kururu listens on this Mac only until you press Share, and the code it shares is one nothing else on the network has. It never runs tailscale for you.

Kururu on a phone: the workspaces and every agent in them, with status and context used.
The Kuru conversation on a phone.

Machines

Agents on other computers, over ssh

Add any machine you reach with ssh: a VPS, a desktop on your tailnet. The sidebar shows its CPU, memory and disk, and a button opens a shell on it.

  • Pin a workspace to a machine and its shells, editors, agents and card runs open there, each in a named tmux session.
  • A dropped connection reattaches by itself. Closing the tab ends the session.
  • Copies made inside tmux or nvim on the far machine land on this Mac's clipboard.
$ ssh -t build-box tmux new -A -s kururu-api
attached · build-box · ~/src/api
$ bun test
  142 pass
  0 fail
Ran 142 tests across 31 files. [2.84s]
— connection dropped · reattaching —
attached · build-box · ~/src/api

How it is built

Quitting the window stops nothing

Kururu is three processes, and the window is the least important of them. Restart the server, close the window, close the terminal you started it from: the agents keep running.

  1. pty host

    Holds every terminal and outlives everything. Restarting it is the only thing that ends an agent, and the app asks first.

  2. server

    The layout, the boards, the protocol. Restarted freely; it reconnects to the host and nobody notices.

  3. window

    Finds a server and draws it, exactly as the phone does. A menu-bar frog runs the rest without a terminal.

Also in the box

The rest of a day with agents

File tree

Markdown opens in the reader, everything else in the nvim already running in that project.

Dev servers

Found on their own, listed under the agents, stoppable from their row, reachable from the phone.

Databases

A workspace's Postgres, from its .env, in a viewer that is read-only unless you flip it.

The web for agents

Search and scrape tools for every agent kururu starts, through a chain of providers you set.

Plan usage

How much of your Claude plan is left, in the sidebar, for whichever account the profile uses.

Logins per profile

Keep work and personal Claude and Codex accounts apart, one switch per profile.

Themes and skins

Palette and shape chosen separately, plus mascots, from a registry of styles.

Backups

Boards, conversations and settings to a private git repository of yours. Never a secret.

Get Kururu

A signed Mac app. Open it and a frog appears in the menu bar; it starts everything else. Bring your own Claude Code or Codex.

Version 0.4.0, October 2026 · Release notes · Build it from source

Talking to Kuru needs macOS 26 and brew install yap.