You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Surface-by-surface parity status against the upstream shell-mode-toggle harness.
Stoat Parity Matrix
Stoat mirrors a real-world coding-agent harness in the shell-mode-
toggle tradition — the upstream lets users press a chord to flip the
prompt buffer between an LLM agent and a direct shell, with both modes
driven by the same context. We never name the upstream brand here
(see security-and-trademarks.md); this
page documents which surface ports we ship, which we skip, and why.
The "Status" column uses the same vocabulary as the other parity
matrices in this repo:
Tier 1 (live-driven) — implemented, exercised by tests against
the live framework, surface-stable.
Tier 2 (scaffolded) — surface present and dispatched, body still
comes from a follow-up agent.
Skipped — out of scope for stoat (or covered by a sibling CLI).
Headline ergonomic
Surface
Status
Notes
Shell-mode toggle (/shell)
Tier 1
Slash command + --shell-mode flag flip the REPL between agent mode (stoat>) and shell mode (stoat$).
Ctrl-X chord
Tier 2
Documented, but the slash form is the default — chord binding is per-terminal config.
Mode-tagged history
Tier 1
/history renders > for agent lines, $ for shell lines.
Persistent cwd across shell turns
Skipped
Each shell command runs in its own bash -c subprocess; cd is intentionally not honored. Use --cwd to pin the working directory.
Available via chimera code for users who want the full 19-slash palette.
Sessions / share
Surface
Status
Notes
Eventlog at ~/.chimera/eventlog/stoat-*/
Tier 1
Mirrors weasel/shrew/otter.
Cost rollup parity (text/JSON/CSV)
Tier 1
Same body as mink/weasel/shrew.
Share to ~/.chimera/shares/stoat-*.*
Tier 1
JSON + Markdown.
Share via HTTP / HTML
Skipped
mink/otter ship the full sink palette; stoat stays minimal.
What we explicitly do not ship
VS Code extension parity — stoat does not bundle an editor
extension. The cross-CLI ACP / HTTP transports live under ferret /
otter; users who want IDE integration can drive ferret's ACP server
pointed at a stoat-flavored agent factory.
Zsh shell plugin — stoat does not ship a shell plugin. The
toggle is internal to the stoat REPL.
MCP mcp sub-command group — MCP integration is reachable via
the cross-CLI plugin loader (see chimera plugins). Stoat's
per-CLI surface stays small.
OAuth login flow — stoat reads $MOONSHOT_API_KEY from the env
(filesystem path ~/.kimi/config.json is referenced in upstream docs
as a fact about the host CLI's config layout, not something stoat
reads). Operators wanting OAuth-issued tokens can use the shared
chimera.auth flow.
Cross-CLI surface (sibling family)
The Chimera coding-agent family is now seven strong. Stoat's
distinguishing surface is the shell-mode toggle; the table below is
a cross-CLI snapshot of how stoat fits into the family at the
flag / subcommand / slash level.
Flag surface
Flag
mink
otter
ferret
weasel
shrew
stoat
badger
--version
yes
yes
yes
yes
yes
yes
yes
--model
yes
yes
yes
yes
yes
yes
yes
-p / --print
yes
yes
yes
yes
yes
yes
yes
--output-format / --json
yes
yes
yes
yes
yes
yes (--json)
yes
--max-steps
yes (50)
yes (50)
yes (50)
yes (50)
yes (50)
yes (50)
yes (25)
--cwd
yes
yes
yes
yes
yes
yes
yes
--allowed-tools
yes
yes
yes
yes
yes
yes
yes
--shell-mode
no
no
no
no
no
yes
no
--mode <m>
no
no
no
yes
yes
yes
no
--sandbox
no
no
yes
no
no
no
no
--approval
no
no
yes
no
no
no
no
--rerun-on-failure
no
no
no
no
no
no
yes
Subcommand surface
Subcommand
mink
otter
ferret
weasel
shrew
stoat
badger
(default)
REPL
REPL
REPL
REPL
REPL
REPL
REPL
serve
no
yes
yes
partial
no
partial
partial
sessions
yes
yes
yes
yes
yes
yes
yes
share
yes
yes
partial
yes
yes
yes
yes
agents
yes
yes
yes
partial
yes
partial
partial
bench
yes
yes
partial
no
yes
partial
partial
parity
no
no
no
no
no
no
yes
partial = the dispatcher exists but emits a Tier-2 stub message;
the body is owned by another wave or another sibling CLI.
Slash-command palette
Slash
shared
mink
otter
ferret
stoat
badger
/help
yes
yes
yes
yes
yes
yes
/exit
yes
yes
yes
yes
yes
yes
/clear
yes
yes
yes
yes
yes
yes
/model
yes
yes
yes
yes
yes
yes
/cost
yes
yes
yes
yes
yes
yes
/history
no
no
no
no
yes
no
/shell
no
no
no
no
yes
no
/sandbox
no
no
no
yes
no
no
/approval
no
no
no
yes
no
no
/parity
no
no
no
no
no
yes
/rerun
no
no
no
no
no
yes
/tools
yes
yes
yes
yes
(via /tools shared)
yes
Defaults
Default
Value
Default model
kimi-k2.6 (when $MOONSHOT_API_KEY is set), else claude-sonnet-4-6