Free during early access

Own the code your agent writes.
Understand it, correct it, and merge with confidence.

Koi is a Mac app for GitHub pull requests. A review guide explains what your agent did and why. Notes send your follow-ups back as one prompt.

Apple Silicon & Intel

Koiacme / web
web #482Unify session handling+111−41
2 / 6 viewed
Your review path

A single source of truth for sessions

Move session state into a shared provider, then update the components that depend on it.

Guide ready
Generated explanation · 3 sections
01 / 03

Start with the session provider

The provider now owns session state. A typed context and an explicit guard make missing providers easier to catch.

Check the boundary here before following the change into the UI.

1 of 3 files viewed
session.ts+18−6
provider.tsx+24−12
@@ −4,5 +4,9 @@
4−const SessionContext = createContext(null);
4+const SessionContext = createContext<Session | null>(null);
5
6 export function useSession() {
7+ const session = useContext(SessionContext);
8+ if (!session) {
9+ throw new Error('Session provider is missing');
10+ }
Note for the agent · line 7-10 (new)

Can we return a fallback instead of throwing here?

11− return useContext(SessionContext);
12+ return session;
13 }
useSession.ts+9−4
02 / 03

Follow the session into the UI

2 files

A guide gives the pull request a structure. Add a note on any line while you read.

Interactive preview · sample PR
Public & private repositoriesKeyboard-first reviewYour workspace, on your Mac

You asked for a feature.
You got a pull request too big to follow.

Your name is on the pull request. Reading file by file does not build understanding, and it is boring. So you pick one of two options.

There is a third option.Koi helps you understand the code quickly, so it becomes your code.

One loop between you and your agent.

  1. AgentThe agent writes the code
  2. Koi · Review guidesThe guide explains it
  3. Koi · NotesYou write notes
  4. AgentThe agent fixes them

Repeat until you understand the code and agree with it.

01 / Understand

Review guides.
Understand what was done and why.

A list of changed files cannot tell you the story of a change. A review guide can.

A guide groups related files into a reading order. Each step explains what changed and why, with the real diff beside it.

While you read, add a note on any line. Notes are the next step.

Explore review guides
Koiacme / web
web #482Unify session handling+111−41
2 / 6 viewed
Your review path

A single source of truth for sessions

Move session state into a shared provider, then update the components that depend on it.

Guide ready
Generated explanation · 3 sections
01 / 03

Start with the session provider

The provider now owns session state. A typed context and an explicit guard make missing providers easier to catch.

Check the boundary here before following the change into the UI.

1 of 3 files viewed
session.ts+18−6
provider.tsx+24−12
@@ −4,5 +4,9 @@
4−const SessionContext = createContext(null);
4+const SessionContext = createContext<Session | null>(null);
5
6 export function useSession() {
7+ const session = useContext(SessionContext);
8+ if (!session) {
9+ throw new Error('Session provider is missing');
10+ }
Note for the agent · line 7-10 (new)

Can we return a fallback instead of throwing here?

11− return useContext(SessionContext);
12+ return session;
13 }
useSession.ts+9−4
02 / 03

Follow the session into the UI

2 files

Guides run on your own AI account

  • The easy path

    Connect a ChatGPT account

    Sign in with the account you already have. No key to create or paste.

  • Full control

    Use your own OpenAI API key

    Your key is stored in macOS Keychain. Usage is billed to your OpenAI account.

Guide generation sends the pull request description, file paths, and diff to OpenAI. Your review guides are cached on your Mac.

02 / Correct

Notes.
Correct what you do not agree with.

You stay in control of the agent. Write follow-ups on the lines, then send them back as one prompt.

  1. Step 1

    Open the pull request

    Run one command in the terminal, or let your coding agent open it.

    Terminal
    # Open the pull request you’re working onreviewcalm github.com/acme/web/pull/482Continue your review in Koi
  2. Step 2

    Leave notes

    Select a line or a range in the diff and write what to change or explain.

    src/auth/provider.tsx:7-10 (new)
    +  const session = useContext(SessionContext);
    +  if (!session) {
    +    throw new Error('Session provider is missing');
    +  }

    Can we return a fallback instead of throwing here?

  3. Step 3

    Paste one prompt

    Copy all notes as one prompt, with file, lines, and diff, and paste it into the agent chat.

    Copied for your agent
    Review notes on github.com/acme/web/pull/482
    Each note quotes the diff lines it is about. Answer the questions and make the requested changes.
    
    ## src/auth/provider.tsx:7-10 (new)
    
    ```diff
    +  const session = useContext(SessionContext);
    +  if (!session) {
    +    throw new Error('Session provider is missing');
    +  }
    ```
    
    Can we return a fallback instead of throwing here?
Notes stay on your Mac. They are never posted to GitHub.CLI included with Koi

Try it on the next pull request your agent opens.

Download for Mac

For reviewers

And for the half of your day in other people’s pull requests.

To give good feedback, you must understand the change first. Koi makes that daily work easier.

Also in Koi

The workspace
around the review.

Open your next pull request in Koi.

Download for Mac

FAQ

Questions before you download.

Anything else?
Say hello

What is Koi?

Koi is a macOS app for understanding and reviewing GitHub pull requests. It is built first for the author of agent-written code. A review guide explains what the agent did and why, and notes send your follow-ups back to the agent as one prompt. It also makes the daily review of your teammates’ pull requests easier.

How do review guides work?

A guide groups related changes into a suggested review order and explains their purpose, with the relevant diffs alongside. Generate a guide using your own OpenAI API key or a connected ChatGPT account. Guides help you navigate; you still make the review decisions.

Can I bring my own API key?

Yes. Add your OpenAI API key in Settings → Guides and choose your model. The key is stored in macOS Keychain, and API usage is billed directly to your OpenAI account. Generated guides are cached on your Mac.

Does viewed progress sync with GitHub?

Yes. File viewed state is shared with GitHub. Marking a folder as viewed updates the files inside it, so you can review by subsystem and continue on GitHub with the same progress.

Where does my code go?

Pull request data is loaded from GitHub, and review state is cached locally. If you choose to generate a review guide, the pull request description, file paths, and diff are sent to OpenAI through your configured connection. You can review diffs without connecting an AI account.

Does it work with private repositories?

Yes. Sign in with your own GitHub account or reuse GitHub CLI authentication. Koi supports public and private repositories on GitHub.com. Access still follows your repository permissions and your organization’s policies.

What are notes for the agent?

Notes are private comments on a line or a range in the Diff and Guides tabs. Copy all notes as one prompt with the file, lines, and diff, then paste it into your coding agent. Notes are stored on your Mac and never posted to GitHub.

Which Macs are supported?

Koi supports macOS 13 Ventura or later, on Apple Silicon and Intel Macs.

Is Koi free?

Koi is free during early access. Download the app to get started. If you use your own OpenAI API key for review guides, OpenAI bills that usage separately.

Merge code
you understand.

Your name is on the pull request. Know why the code is there before you merge it.

Download for Mac

Free during early access · macOS 13+