Concepts
Multi-vendor transcripts
How clai normalizes messages and tool calls across LLM vendors and external coding harnesses.
On this page
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:
clai -cm claude-sonnet-4-6 q "Outline a parser for our config format"
clai -c -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.