{"slug": "opencode-v1-17-mcp-resources-oauth-fix-mini-mode", "title": "OpenCode v1.17: MCP Resources, OAuth Fix, –mini Mode", "summary": "OpenCode v1.17.10, released June 24, adds MCP resources and resource templates, fixes OAuth callback failures in WSL and container setups, and introduces a --mini CLI mode for scripting. The update closes long-standing GitHub issues and makes OpenCode spec-compliant for MCP, while the headless mode enables use in CI pipelines and shell scripts.", "body_md": "OpenCode v1.17.10, released June 24, closes three long-standing gaps in one shot: the agent harness now implements [MCP resources and resource templates](https://opencode.ai/docs/mcp-servers/) — a spec feature that was missing since launch — fixes the OAuth callback failures that have been breaking WSL and container setups for months, and ships a `--mini`\n\nCLI mode that finally makes OpenCode useful in scripts and CI pipelines. These are not cosmetic changes. Each one was sitting in the [GitHub issue tracker](https://github.com/anomalyco/opencode/releases) as a named blocker.\n\n## MCP Resources: OpenCode Is Now Spec-Compliant\n\nBefore v1.17, OpenCode implemented exactly half of the MCP spec: tools. Specifically, it handled `tools/call`\n\n— actions the agent invokes. What it did not implement was resources: the other half of MCP that covers readable content. Resources are URIs pointing to files, documents, database results, or any structured data a server wants to expose. [GitHub Issue #15535](https://github.com/anomalyco/opencode/issues/15535), opened months ago and voted up consistently, asked for exactly this.\n\nv1.17 ships `resources/list`\n\nand `resources/read`\n\n. More importantly, it adds resource template support — parameterized URI patterns that let servers expose dynamic data sources. A GitHub MCP server can now expose a template like `github://repos/{owner}/{repo}/contents/{path}`\n\n. OpenCode instantiates the template with variables from the session context and fetches the matching resource on demand. That is meaningfully different from a static tool call: it gives the agent a query interface to arbitrary data, not just a fixed function signature.\n\nThe implementation includes proper access control — template tools are hidden when the user has denied access — and URI uniqueness enforcement to prevent collisions when multiple MCP servers expose resources with the same names. Both details matter in multi-server setups, which are increasingly common in production configurations.\n\n## The OAuth Fix Everyone Was Waiting For\n\nThe OAuth callback problem had accumulated a pile of GitHub issues: [#9081 (WSL2)](https://github.com/anomalyco/opencode/issues/9081), #16893 (remote re-authentication), #17822 (token overwritten after callback), #21454 (non-localhost URLs), and #21702 (token not refreshed in active sessions). The pattern was consistent: the callback listener would bind on IPv6 (`::1`\n\n), the browser would redirect to IPv4 (`127.0.0.1`\n\n), and the two would fail to connect. The fix is three words in the changelog: “bound to IPv4 loopback.”\n\nIf you have been seeing “connection refused” when authenticating MCP servers in WSL2, Docker, or devcontainers, this is the fix. Upgrade to v1.17.10 or v1.17.11 (released June 26) and the OAuth flow should complete without manual intervention. No config changes needed.\n\n## –mini Mode: Use OpenCode in Your Scripts\n\nOpenCode’s TUI is impressive — but it’s also the reason you cannot drop it cleanly into a shell script or GitHub Actions step. The terminal interface assumes an interactive session. `--mini`\n\nremoves that assumption. With the flag, OpenCode runs the prompt, returns output, and exits. No interface rendering, no session management overhead.\n\n```\n# In a GitHub Actions workflow\n- name: Security review\n  run: opencode --mini \"scan this diff for hardcoded credentials: $(git diff HEAD~1)\"\n\n# Pre-commit hook\nopencode --mini \"check staged files for common security anti-patterns\"\n\n# Quick one-off task\nopencode --mini \"write unit tests for $(cat src/utils.ts)\"\n```\n\nThis is what makes an AI coding agent a composable Unix tool rather than a walled-off IDE feature. OpenCode is the only major agent harness with a first-class headless mode that works from a single flag.\n\n## Backward Compatibility and What Else Landed\n\nv1.17.10 also restores legacy MCP tool names — broken in some earlier 1.17.x builds — restores v1 account config loading, and fixes OpenAI-compatible providers that were rejecting MCP tool schemas. If you held off upgrading due to compatibility concerns, those regressions are resolved. There is also internal scaffolding for plugin/model/provider v2. It is not user-facing yet, but it signals a more significant architectural release coming.\n\n## How to Upgrade\n\n```\nnpm i -g opencode-ai@latest\n# or\nopencode upgrade\n```\n\nThe full changelog is at [opencode.ai/changelog](https://opencode.ai/changelog). If you use MCP servers with resource endpoints, v1.17 is not optional — prior versions silently ignore everything those servers expose beyond tool calls. OpenCode crossed Claude Code in GitHub stars five days ago. The v1.17 release is part of why: the project is moving fast, and MCP resource support is a genuine differentiator against every other coding agent that still treats MCP as a tool-only interface.", "url": "https://wpnews.pro/news/opencode-v1-17-mcp-resources-oauth-fix-mini-mode", "canonical_source": "https://byteiota.com/opencode-v1-17-mcp-resources-oauth-fix-mini-mode/", "published_at": "2026-06-26 00:10:32+00:00", "updated_at": "2026-06-26 00:39:01.499715+00:00", "lang": "en", "topics": ["developer-tools", "ai-agents", "ai-tools", "large-language-models"], "entities": ["OpenCode", "MCP", "GitHub", "WSL", "Docker"], "alternates": {"html": "https://wpnews.pro/news/opencode-v1-17-mcp-resources-oauth-fix-mini-mode", "markdown": "https://wpnews.pro/news/opencode-v1-17-mcp-resources-oauth-fix-mini-mode.md", "text": "https://wpnews.pro/news/opencode-v1-17-mcp-resources-oauth-fix-mini-mode.txt", "jsonld": "https://wpnews.pro/news/opencode-v1-17-mcp-resources-oauth-fix-mini-mode.jsonld"}}