Agent context

Inspect a transcript

The commit diff often leaves out the most important context. Corigin keeps the discussion and the code together so you can trace a code change to its originating reasoning and understand the reasoning behind an existing code change.

Run session commands from the Corigin repository you want to inspect.

List sessions

corigin sessions list

Lists locally available sessions, newest first, with their agent, title, turns, changed files, and update time.

 Session    Agent         Title                                Turns   Files   Updated
 b3dada4a   Codex         Add transcript inspection examples   4       2       4m ago
 4fe4d2c1   Claude Code   Fix token refresh race               7       5       2h 18m ago

Fetch a session

corigin sessions fetch SESSION_ID

Fetches a session's streams, Git objects, and transcript into the current repository. Use this when the session is not available locally.

From corigin://019fe7d1-77be-73a0-a9f5-a42083818a36/sessions/019fe891-2ebe-7ce3-8894-96f1b3dada4a
 * [new ref]         refs/corigin/session-streams/019fe891-2ebe-7ce3-8894-96f1b3dada4a/s-2f62b0b0cfdd686bf835b34055c8c1af -> refs/corigin/session-streams/019fe891-2ebe-7ce3-8894-96f1b3dada4a/s-2f62b0b0cfdd686bf835b34055c8c1af

Show session turns

corigin sessions show SESSION_ID

Shows every stream and turn in the session, including changed files, line changes, update time, and user message.

 s-2f62b0b0cfdd686bf835b34055c8c1af
 Seq     Turn           Files   Changes   Updated   User message
 4       4438968472d4   1       +18 -2    4m ago    Add sample output for each command
 3       7d20986ebf9a   2       +34 -5    9m ago    Document stream and turn selectors
 2       b528ba9e01a4   1       +12 -1    14m ago   Create the transcript inspection page
 1       373284218a81   -       -         18m ago   Plan the documentation update
 Total                  2       +64 -8

Inspect code changes

corigin sessions diff SESSION_ID

Shows the Git patch for a session with one stream. Select a stream or turn when the session has multiple streams.

diff --git a/src/auth.ts b/src/auth.ts
index 2c51d72..4438968 100644
--- a/src/auth.ts
+++ b/src/auth.ts
@@ -18,6 +18,9 @@ export async function refreshToken(token: string) {
   const response = await client.refresh(token);
+  if (!response.ok) {
+    throw new Error("Unable to refresh token");
+  }
   return response.token;
 }
corigin sessions diff SESSION_ID --stream STREAM_ID
corigin sessions diff SESSION_ID --turn TURN_OID

Compare the selected stream or turn with another Git ref:

corigin sessions diff SESSION_ID --against REF
corigin sessions diff SESSION_ID --stream STREAM_ID --against REF
corigin sessions diff SESSION_ID --turn TURN_OID --against REF

--stream and --turn are mutually exclusive. TURN_OID can be a unique turn ID prefix.

Read the transcript

corigin sessions transcript SESSION_ID --turn TURN_OID

Prints one JSON object per selected turn as JSONL. The envelope contains Corigin session coordinates, native turn and prompt IDs when present, the full user message when present, and unnormalized provider-native records. The abridged example changes the user text and marks omitted records with .... The CLI writes each complete object on one line.

{
  "session_id": "019fb56e-adde-7ae3-abe3-80c03aa22a2e",
  "stream_id": "s-769dad24b51de8be05d5fa96a5eb9ef4",
  "turn_seq": 1,
  "turn_commit_oid": "c97e480f4241cec21ce3c0cdc3f386990b766ca7",
  "turn_id": "019fb56e-afd1-7473-8514-edd692eaf970",
  "user_message": "Add sample output for each command",
  "records": [
    {
      "payload": {
        "content": [
          {
            "text": "Add sample output for each command",
            "type": "input_text"
          }
        ],
        "id": "msg_019fb56e-b955-7c71-a739-a333e8866289",
        "internal_chat_message_metadata_passthrough": {
          "turn_id": "019fb56e-afd1-7473-8514-edd692eaf970"
        },
        "role": "user",
        "type": "message"
      },
      "timestamp": "2026-07-30T23:49:20.341Z",
      "type": "response_item"
    }
    // ...
  ]
}

Select one stream or turn when the session has multiple streams:

corigin sessions transcript SESSION_ID --stream STREAM_ID
corigin sessions transcript SESSION_ID --turn TURN_OID

--stream and --turn are mutually exclusive. TURN_OID can be a unique turn ID prefix.