# Share a conversation

> Save one conversation as a readable web page, PDF, or Markdown file, or as an ATIF or EATIF trajectory for agent evaluation and training tools.

**Share** saves one archived conversation in a form someone else can use: a
copy to read, or a trajectory file for agent tooling. Every format is built
from the redacted transcript in your archive. Sharing never changes the
archive or the harness's own files.

- App: **Conversation header → Share or export**
- CLI: `hansard export <session-id> --format <format>`

## Choose a format

Open a conversation and select **Share or export**, the share icon at the right
of its title. Each format shows as a small live preview on the right of the
dialog, and the chosen format shows full size beside them.

| Format       | What you get                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Web page** | One HTML file that opens in any browser and can be published as a website. It shows the harness and model marks, an index of your prompts on wide screens, and tool steps you can expand. It follows the reader's light or dark setting, has a switch for the other one, and loads nothing from the network. A slim bar at the top says the page was shared with Hansard.                                                                                  |
| **PDF**      | The same page laid out for paper, with an 18 mm margin on every edge, every tool step expanded, and each tool's input and output cut to 20 lines. A short block stays on one page. A longer one continues on the next page with a line along its left edge. The PDF ends with a line that says it was shared with Hansard, and Chrome and Edge also print it at the foot of each page. The preview shows the first page and an estimate of the page count. |
| **Markdown** | Plain text for notes, issues, and chat. **Copy Markdown** puts it on the clipboard.                                                                                                                                                                                                                                                                                                                                                                        |
| **EATIF**    | The ATIF trajectory plus what Hansard knows about the conversation: the harness versions, repository, and branch, the full token split, tool categories, file changes, commits, memory files, and harness records. Any ATIF reader opens it. See [What EATIF adds to ATIF](https://www.hansard.dev/reference/trajectory-formats/#what-eatif-adds-to-atif).                                                                                                 |
| **ATIF**     | A trajectory in the [Agent Trajectory Interchange Format](https://www.hansard.dev/reference/trajectory-formats/#atif-export), the format Harbor and fine-tuning pipelines read.                                                                                                                                                                                                                                                                            |

**Copy link** copies a link that opens the original conversation for anyone
who can sign in to this viewer. Nobody else can open it.

## Choose what a readable copy includes

The readable formats start with the conversation's text: your prompts and the
agent's replies. Turn on more under **Include**:

- **Tool calls** adds each tool call with its input and output. Long output is
  shortened in the copy.
- **Reasoning** adds the reasoning text the harness recorded.
- **Hansard credit**, on by default for a web page and a PDF, adds the line
  that says the copy was shared with Hansard, with a link to hansard.dev. Turn
  it off to leave the line out. Markdown never has it.

System prompts, harness records such as hooks and mode changes, and prompts a
harness wrote for itself are never included.

To change the text before you save it, select **Edit text**. Edit the title,
select a message to rewrite it, or turn off **Include this message** to leave
it out. **Preview** shows the result. The edits apply only to the copy you
save.

## Check for secrets

The **Privacy** section shows what the copy hides:

- Whether [archive redaction](https://www.hansard.dev/privacy/redaction/) is on, and how many
  values it already hid in this copy.
- Values that look like secrets, such as API keys and tokens, that are still
  in the copy. Hansard checks for them with its built-in redaction rules and
  your own patterns, even when archive redaction is off. Select **Hide it** or
  **Hide them** to replace them in this copy. Your archive does not change.
- Paths. A readable copy names files from the conversation's project folder,
  and your home folder reads as `~`.

For a trajectory, the section names the possible secrets in the file. Turn off
**Tool output** to leave command output out, or review the conversation as a
web page first.

> **Review before you share:** Tool calls and their output can hold command output and other private
> details that no rule recognizes. Read the preview before you send a copy to
> someone.

## Choose what a trajectory includes

Trajectories include everything by default. The dialog shows the step count,
tool call count, embedded subagent runs, and file size. Turn these off under
**Include** to make a smaller file:

- **Reasoning** leaves out reasoning text.
- **Tool output** keeps each tool call but leaves out its result.
- **Subagent runs** leaves out the subagent conversations that would otherwise
  be embedded in the file.

Every format saves a conversation of any length. A very long conversation
takes longer to prepare, and the web page and Markdown previews show its
opening messages.

## Save the file

- **Save to Downloads** saves the file at once. In the desktop app it goes to
  your Downloads folder, and a second file with the same name gets a number.
  In a browser it saves through the browser's own download.
- **Save to…** opens a save panel so you choose the folder and the name. Chrome
  and Edge show their own panel. Safari and the desktop app show the macOS
  save panel when they run on the Mac that runs Hansard. Where neither panel is
  available, the button does not appear.
- A **PDF** saves the same way, with no print panel. Hansard lays out the
  pages first, which takes a few seconds for a long conversation, and the
  dialog then shows the page count. When Hansard runs on Linux or Windows,
  **Save as PDF…** opens the print panel instead. Choose **Save as PDF**
  there, then the folder.

## Export from the CLI

`hansard export` writes the same formats without the app:

```sh
hansard export <session-id> --format atif
hansard export <session-id> --format eatif --out ~/trajectories/
hansard export <session-id> --format html --tools --reasoning --out review.html
hansard export <session-id> --format markdown --out -
```

| Option                                                 | What it does                                               |
| ------------------------------------------------------ | ---------------------------------------------------------- |
| `--format atif`, `eatif`, `html`, or `markdown`        | Chooses the format.                                        |
| `--out <file>`                                         | Writes to that file.                                       |
| `--out <folder>`                                       | Writes a file named for the conversation into that folder. |
| `--out -`                                              | Writes to standard output.                                 |
| `--force`                                              | Replaces an existing file.                                 |
| `--no-reasoning`, `--no-tool-output`, `--no-subagents` | Leave those parts out of a trajectory.                     |
| `--tools`, `--reasoning`                               | Add tool calls or reasoning to an HTML or Markdown copy.   |
| `--json`                                               | Prints the output path, size, and step count as JSON.      |

Without `--out`, the file goes in the current folder. Hansard checks each
trajectory against the ATIF rules before it writes the file. A web page from
the CLI shows the harness and model names without their marks. `hansard export`
without `--format` still copies the conversation's archive files into a
folder. See [Export a conversation](https://www.hansard.dev/guides/browse-conversations/#export-a-conversation).
