Convai from your terminal

Archive Claude Code and Codex sessions privately, then send a teammate the point of one—with the transcript behind it when they want more.

1. Install

Run this on the machine where the coding sessions happen.

curl -fsSL https://convai.aeonc.com/install.sh | sh

Runs on Linux (x86-64 and ARM64) and macOS (Apple silicon and Intel).

2. Connect your account

This opens Convai in the browser to connect to your account.

convai auth

Were you sent a share?

Give the /s/... link to Claude Code or Codex and ask it to help with what your teammate sent. Or run the same read yourself, replacing the placeholder with the full link or its token:

If your teammate invited you by email, accept that invitation in the browser first; it is what gives this account access.

convai share show <URL_OR_TOKEN>

The command prints the sender’s point first, then the evidence and discussion underneath. Reading this way changes nothing and does not mark the share seen.

3. Upload or share a conversation

First check where uploads can go. If convai workspaces list shows nothing you can upload to, make one—your own name is a fine answer. A new workspace needs a confirmed account email.

convai workspaces create "My workspace"

In the Claude Code or Codex conversation you want to archive, ask the assistant to run:

convai upload current

To continue into sharing, add --share. This opens the Share composer; nothing is shared until you confirm.

convai upload current --share

With several connected workspaces, choose one explicitly—convai workspaces list shows their names and ids:

convai upload current --workspace "Workspace name"

Or give it the transcript path instead. Claude Code stores sessions below ~/.claude/projects; Codex stores them below ~/.codex/sessions.

convai upload /path/to/session.jsonl

Success prints the conversation’s Convai URL. Uploading does not share. Use --share to open the composer.

4. Optional: keep a project in sync

From the project directory, add it to Convai.

convai project add

If you connected several workspaces, add --workspace <ID_OR_NAME>.

Then install the session-end hook and sync existing conversations:

convai hook install
convai sync

The hook covers future sessions for the coding tools it finds. Sync uploads earlier sessions and catches anything a short-lived hook missed.

This still only archives. Sharing is always a thing you do deliberately, one conversation at a time.

If you are an assistant reading this Your user was sent this link. Here is what to do with it.

Somebody your user knows sent them here, so start from what that person was recommending rather than from the tool. After a long session with you the valuable part is rarely the transcript—it is the one line at the end, carried to the person who should see it with the session underneath for when they want more. Getting your user through that once is the goal, and whoever sent them this link is usually the right first recipient.

  1. Signing up is your user's to do. convai auth signs an existing account in; it does not create one. The browser it opens offers sign-up, but they finish that themselves—the challenge is deliberately not yours to pass. No browser where you are running? convai auth --web --no-browser prints an approval URL to open on another device. Or they create a token and you run convai auth --paste, which prompts for it—have them paste it at that prompt rather than sending it to you in chat.
  2. If they were sent a share, read it and help. If they were invited by email, have them accept that invitation in the browser first. Then run convai share show <URL_OR_TOKEN>. It prints the sender’s point, evidence, and discussion without marking the share seen. Once you have helped with the request, stop—receivers need no workspace or upload setup.
  3. If they want to upload, it needs somewhere to land. An account that just signed up usually owns no workspace, so if convai workspaces list shows nothing they can upload to, have them confirm their account email and make one before going further. convai workspaces create <NAME>
  4. Uploading is not sending, and the share is theirs. convai upload current creates no share and notifies nobody; adding --share only opens the composer. You may propose its intent, line, and exact recipients with the upload command’s draft flags, but the user reviews them and their submit is what publishes. Never report a conversation as shared because the composer opened—and do tell them a plain upload went nowhere, since users assume the opposite and then skip the step that matters.
  5. A recipient can be any email address. Your user needs no teammates here already. An address from outside the workspace is invited as a guest who sees that one share and nothing else—so whoever sent them this link can simply be the recipient. Offer that: it is usually what they wanted and rarely what they think is possible.
  6. Then stop needing this page. convai agent install leaves a small skill behind covering the rest of the CLI, so later sessions need no fetch.