ry2009

Results 12 issues of ry2009

Only list credentials that validate against Auth.Info; skip $schema and other metadata keys so no “undefined” rows appear.

- Treats finish_reason: "tool_calls" as stop when no tool-call deltas were seen (prevents hangs when providers return an empty tool_calls list). - Keeps tool-calls when actual tool-call chunks were emitted....

- Ripgrep file listing now stops the underlying rg --files process when consumers exit early (e.g., after hitting the 100-result cap), preventing full-tree scans from pegging CPU. - Glob tool...

- Per-session agent/model prefs are persisted and re-applied on every switch (old and new sessions). - Prefs are saved when leaving a session and applied (or seeded) when entering the...

## Summary - Cap LSP diagnostics to reduce token/latency overhead while keeping high-signal errors - Limits: 50 diags per file, 8 KB total payload, messages trimmed to 200 chars, deduped;...

- Fixes #6216. - Return images/PDFs as attachments (no raw binary text); sanitize text responses (ANSI/control chars); summarize other binary.

- Fixes #6328. - Collapse \r progress-bar overwrites in bash tool output; coalesce unchanged metadata updates to reduce churn.

- run direnv export inside the bash/zsh wrapper before eval so .envrc gets applied even for non-interactive ! commands. - Change is in packages/opencode/src/session/prompt.ts:1206 (zsh) and packages/opencode/src/session/prompt.ts:1220 (bash).

- Trim persisted diagnostics to only the touched file in EditTool and WriteTool (packages/opencode/src/tool/edit.ts:147, packages/opencode/src/tool/write.ts:77) so sessions don’t balloon from workspace-wide Lua diagnostics. - Added regression coverage with an LSP...

- Re-adds ListTool in packages/opencode/src/tool/registry.ts:93 - Adds a guard test packages/opencode/test/tool/registry.test.ts:1 so it doesn’t get removed again