Evidence snapshot

CLI Host Compatibility

Version-pinned evidence for six agent CLIs hosted by Kota over PTY.

Not a ranking. Unknown means unverified, not unsupported.

ObservedAugust 2, 2026 · PDT
PlatformmacOS 26.5.2 arm64
Kotav0.1.8 · 156835c
Providers6 hosted CLIs
Records66 evidence cells
Comparison matrix

What Kota has verified

VERIFIED 25PARTIAL 33UNKNOWN 5NOT TESTED 0NOT EXPOSED 3
Capability Claude Code claude · 2.1.220 Codex codex · 0.146.0 Antigravity CLI agy · 1.1.9 OpenCode opencode · 1.17.9 Pi pi · 0.80.10 Kimi Code kimi · 0.31.0
01 Workspace selection How is the worktree selected? VERIFIED

Process cwd = incarnation worktree.

Evidence
VERIFIED

Process cwd = incarnation worktree.

Evidence
VERIFIED

Process cwd, plus --add-dir <cwd>.

Evidence
VERIFIED

--dir <cwd>, or a positional project in mini mode.

Evidence
VERIFIED

Process cwd = incarnation worktree.

Evidence
VERIFIED

Process cwd = incarnation worktree.

Evidence
02 Workspace instruction files Which project files are read? VERIFIED

Kota writes CLAUDE.md. AGENTS.md is not read automatically.

Evidence
VERIFIED

Kota writes AGENTS.md; Codex layers files from repo root to cwd.

Evidence
VERIFIED

Kota writes AGENTS.md; the CLI also reads GEMINI.md.

Evidence
CODE PATH

Conflict resolution was not tested separately.

VERIFIED

Kota writes AGENTS.md; it wins over same-scope CLAUDE.md.

Evidence
VERIFIED

Kota writes AGENTS.md; Pi gathers it or CLAUDE.md toward cwd.

Evidence
CODE PATH

Same-directory tie-break is undocumented.

VERIFIED

Kota writes AGENTS.md; Kimi also reads .kimi-code/AGENTS.md.

Evidence
03 Approval / unrestricted launch Which launch flag changes approval? PARTIAL

Default: --dangerously-skip-permissions.

Evidence
CODE PATHUNIT FIXTURE

Flag emission is verified; full bypass scope is not.

PARTIAL

Default: --dangerously-bypass-approvals-and-sandbox.

Evidence
CODE PATHUNIT FIXTURE

Flag emission is verified; full bypass scope is not.

PARTIAL

Default: --dangerously-skip-permissions.

Evidence
CODE PATHUNIT FIXTURE

Flag emission is verified; full bypass scope is not.

PARTIAL

Conditional: --dangerously-skip-permissions.

Evidence
CODE PATHUNIT FIXTURE

Mini mode drops unsupported flags; scope stays version-dependent.

PARTIAL

Default: --approve.

Evidence
CODE PATHUNIT FIXTURE

Flag emission is verified; full bypass scope is not.

PARTIAL

Default: --yolo.

Evidence
CODE PATHUNIT FIXTURE

Flag emission is verified; full bypass scope is not.

04 Session resume How is a native session resumed? PARTIAL

--resume <session-id>.

Evidence
CODE PATHUNIT FIXTURE

Launch shape verified; cross-version resume is CLI-owned.

PARTIAL

resume <session-id>.

Evidence
CODE PATHUNIT FIXTURE

Launch shape verified; cross-version resume is CLI-owned.

PARTIAL

--conversation <conversation-id>.

Evidence
CODE PATHUNIT FIXTURE

The backend revalidates the conversation.

PARTIAL

--session <session-id>, when supported.

Evidence
CODE PATHUNIT FIXTURE

Mini-mode support depends on installed help.

PARTIAL

--session-id <session-id>.

Evidence
CODE PATHUNIT FIXTURE

Launch shape verified; cross-version resume is CLI-owned.

PARTIAL

--session <session-id>.

Evidence
CODE PATHUNIT FIXTURE

Launch shape verified; cross-version resume is CLI-owned.

05 Session lifetime / retention Who owns retention, and for how long? VERIFIED

Default: 30 days; configurable with cleanupPeriodDays.

Evidence
CODE PATHLIVE OBSERVATION

Kota observed expiry and offers Start Fresh on exact transcript NotFound.

UNKNOWN

No published TTL; no automatic expiry observed.

Evidence

History limits do not establish resume TTL.

UNKNOWN

No published backend TTL; resume revalidates the conversation.

Evidence

Local cache does not imply permanent retention.

UNKNOWN

No published TTL; no automatic expiry observed.

UNKNOWN

No published TTL; no automatic expiry observed.

UNKNOWN

No published TTL; no automatic expiry observed.

06 Model selection at launch How is the model chosen? PARTIAL

Non-default: --model <id>. Default defers to the CLI.

Evidence
CODE PATHUNIT FIXTURE

Not every listed model is end-to-end verified.

PARTIAL

Non-default: --model <id>. Default defers to the CLI.

Evidence
CODE PATHUNIT FIXTURE

Not every listed model is end-to-end verified.

PARTIAL

Non-default: --model <id>. Default defers to the CLI.

Evidence
CODE PATHUNIT FIXTURE

Not every listed model is end-to-end verified.

PARTIAL

Non-default: --model <id> in the detected launch shape.

Evidence
CODE PATHUNIT FIXTURE

Not every listed model is end-to-end verified.

PARTIAL

Non-default: --model <id>. Default defers to the CLI.

Evidence
CODE PATHUNIT FIXTURE

Not every listed model is end-to-end verified.

PARTIAL

Non-default: --model <id>. Default defers to the CLI.

Evidence
CODE PATHUNIT FIXTURE

Not every listed model is end-to-end verified.

07 Reasoning / effort level Can Kota set effort at launch? PARTIAL

Launch flag: --effort.

Evidence
CODE PATHUNIT FIXTURE

Values vary by version and model.

PARTIAL

Launch config: model_reasoning_effort=<value>.

Evidence
CODE PATHUNIT FIXTURE

Values vary by version and model.

NOT EXPOSED

Not exposed by Kota.

Evidence
NOT EXPOSED

Not exposed by Kota.

Evidence
PARTIAL

Launch flag: --thinking.

Evidence
CODE PATHUNIT FIXTURE

Values vary by version and model.

NOT EXPOSED

Not exposed by Kota.

Evidence
08 Local chat / session records Which native records does Kota read? VERIFIED

~/.claude/projects/.../*.jsonl · JSONL.

Evidence
CODE PATHUNIT FIXTURE
VERIFIED

~/.codex/sessions/**/*.jsonl · JSONL.

Evidence
CODE PATHUNIT FIXTURE
VERIFIED

~/.gemini/antigravity-cli/brain/<conversation>/.../transcript[_full].jsonl · JSONL.

Evidence
CODE PATHUNIT FIXTURE
VERIFIED

~/.local/share/opencode/opencode.db · SQLite + WAL/SHM.

Evidence
VERIFIED

~/.pi/agent/sessions/.../*.jsonl · JSONL.

Evidence
CODE PATHUNIT FIXTURE
VERIFIED

${KIMI_CODE_HOME:-~/.kimi-code} · JSON + main-agent JSONL.

Evidence
CODE PATHUNIT FIXTURE

Kota reads agents/main/wire.jsonl only.

09 Record refresh / flush cadence When does new state become visible? PARTIAL

500 ms Kota watch throttle; CLI flush timing is not guaranteed.

Evidence
PARTIAL

500 ms Kota watch throttle; turn IDs improve correlation.

Evidence
PARTIAL

500 ms Kota watch throttle; backend flush timing is not guaranteed.

Evidence
PARTIAL

2 s SQLite monitor; CLI commit timing is not guaranteed.

Evidence
PARTIAL

500 ms Kota watch throttle; CLI flush timing is not guaranteed.

Evidence
PARTIAL

500 ms Kota watch throttle; step events improve correlation.

Evidence
10 Working-state detection How does Kota infer working state? PARTIAL

Process, delivery, native activity, and a 5-minute fallback.

Evidence
CODE PATHUNIT FIXTURE

Alive, working, and visible remain separate states.

PARTIAL

Turn IDs, reconciled with process and delivery state.

Evidence
PARTIAL

Process, delivery, transcript activity, and a 5-minute fallback.

Evidence
CODE PATHUNIT FIXTURE

Backend state is not a readiness API.

PARTIAL

Process, delivery, SQLite activity, and a 5-minute fallback.

Evidence
CODE PATHUNIT FIXTURE

Database visibility may lag the PTY.

PARTIAL

Process, delivery, native activity, and a 5-minute fallback.

Evidence
PARTIAL

step.begin / step.end + turn ID, with runtime fallback.

Evidence
11 Host transport PTY or structured transport? VERIFIED

Interactive child process on a real PTY; no SDK transport.

Evidence
VERIFIED

Interactive child process on a real PTY; no SDK transport.

Evidence
VERIFIED

Interactive child process on a real PTY; no SDK transport.

Evidence
VERIFIED

Real PTY; launch adapts between interactive and mini modes.

Evidence
VERIFIED

Interactive child process on a real PTY; no SDK transport.

Evidence
VERIFIED

Real PTY; CSI-u Enter submits prompts.

Evidence
Mapping notes

Provider notes

Antigravity CLI
Legacy gemini and gemini-cli config names resolve to Antigravity, not Gemini CLI.
OpenCode
Launch adapts between run --interactive and --mini from installed CLI help.
Kimi Code
Provider alias: kimi-code.
CLI versions describe this snapshot, not every historical fixture. Source data →