save_transcript
Saves the full word-for-word dialog of a session, with no summaries. Use it to load a Claude Code CLI transcript from JSONL or to write when a host cannot append after each reply.
Instructions
FALLBACK. The primary path is emet_session_open then emet_transcript_append after every reply; use this only where a host cannot append per reply, or to load a Claude Code CLI session from its JSONL file. Saves the full word-for-word dialog of a session - full transcripts only, no summaries. Pass exchanges (chat hosts) or jsonl_path (CLI). Refused for a session that was closed complete.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| source | No | Source tag - which host produced this write. One name on every write since 2026-09-27. | |
| channel | No | Alias of `source` (the older name, kept one release). Prefer `source`. | |
| exchange | No | The exchange (turn) this write belongs to, counting from 1. A write for exchange n while exchange n-1 was never appended is refused by the session graph until n-1 is appended. | |
| exchanges | No | Claude.ai Project mode: full array of exchange objects for this session | |
| jsonl_path | No | CLI mode: absolute path to Claude Code session JSONL file. Tool reads and parses it automatically. | |
| session_id | Yes | Unique session identifier, e.g. 'claude_project_2026-05-23_001' | |
| session_end | No | Unix timestamp — session end (optional, defaults to now) | |
| session_start | Yes | Unix timestamp — session start |