$ the-wire · showcase
Claude thinking text loss, AWS signing for nonempty bodies
By RepoJournal · Filed · About Agentic Coding · Composed from the cited sources · methodology
The day's operator-visible fixes cluster around things silently going missing: reasoning text from Claude models in goose, AWS-signable request bodies in Codex's proxy, and MCP elicitation forms in opencode.
fix(providers): request summarized thinking from Claude models aaif-goose/goose
goose sent `thinking: {"type": "adaptive"}` without a `display` field, so Claude Opus 4.7 and newer (Opus 5.5, Sonnet 5.5, Haiku 5.5) return signed thinking blocks with an empty `thinking` field and no reasoning text reaches the user. The fix requests summarized thinking explicitly; until you're on it, your Claude sessions show tool calls with no visible rationale.
Support bounded request bodies in AWS SigV4 signing openai/codex
The network proxy previously required AWS SigV4 requests to have an empty body or `UNSIGNED-PAYLOAD`, so nonempty payloads could not be signed at all. Bodies are now buffered and hashed before signing and forwarded byte-for-byte, capped by `max_body_bytes` (8 MiB default, 16 MiB max) with a 30-second read timeout and eight concurrent buffers.
fix(core): fix MCP elicitation forms never appearing anomalyco/opencode
When an MCP server called `elicitation/create` mid tool call, opencode built the form but never rendered it, so the call sat until timeout: about a minute for TS SDK servers, 10 minutes via Code Mode. Reported on 2.0.18 through 2.0.25 over both stdio and HTTP.
fix(cli): preserve ${VAR} placeholders during deprecated settings migration google-gemini/gemini-cli
Migrating deprecated settings rewrote unrelated `${VAR}` and `${VAR:-default}` placeholders in the same settings subtree with their expanded runtime values, silently baking secrets and paths into the file on disk. `setValue` now takes the original placeholder so migration stops clobbering neighbors.
Mark built-in dummy credentials and strengthen collision checks (#56297) openai/codex
Codex's built-in dummy credentials now carry a `masked` marker plus at least 22 random alphanumerics, and are checked against observed credential owners and configured-provider aliases before use. This is a breaking change: if you match provider patterns on credential shape, your patterns need to accept the new format.
Allow callers to supply Goose session IDs aaif-goose/goose
Also worth wiring in: `SessionManager::create_session_with_id` lets callers bring a durable session ID rather than taking goose's generated one, with caller IDs validated and primary-key collisions rejected instead of overwriting. The PR is still a draft.