Free-tier 403 is network-dependent in official 2.0.32 and 1.18.35 clients · Issue #56334 · anomalyco/opencode · GitHub
Skip to content

Free-tier 403 is network-dependent in official 2.0.32 and 1.18.35 clients #56334

Closed as not planned

Description

@MarkJRogers92

Summary

Official OpenCode clients return HTTP 403 FreeTierError on my original home network. The same app, account, agent, model, and reasoning variant answered on another network, then failed again after returning to the original network.

The user reports the same symptom across projects and across OpenCode free models. Local records independently confirm the error for DeepSeek Free, GLM Free, and Big Pickle.

Error

OpenCode's free tier can only be used from within OpenCode. Download it at https://opencode.ai and keep building.

Environment and network comparison

  • macOS, arm64; official OpenCode Desktop 2.0.32.
  • Model used for controlled comparisons: opencode/deepseek-v4.1-flash-free, Max.
  • October 17, 2026, America/Chicago:
    • Original network: repeated HTTP 403.
    • Other network at 1:47 a.m.: same chat/settings completed normally, with 75 output tokens.
    • Back on original network at 1:49 a.m.: same chat/settings returned the identical HTTP 403.

Additional controls on the original network

Control Result
Built-in Build agent Same 403
Private 2.0.32 process, stock configuration without user plugins Same 403
Fresh temporary configuration/data/state with no saved account Same 403
Actual official-client request through IPv4-only local CONNECT tunnel Same 403
Actual official-client request through IPv6-only local CONNECT tunnel Same 403
Installed official 1.18.35 client, --pure, isolated configuration/data/state Same 403
Separately recorded clean-configuration 2.0.28 test, inspected rather than rerun Same 403

The CONNECT tunnels forwarded encrypted traffic without TLS termination or disabled certificate verification. The forced-family tests used DeepSeek only.

Home DNS answers matched an independent Cloudflare DNS-over-HTTPS lookup. Basic verified HTTPS connections over both families returned HTTP 200. Both home routes reported Cloudflare colo ORD, location US, WARP off.

Request correlation

From the isolated official 1.18.35 request:

  • Time: 2026-10-17 06:54:16 UTC (1:54:16 a.m. CDT)
  • Endpoint: https://opencode.ai/inference/openai/v1/chat/completions
  • Status: 403, error type FreeTierError
  • x-opencode-log-id: 3b18fb66-dc9f-4394-b897-b08e97c2a0b1
  • cf-ray: a4bd6419d98fe12f-ORD
  • cf-placement: remote-IAD

Question

Could you inspect this request and identify the acceptance check that rejects the original connection while the same official client works from another network? An IP/prefix/routing-dependent restriction or false positive seems possible, but the local evidence does not establish a permanent ban, quota exhaustion, or the exact server-side rule.

Related same-error reports: #50627 and #55737. The network comparison above is the strongest observed discriminator in this case.

This report omits credentials, client public IP addresses, account identifiers, private source, and machine-specific paths.

Activity

  1. opencode-agent commented on Oct 17, 2026

    @opencode-agent
    Contributor

    Thanks for the detailed write-up, @MarkJRogers92. The controls you ran make this much easier to look into.

    The check that rejects this request happens in the hosted OpenCode Zen gateway, not in the OpenCode app. Your results already rule out the known client-side causes (agent tools, plugins, config, account state, IP family and client version). Since the same client works on another network, only the team can look this up in the server-side logs. That kind of service and account investigation isn't handled in GitHub issues. Please email help@anoma.ly with the details, including the x-opencode-log-id (3b18fb66-dc9f-4394-b897-b08e97c2a0b1), the cf-ray (a4bd6419d98fe12f-ORD) and the UTC timestamp. If you've already emailed, the team will get to it, especially now that we've seen it here. Please keep your public IP, account identifiers and email address out of this public issue and put them only in the email.

    Related issues, for reference:

    The bot will close this issue in 1 day.

  2. Mike-wu-junhao commented on Oct 18, 2026

    @Mike-wu-junhao

    Same symptom here, with one detail that may narrow it down: I have no OpenCode account at all. I never created or logged into one, and my local credential file contains no opencode/Zen entry, so these free-tier requests carry no account identity. There is no account to look up or reset.

    Three observations, the first two of which seem to complicate a "the whole network is blocked" reading:

    1. It looks intermittent per request, not per session. On the same machine and in the same session, requests succeed and fail within the same minute - 2026-10-18T04:17:30Z was rejected while another session's requests were being answered at the same time. Earlier on 2026-10-18 a request succeeded at 01:45Z and another was rejected at 02:13:00Z, about 28 minutes later, on a different network.

    2. Two egress addresses in the same /24 behaved differently. Moving from campus Wi-Fi to a phone hotspot changed the egress from 111.4.146.186 to 111.4.146.190 - same /24, same carrier (AS9808 China Mobile) - and I saw no further failures in the ~2 minutes after the switch. That is a small sample and I am not claiming the trigger is that narrow, but it does suggest "which network" may be too coarse a description.

    3. It self-recovered once with no local change: 2026-10-03T04:43:01Z to 05:57:29Z, about 1h15m.

    Log evidence on my side: 30 ERROR records, all providerID=opencode modelID=space-bunny-free agent=build, each with its own timestamp. There is no x-opencode-log-id and no cf-ray in these records, so I have no per-request trace id to quote. I can supply a log excerpt if that is useful.

    I have emailed the full report to help@anoma.ly as the triage bot suggested.

  3. Charles-X-Core commented on Oct 18, 2026

    @Charles-X-Core

    I can confirm the same network-dependent issue on Ubuntu 24.04.5 LTS running under WSL2, using the official OpenCode CLI v2.0.32.

    Environment

    • OS: Ubuntu 24.04.5 LTS (WSL2)
    • OpenCode CLI: v2.0.32
    • Model: opencode/deepseek-v4.1-flash-free
    • Authentication: OpenCode Console account, stored and authenticated
    • Region: Peru

    Reproduction results

    Using the same machine, installation, account, model, and exact command:

    opencode run --standalone \
      --model opencode/deepseek-v4.1-flash-free \
      'Responde únicamente: OK'
    • Regular Wi-Fi / direct Internet connection: 0/5 successful requests. All five returned the FreeTierError message.
    • Mobile phone hotspot: 5/5 successful requests. All five returned OK.

    I also confirmed that opencode.ai resolves correctly and responds with HTTP 200 over HTTPS on my regular Wi-Fi connection. No proxy-related environment variables were detected.

    The same official CLI and Console account work consistently through the mobile hotspot but fail through my regular connection.

    This strongly suggests a network-dependent issue in the hosted free-tier validation, although I cannot determine whether the cause is the public IP, ISP routing, regional eligibility, or another gateway-side condition.

    Could the maintainers investigate this case and advise which request-tracing information would help identify why the regular connection is rejected?

    I can provide timestamps in UTC and relevant logs privately if needed. I will send any public IP or account-specific details to support by email rather than posting them publicly.

  4. Charles-X-Core commented on Oct 18, 2026

    @Charles-X-Core

    Additional evidence from the OpenCode request logs

    I found the corresponding request records in the OpenCode dashboard. The logs show both HTTP 403 rejections and HTTP 200 successes for deepseek-v4.1-flash-free, using the same provider (opencode) and CLI user agent (opencode/latest/2.0.32/cli).

    The logs also show occasional HTTP 429 responses followed by successful retries. This confirms that the issue is reflected in the inference service's request records, rather than being limited to a local terminal error.

    I would appreciate help identifying the reason for the HTTP 403 responses and whether the gateway applies any network-dependent eligibility or access checks.

  5. opencode-agent commented on Oct 18, 2026

    @opencode-agent
    Contributor

    Closing this as not planned, @MarkJRogers92. The free-tier rejection comes from the hosted Zen gateway, and only the team can investigate it through support, not in GitHub issues.

    If it still happens on your home network, please email help@anoma.ly with the x-opencode-log-id (3b18fb66-dc9f-4394-b897-b08e97c2a0b1), the cf-ray (a4bd6419d98fe12f-ORD) and the timestamp. Please keep your IP address and account details in that email only, not here. If you've already written in, the team will follow up there. Thanks again for the careful investigation!

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions