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 listLists 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 agoFetch a session
corigin sessions fetch SESSION_IDFetches 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-2f62b0b0cfdd686bf835b34055c8c1afShow session turns
corigin sessions show SESSION_IDShows 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 -8Inspect code changes
corigin sessions diff SESSION_IDShows 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_OIDCompare 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_OIDPrints 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.