# Multi-vendor transcripts

> How clai normalizes messages and tool calls across LLM vendors and external coding harnesses.

Canonical URL: https://www.clai.chat/docs/concepts/multi-vendor-transcripts/ · Version: 1.0 · Updated: 2026-10-21

Full site index: https://www.clai.chat/llms.txt

Every LLM vendor and coding harness stores conversation history in its own format. `clai` normalizes conversations into a vendor-agnostic message structure so threads are portable across models and tools.

## Switching models mid-conversation

Because saved conversations under `~/.config/.clai/conversations/` store normalized role, text, and tool-call messages, you can start a conversation with one vendor and continue it with another:

```sh
clai -cm claude-sonnet-4-6 q "Outline a parser for our config format"
clai -re -cm gpt-5 q "Now implement the lexer in Go"
```

## Importing external agent sessions

`clai` includes transcript importers for external coding agents—including Claude Code, Codex, OpenCode, Gemini CLI, Qwen, and Antigravity. Imported transcripts are converted into `clai` conversations so you can inspect, branch, or continue them with `clai chat`.
