Multi-vendor transcripts

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

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 -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.

Last updated October 21, 2026

Type to search the documentation.