PIMP MY IDEBack to garage
OpenCode 2.0 / local services / 14 Oct 2026

Test both hops.

When the coding agent becomes a background service, your terminal and your provider no longer share one network route.

A local health response proves the client reached the service. It does not prove the service reached the model provider.

The terminal became a client

OpenCode 2.0 starts one background service on the local machine. The terminal interface, web interface, desktop app, and programmatic client can all connect to it. The release post says the client package can discover that service without a manually supplied endpoint.

That design keeps sessions available across several views. It also moves provider credentials, proxy settings, certificate trust, working state, and process lifetime below the terminal window.

Closing the client does not describe the service's environment.

There are two network tests

OpenCode's network guide says the command-line client connects to its service over local HTTP. If the shell uses a proxy, NO_PROXY must cover localhost, 127.0.0.1, and ::1. Otherwise a proxy can catch the local hop that should stay on the machine.

The service owns the second hop. Shell exports affect it only when that shell starts it. OpenCode provides managed service environment commands because a later service start may not inherit the terminal's proxy variables or private certificate path.

opencode service set env HTTP_PROXY http://proxy.example.com:8080
opencode service set env HTTPS_PROXY http://proxy.example.com:8080
opencode service set env NO_PROXY localhost,127.0.0.1,::1
opencode service start

The guide gives two separate checks. opencode api get /api/info checks the client-to-service connection. A normal provider request checks the service's outbound proxy and certificate route. One green response cannot stand in for both.

Secrets can move below the shell

The same guide warns that authenticated proxy URLs stored in the managed service configuration are visible through opencode service get env. Do not paste that output into bug reports or shared logs. A background service may make configuration durable, but durability changes the handling rules for secrets.

A private certificate path has the same lifetime issue. The service reads NODE_EXTRA_CA_CERTS when its process starts. Updating a shell after the service is running does not change that process.

A major upgrade needs a route inventory

OpenCode 2.0 changes the server API and client contracts. Version 1 plugins do not run in version 2. The migration guide also says version 1 and version 2 use the same configuration locations. It recommends keeping a copy of the old setup while checking models, credentials, agents, permissions, MCP servers, and plugins.

The release exists as tag v2.0.0 at commit 63f7cee. We read the release post and current version 2 documentation. We did not install OpenCode 2.0 or exercise its service on a host.

Use a four-part service card

  1. Record the client and service versions. A matching command name does not prove matching code.
  2. Record which environment owns proxy variables, certificate paths, and provider credentials.
  3. Test loopback without the proxy, then test one provider request through the intended outbound route.
  4. Keep secret-bearing environment output out of tickets, chat, and routine logs.
Interactive makeover / service route card

Service route dyno

A single connectivity badge hides two paths. Choose where the proxy settings live, then select the checks your migration card should request.

Environment location
Requested checks
Shell environment selected0 of 4 checks selected
ClientLoopbackServiceProvider
Current reading

The service route is unresolved.

Shell variables describe the client process. They do not prove the managed service inherited a proxy, certificate path, or provider credentials.

Selecting every check prepares a test card. It does not configure a service, call a provider, or prove that credentials are safe.
Sources read / 14 Oct 2026

Evidence rack

Release post

OpenCode 2.0

Describes the shared background service, client discovery, revised API, Code Mode, background work, plugin changes, SDK, and upgrade path.

Read the release post
Network contract

OpenCode version 2 network guide

Documents loopback exclusions, managed service variables, authenticated proxy handling, certificate paths, and the two verification steps.

Read the network guide
Migration contract

OpenCode version 2 migration guide

Documents API and plugin breaks, shared configuration locations, compatibility boundaries, and the required setup checks.

Read the migration guide
Artifact and discussion

Release tag and Hacker News item 50094994

GitHub maps version 2.0.0 to commit 63f7cee. The Hacker News item is the discovery route, not support for the technical claims.

Open the release tag
Open the discussion