Skip to content

Regression in v1.14.50: message submit fails silently due to ToolRegistry.resolveTools Object.entries crash #27630

Closed as not planned

Description

@DanRioDev

Summary

OpenCode v1.14.50 introduces a regression where submitting a message fails with no usable response in the client. The server returns HTTP 500 during tool resolution, and the session appears to silently stall from the user perspective.

The failure reproduces even with --pure (no external plugins), which indicates this is a core regression in v1.14.50, not a third-party plugin/config issue.

Why this is bad

  • Core interaction broken: users cannot submit messages reliably.
  • Silent UX failure: from the UI perspective it looks like a stall instead of an actionable error.
  • High blast radius: reproduces in --pure mode, so any installation can be affected.
  • Trust and productivity hit: looks like random hangs; users lose work/time diagnosing local config that is not the cause.

Affected version

  • Broken: 1.14.50
  • Working: 1.14.48

Reproduction

opencode --version
# 1.14.50

opencode run --pure --print-logs "ping"

Expected behavior

Message submission should proceed normally (resolve tools, then run prompt), including in --pure mode.

Actual behavior

SessionPrompt.resolveTools crashes with:

TypeError: Object.entries requires that input parameter not be null or undefined

Representative stack from logs:

at entries (unknown)
at T (/$bunfs/root/chunk-3bt63p9a.js:1799:849)
at <anonymous> (/$bunfs/root/chunk-3bt63p9a.js:1799:2033)
at ToolRegistry.state (/$bunfs/root/chunk-fxbxw5ct.js:675:17293)
at ToolRegistry.all (/$bunfs/root/chunk-3bt63p9a.js:1802:63)
at ToolRegistry.tools (/$bunfs/root/chunk-3bt63p9a.js:1884:897)
at SessionPrompt.resolveTools (/$bunfs/root/chunk-3bt63p9a.js:1890:3277)
at SessionPrompt.run (/$bunfs/root/chunk-3bt63p9a.js:1891:1368)

And request failure:

POST /session/<id>/message ... http.status=500

Validation that this is core (not plugin-specific)

Reproduced with:

opencode run --pure --print-logs "ping"

Same crash path occurs in pure mode (resolveTools -> ToolRegistry.state -> Object.entries).

Workaround

opencode upgrade 1.14.48 -m curl

And set in config:

"autoupdate": false

Environment

  • macOS (Darwin, arm64)
  • Installed via Homebrew originally, then downgraded via opencode upgrade ... -m curl

Request

Please patch 1.14.50+ to handle null/undefined tool arg/state objects safely during tool resolution, and surface a user-facing error instead of a silent stall when this class of failure occurs.

Activity

  1. github-actions commented on May 15, 2026

    @github-actions
    Contributor

    This issue might be a duplicate of existing issues. Please check:

  2. github-actions commented on Jul 14, 2026

    @github-actions
    Contributor

    To stay organized issues are automatically closed after 60 days of no activity. If the issue is still relevant please open a new one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions