How it works
Same loop, different backend. Instead of calling an LLM API, aic shells out to your agent in print mode, passes the diff, and lets it do what it does best — reason about the change and write the message.
- Pick the agent backend Run
aic setupand choose a CLI agent instead of an API provider. aic remembers it. - Delegate, not call When you run
aic, it shells out to your agent — e.g.claude -p— with the diff and the prompt. The agent does the reasoning. - Same commit output Your agent returns the message. aic applies it to your git history — batched, conventional, colored, same as always.
Eleven agents, one backend
Eleven presets ship out of the box — three stream reasoning live, eight run print-mode. Each reuses its own auth — no extra setup if the agent is already installed.
- Claude Code Streams reasoning live via
thinking_delta. You watch the agent think, then commit. - Codex Runs silently in a read-only sandbox, returns the message when done.
- Pi Token-streams its reasoning live — finer-grained than Claude Code's end-of-phase bursts.
- OpenCode Runs silently, reuses your existing provider keys (e.g. Cursor OAuth).
- Oh My Pi pi fork — streams reasoning live, same feed as pi.
- Gemini Print mode via
gemini -p. The preset shadows the provider name —aic use googlestill reaches the Google API. - Cursor Print mode via
cursor-agent -p, run untrusted — writes stay disabled. - Windsurf Windsurf was renamed Devin Desktop — the preset maps to the
devinbinary. - GitHub Copilot Print mode; headless runs stay text-only since tool use needs interactive approval.
- Trae Print mode via
traecli -p— non-read tools stay gated. - Qwen Code gemini-cli lineage — print mode via
qwen -p.
Switch your backend — don't run both
backend_kind is a discriminator: only one backend is active per run. The API path (provider · key · model) and the agent path (your local CLI) are alternatives, not layers.
Run aic setup again to switch. aic stores one config; whichever backend you last picked is the one it uses.
Or any custom agent
Beyond the eleven presets, you can configure any CLI command as your agent. If it accepts a prompt on stdin and prints to stdout, aic can drive it.
Why it's fast
No API hop, no new auth. Your agent already has the model loaded and authenticated — aic just passes the diff and reads the message back.
The speed comes from skipping the setup, not from a faster model. You're reusing your agent's session and credentials.
The short version
aic + your coding agent: the agent reasons, aic ships the commit. No API key, no middleman, no model to pick — just the same batched, conventional, colored history aic always produces.