Download

A console for Claude Code

See which agent is waiting on you.

Kiryn lists every Claude Code session on your machine and shows what each one is doing. When a session stops to ask you something, Kiryn marks it so it doesn't sit there unanswered. It runs entirely on your computer.

kiryn
Answering a session, then building the ticket it filed · real console, sample workspace · full size

01The fleet

The Fleet board

Each Claude Code session on your machine gets a numbered card. Kiryn reads the transcripts Claude Code already writes, so sessions you started in your own terminal show up too. A session that has stopped to ask you something is marked on its card. From the board you can open a session and type into it, and any session can be attached to a full terminal window.

repo · branch
which checkout it's in
tool
what it's running this second
context
how full its window is
asked you something
the one that needs you
kiryn
The Fleet board: two sessions running, box 4 marked asked you something, and the live activity feed
The Fleet board, with box 4 waiting on you · real console, sample workspace

02How it behaves

How Kiryn handles input

Kiryn opens terminals and passes your input to them, and Claude Code does the actual work. These are the rules for what Kiryn will send, and when.

  1. 01

    Speech goes where you point it

    There are two buttons: one to talk to Kiryn and one to talk to the session in front of you. When neither is on, Kiryn ignores the microphone. A voiceprint also filters out other people in the room before anything is transcribed.

  2. 02

    Dictation is typed, not sent

    What you say appears in the session's input line as you speak, and nothing is sent until you say "send it" or press Enter. If a model wrote a command, Kiryn shows you the exact text and waits for you to approve it.

  3. 03

    Ambiguous requests get a question

    If two tasks match what you said, Kiryn asks which one you meant. A command set up for one project won't run in another.

  4. 04

    Menus become buttons

    When a session shows a numbered menu, Kiryn reads the options and shows them as buttons. You can click one or say it.

  5. 05

    Everything sent is logged

    Every line Kiryn sends to a session is written to .kiryn/audit.log, along with who asked for it.

03Voice and keyboard

Talk to it or type

Speech recognition and the spoken replies both run on your machine, and no audio leaves it. Hold space to talk at any time. The microphone switches itself off after three minutes of silence.

You don't need a microphone at all. Everything voice can do is also in the command bar, which lists the spoken version of each command next to it.

⌘K1-9a · s · chold space
kiryn
The command bar open over the Fleet board, listing commands with the spoken version of each beside it
The command bar, with the spoken form of each command · real console, sample workspace

04On your phone

Your sessions, from anywhere

Turn on phone access and Kiryn joins your own Tailscale network as a device of its own. Your phone reaches it on Wi-Fi or on cellular, and nothing on your computer is opened to the internet.

Open a box to read the conversation or watch its terminal, then type or dictate into it. You can approve what is waiting, start sessions, and comment on, approve and build plans and designs. Anything the phone asks to start waits for your yes, and the request says what it will do before you give it.

A Phone button on the computer walks you through setup one step at a time, from the Tailscale account to scanning a code and unlocking with Face ID. The phone locks again after five minutes away.

What it needs

  • A free Tailscale account. The Personal plan covers it.
  • The Tailscale app on your phone, signed in to the same account.
  • iOS 16.4 or newer, or a current Android browser.
  • On a Mac, macOS 13 or newer.
Kiryn on a phone: the fleet, with an approval waiting and three sessions
The fleet · real console, sample workspace
Kiryn on a phone: an open session's conversation, with a field to type into and hold to talk
An open box · real console, sample workspace

05Plans

From a plan to a pull request.

The plan station takes a markdown plan through to a pull request. The commands it runs are ordinary Claude Code skills written in markdown, so they also work without Kiryn.

  1. Plan

    Plans are markdown files kept in one folder outside your repositories, since a plan often covers more than one. Kiryn renders and lints them.

  2. Prove

    Each acceptance criterion names the command that checks it. Kiryn runs those commands before work starts and flags any that already pass, since they can't show the change did anything.

  3. Dispatch

    An agent estimates the size of the ticket and picks the command to run it. Each run gets its own git worktree, so several can run in one repository.

  4. Build

    The claude CLI does the work. Tests are written by an agent that can't see the implementation, then the project's own checks run and a separate process reviews the diff.

  5. Accept

    Each criterion is shown next to what the transcript says was actually run. Kiryn doesn't mark tickets done. You do.

kiryn
The plan station: an epic with four tickets, two of them building in boxes 1 and 2, and the plan's goal, why and success criteria
An epic in the plan station, two tickets building · real console, sample workspace

Queue

Run a list of plans in order

Two runs go at once across the console, one per repository, each in its own checkout. If a run fails, the queue stops and records the reason.

Build or ship

You choose how far a run goes

Build leaves commits on a local branch. Ship also pushes the branch and opens a pull request.

Review

A different model reviews the work

Each build is reviewed in a new session on a different model, not by the agent that wrote the code.

06Design

Reviewing designs

A design is a folder with a design.md that describes it and one or more HTML screens. Kiryn renders the screens live, in a sandboxed frame with no network access.

Next to the screens is a chat with an agent that can edit the design. Once you approve a design you can send it to the plan station, where a flow usually becomes an epic and each screen a ticket.

kiryn
The design station showing the first of three onboarding screens, rendered live, waiting for approval
A three-screen flow, rendered live and waiting for approval · real console, sample workspace
kiryn
The writing station with a draft on the left and its findings in the margin: an em dash to fix, and sets of three and a closing one-liner to look at
A draft with its findings in the margin · real console, sample workspace

07Writing

Checking drafts

Drafts are markdown files written by an agent. Kiryn checks each one against a prose style guide and lists every problem next to the line it's on. Em dashes and banned words are marked to fix, and patterns like sets of three are marked to look at.

There's no overall score. Some things can't be checked automatically, like whether the opening works, and Kiryn lists those as questions for you to answer yourself.

08Security

Dependency security

Pick a repository and Kiryn fetches its Dependabot alerts and runs npm audit on its lockfile. The results are combined into one row per package, showing the version that fixes it and whether the package ships to users or is only used in the build.

  • Dependabot has three separate settings. If one is off, the screen says which, so an empty list isn't mistaken for a clean repository.
  • Fixing opens a single session for all the affected packages.
  • Merging only merges the Dependabot pull requests you were shown, not any that arrived since.
  • Requests involving secret scanning are blocked, and anything Kiryn logs is redacted first.
kiryn
The security station after reading a repository: a note that Dependabot version updates are off, one pull request ready to merge, and eight packages to update in one session
One repository: a setting that's off, a pull request to merge, packages to fix · real console, sample workspace

09Privacy

What Kiryn reads and sends

Kiryn only listens on 127.0.0.1, and it checks the origin of every request because it can type into your sessions.

$ kiryn --what-leaves
Read, locally
Claude Code transcripts on the machine, including sessions Kiryn didn't start. It also reads your repositories' git state and the text of the terminals it opened.
Stored, locally
A run log in .kiryn/. If you set up voice recognition, a voiceprint stored as 256 numbers. Audio is never saved.
Sent, when you ask
If you add an Anthropic Console key, sentences you speak to Kiryn are sent to Anthropic. When you check a repository's security, Kiryn asks GitHub for its alerts and runs npm audit.
Phone access
Off until you turn it on. It runs over your own Tailscale network: Tailscale's servers see which devices you have, the computer's ts.net name appears in public certificate logs, and the traffic itself stays encrypted. A phone sees anything only after you approve it on the computer and unlock it with Face ID or your PIN.
Never
Your code. Kiryn doesn't run a coding agent of its own; it starts the claude CLI under your account. It holds one credential, and a test checks that nothing else can reach it.

Get Kiryn

The Mac app is signed and notarized, and it runs on both Apple silicon and Intel Macs. The Windows app runs your sessions inside WSL. Kiryn is free and licensed under Apache 2.0.

Download for MacDownload for Windows

Windows will warn you the first time

We're getting Kiryn's Windows installer signed. Until that's done, Windows doesn't recognise who made it, so the first time you run it you'll see a blue screen that says “Windows protected your PC”.

That screen means Windows doesn't know the publisher yet. It doesn't mean it found anything wrong with the file.

  1. Click More info.
  2. Click Run anyway.

You only do this once. Kiryn needs a 64-bit Intel or AMD PC (not ARM) and WSL 2, with Claude Code installed inside WSL.

To check you have our file, its SHA-256 is 37db07333cbb044c4629b11de06a78b41c5d6a52895da4af322869dc7de6059a

Version 0.2.2 · released 2026-10-09 · release notes

New in 0.2.2: Faster launch on Windows.

Mac 334 MB · SHA-256 633f87d76e2e0d430e877209ca154b83a6c452adbd19d4cb1d6d1a8839b64ef2

Windows 161 MB · SHA-256 37db07333cbb044c4629b11de06a78b41c5d6a52895da4af322869dc7de6059a

Windows needs a 64-bit Intel or AMD PC (not ARM) and WSL 2, with Claude Code installed inside WSL. The installer isn't signed yet, so Windows will warn you the first time you run it. Click More info, then Run anyway.