cd /news/developer-tools/opencode-v1-17-mcp-resources-oauth-f… · home topics developer-tools article
[ARTICLE · art-40140] src=byteiota.com ↗ pub= topic=developer-tools verified=true sentiment=↑ positive

OpenCode v1.17: MCP Resources, OAuth Fix, –mini Mode

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.

read4 min views1 publishedJun 26, 2026
OpenCode v1.17: MCP Resources, OAuth Fix, –mini Mode
Image: Byteiota (auto-discovered)

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 — 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

CLI 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 as a named blocker.

MCP Resources: OpenCode Is Now Spec-Compliant #

Before v1.17, OpenCode implemented exactly half of the MCP spec: tools. Specifically, it handled tools/call

— 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, opened months ago and voted up consistently, asked for exactly this.

v1.17 ships resources/list

and resources/read

. 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}

. 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.

The 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.

The OAuth Fix Everyone Was Waiting For #

The OAuth callback problem had accumulated a pile of GitHub issues: #9081 (WSL2), #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

), the browser would redirect to IPv4 (127.0.0.1

), and the two would fail to connect. The fix is three words in the changelog: “bound to IPv4 loopback.”

If 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.

–mini Mode: Use OpenCode in Your Scripts #

OpenCode’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

removes that assumption. With the flag, OpenCode runs the prompt, returns output, and exits. No interface rendering, no session management overhead.

- name: Security review
  run: opencode --mini "scan this diff for hardcoded credentials: $(git diff HEAD~1)"

opencode --mini "check staged files for common security anti-patterns"

opencode --mini "write unit tests for $(cat src/utils.ts)"

This 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.

Backward Compatibility and What Else Landed #

v1.17.10 also restores legacy MCP tool names — broken in some earlier 1.17.x builds — restores v1 account config , 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.

How to Upgrade #

npm i -g opencode-ai@latest
opencode upgrade

The full changelog is at 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.

── more in #developer-tools 4 stories · sorted by recency
── more on @opencode 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/opencode-v1-17-mcp-r…] indexed:0 read:4min 2026-06-26 ·