Skip to content

v2.18.5

Choose a tag to compare

@nokhodian nokhodian released this 29 Sep 11:26
· 822 commits to main since this release

[2.18.5] — 2026-09-29

Added

  • agent exec --effort <level> (agent-exec protocol rev 16, capability agent-exec-effort). Sets the turn's reasoning effort: off, low, medium, high, xhigh or max. claude gets it as the Agent SDK's effort option (off disables thinking); codex gets -c model_reasoning_effort=<level> (off becomes none). Other runtimes ignore it, and an unknown level is rejected before the turn starts.
  • agent exec reports Claude's native subagents (#387, capability agent-exec-subagent-events, agent-exec protocol rev 17). When a claude turn delegates through the Task/Agent tool, the stream now carries subagent events (started, progress, finished) with the subagent's type, description, prompt, summary, last tool, status and usage. Their tool_use_id equals the Task call's tool_activity id, so callers can join the two. New golden fixture doc/agent-exec-protocol/fixtures/subagent.ndjson.
  • monomind agent test <runtime> --json (#390, agent-exec protocol rev 18, capability agent-test-json). One "Reply with the single word: ok" turn (max turns 1, no tools, scoped access, a temporary cwd) reported as one object: status (ok, ok_unexpected, auth, quota, model_unavailable, timeout, missing_binary, error), reply, first-text and total latency, tokens, cost_usd with cost_estimated: true when the cost comes from the pricing table, runtime_version, and error with the login hint for auth. --model tests one model. model_unavailable recognises each runtime's "unknown model / not available on your plan" wording, which agent exec reports as runner-error. Without --json, agent test still streams the NDJSON events as before.

Fixed

  • A subagent's text no longer leaks into the main agent's output (#387). On agent exec --runtime claude, a subagent's prose was emitted as ordinary assistant text and joined into result.text. It is now an assistant event with parent_tool_use_id set to the subagent's Task call, and result.text holds only the main agent's text.

npm: monomind@2.18.5, @monoes/monomindcli@2.18.5