Skip to content

opencode serve shows "Unexpected error" with no details when startup fails #48784

Description

@rophy

Description

When opencode serve fails to start (e.g. port conflict, missing config), the error output is:

Error: Unexpected error

ServeError

No actionable information is shown — no indication of what went wrong (port in use, missing config, permission error, etc.).

The root cause is in packages/opencode/src/index.ts lines 128-134: the catch block calls FormatError(e) which returns undefined for server startup errors (no matching _tag), then falls through to the generic "Unexpected error" + errorMessage(e). The Effect error from Server.listen likely has a structured cause that errorMessage() can't extract a useful string from — it just prints the _tag ("ServeError") with no underlying message.

OpenCode version

v1.18.29

Steps to reproduce

  1. Run opencode serve --port 4096 --hostname 0.0.0.0 on a port that's already in use (or from a directory where startup fails)
  2. Observe the error output — only "Unexpected error" and "ServeError" are shown
  3. Expected: the actual reason for the failure (e.g. "EADDRINUSE: port 4096 already in use" or the specific config error)

Operating System

Linux (Ubuntu)

Activity

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