OpenCode Integration Fixes
Model Override & Provider Injection
- GLM-5 and non-catalog model support: OpenCode agents now correctly handle models not in the built-in catalog (glm-5, cerebras models, xai models) by injecting custom provider definitions into
opencode.json
- Provider auth detection: Added
ZHIPU_API_KEY (Z.AI) and CEREBRAS_API_KEY (Cerebras) to provider authentication detection
- Provider model injection fix: Fixed provider injection when the
models object is missing from opencode.json
- ZAI base URL: Corrected Z.AI provider injection to use
api.z.ai base URL
- ZAI coding subscription endpoint: Updated to use the correct ZAI coding subscription API endpoint
Output & Streaming Fixes
- Output fallback improvements:
opencode_output_needs_fallback() now recognizes [run] prefix lines, "event stream did not close" messages, and "continuing shutdown" patterns as banner text, triggering proper recovery from session storage
- JSONC config parsing: Oh-my-opencode
.jsonc config files are now correctly parsed by stripping comments before JSON parsing
- Provider injection ordering: Provider definitions are now injected before oh-my-opencode config processing to ensure correct resolution
OAuth & Auth
- OAuth refresh race condition fix: New
refresh_oauth_token_with_lock() uses file-based locking to prevent race conditions with rotating refresh tokens across concurrent missions
Session Reliability
- Session corruption handling: Graceful recovery from
response.incomplete and tool_use_id mismatch errors (#134)
- Thinking block deduplication: Fixed thinking blocks being merged into a single thought (#136)
Automations & UI
- Automations auto-populate: Variables are now auto-populated from command params and inline prompts (#133)
- Automation command selector: Fixed command selector and auto-detect variables (#135)
- Rename Extensions → Inspect: Consolidated observability hub (#132)
Installation
curl -sSL https://install.sandboxed.sh | bash