Compare
How clai compares
Most terminal AI tools are built around a coding session: you open the tool in a repository and an agent edits files for you. clai is built around the terminal itself, so it fits inside a script, a cron job, an editor or another harness.
At a glance
Checked October 2026. These tools move fast.
| clai | Claude Code | Codex CLI | Gemini CLI | OpenCode | Aider | |
|---|---|---|---|---|---|---|
| Built around | Unix commands and chat | Coding agent | Coding agent | Coding agent | Coding agent | Pair programming |
| Model vendors | Eight, switch per run | Anthropic | OpenAI first | Many | Many | |
| One-shot query from a pipe | Yes-i | Yes-p | Yescodex exec | Yes-p | Yesopencode run | Yes--message |
| Agent Skills (SKILL.md) | Yes | Yes | Yes | Yes | Yes | Not built in |
| MCP client | Yes | Yes | Yes | Yes | Yes | Partly |
| Keep other tools' sessions | Yes | Not built in | Not built in | Not built in | Not built in | Not built in |
| Resume another tool's session | Yes | Not built in | Not built in | Not built in | Not built in | Not built in |
| Generate images, video, audio | Yes | Not built in | Not built in | Not built in | Not built in | Not built in |
| Public hub for configs | Yes | Not built in | Not built in | Not built in | Not built in | Not built in |
| License | MIT | Proprietary | Apache-2.0 | Apache-2.0 | MIT | Apache-2.0 |
A dash means not built in, which is not a verdict: a plugin or a script may cover it. Check each tool's own documentation.
Where clai differs
-i · -I · -r
Built for pipes
clai q reads standard input. -i puts it where{} is in the prompt, -I names your own placeholder, and -r prints raw text for the next command.
git diff | clai -i q "Review these changes: {}"
kubectl logs deploy/api --tail=200 | clai -i q "Find the first error: {}"
clai -r q "A one-liner that lists the ten largest files" | shclai chat list
Every agent's sessions, kept and continued
clai reads the sessions Claude Code, Codex, OpenCode, Gemini CLI, Qwen and Antigravity leave on disk, keeps them in one synced store, and continues any of them on a different model.
Multi-vendor transcripts-p reviewer
One profile, any vendor
A profile is one JSON file: model, prompt, tools and MCP servers. Change the model field and the same profile runs on another vendor, so your prompts survive a price change or an outage.
Profiles and setup-s '*'
Your skills already work
clai loads Agent Skills, the SKILL.md folders, from its config, from ~/.agents/skills and from a repo's .claude/skills, so skills written for Claude Code work as they are.
Agent Skills-asc git
Your shell, in the prompt
A shell context adds live values to the system prompt: the branch, the dirty files and the last commit, or whatever command output you choose.
Shell contextcchub:
A hub for the parts you reuse
The Hub holds profiles, MCP servers, shell contexts, skills, themes and prompts. Anyone can read and download them; sign in to publish or rate.
Browse the Hubphoto · video · audio
Media from the same binary
clai photo, clai video and clai audio use the same profiles and keys, and the Go packages put the same agent loop in your own programs.
CLI reference
When another tool fits better
Claude Code, Codex CLI, Gemini CLI or OpenCode
You want one vendor's agent to own a coding session in one repository.
Aider
You want a focused pair-programming loop over git.
clai
You want one tool for scripts, chats, media and agents, you switch vendors, or your prompts and skills should live as plain files you can share.
Get started
One static binary. Bring a vendor key, or point it at local Ollama.
go install github.com/baalimago/clai@latest