Public accessOpenCode 1.18.16 completed a live production run on August 11, 2026.Read current status

Infer × OpenCode · check 1.18.16

Send OpenCode straight to Responses.

Generate the custom provider block checked with OpenCode 1.18.16. The tested path used @ai-sdk/openai and landed on /v1/responses without a Chat Completions translation layer.

client checkedOpenCode 1.18.16
provider package@ai-sdk/openai
request path/v1/responses
model policyloading catalog…

Configuration generator

Choose the selector OpenCode should request.

The generated file names Infer's Responses provider and maps a readable OpenCode model ID to the exact Infer selector sent on the wire.

Reading Infer's public catalog…
Before a paid run

Verify the selected model is operational, the account email is verified, and the wallet has service credit.

Merge intoopencode.json or ~/.config/opencode/opencode.json
Waiting for the current Infer catalog…

Merge these keys with the existing file. Do not replace unrelated providers, agents, tools, or permissions.

Domain-owned Agent Skill

Give OpenCode the same operating boundary.

The skill checks Infer’s current catalog and status before recommending a selector. It preserves existing configuration, keeps the key in the environment, and stops before a paid run when the selected model is unavailable.

DO_NOT_TRACK=1 npx -y skills@1.5.22 add https://infer.flow7.org --skill infer-opencode-provider -g -a opencode

Open Agent Skills CLI 1.5.22 supports OpenCode’s global skills directory. This command disables the CLI’s optional usage telemetry and verifies Infer’s published SHA-256 before installation. Installing the skill does not create an account, fund a wallet, or make an unavailable model callable. Inspect the discovery record.

OpenCode-native HTTP catalog

Load both skills from Infer’s domain.

OpenCode 1.18.16 reads HTTP skill catalogs through skills.urls. Infer’s public catalog requires neither an account nor an API key and currently contains codex-provider-doctor and infer-opencode-provider.

1 · mergeopencode.json or ~/.config/opencode/opencode.json
{
  "skills": {
    "urls": [
      "https://infer.flow7.org/.well-known/skills/"
    ]
  }
}

Merge this object with the existing file. Keep unrelated providers, agents, tools, permissions, and instructions.

2 · inspectPublic discovery only; no Infer inference request
env -u INFER_API_KEY \
OPENCODE_DISABLE_PROJECT_CONFIG=1 \
OPENCODE_DISABLE_EXTERNAL_SKILLS=1 \
OPENCODE_DISABLE_CLAUDE_CODE=1 \
OPENCODE_DISABLE_AUTOUPDATE=1 \
OPENCODE_DISABLE_MODELS_FETCH=1 \
OPENCODE_DISABLE_LSP_DOWNLOAD=1 \
OPENCODE_DISABLE_DEFAULT_PLUGINS=1 \
OTEL_SDK_DISABLED=true \
OPENCODE_CONFIG_CONTENT='{"share":"disabled","skills":{"urls":["https://infer.flow7.org/.well-known/skills/"]},"experimental":{"openTelemetry":false}}' \
opencode --pure debug skill

The catalog check needs no INFER_API_KEY. It fetches the public index and listed files, then prints the skills OpenCode discovered; it does not call Infer’s Responses endpoint.

Current stable OpenCode has no skill-install command. Adding skills.urls makes 1.18.16 fetch and cache the catalog while loading configuration; debug skill lists the result. This stable check does not validate OpenCode’s separate V2 skill registry documentation. Read the 1.18.16 URL schema, HTTP discovery source, and listing command.

Install boundary

Configuration first. One bounded run second.

  1. 01

    Merge the generated JSON.

    OpenCode accepts project configuration in opencode.json and global configuration under ~/.config/opencode/. The output uses the stable singular provider schema checked for 1.18.16.

  2. 02

    Keep the key outside the file.

    export INFER_API_KEY="your-infer-key"

    The JSON contains {env:INFER_API_KEY}, not a credential. Do not paste a real key into the file, a ticket, or a command transcript.

  3. 03

    Check status before one bounded run.

    Wait for the chosen selector to report operational. Then test the actual stream and tools the workload depends on.

Dated verification record

Local protocol evidence plus a bounded live run.

Checked August 11, 2026 with official OpenCode 1.18.16. The original wire/tool record remains local; a later production run added live Responses, SSE, receipt, and affinity evidence. Read the captured request field record.

Verified locallyOpenCode posted directly to /v1/responses, and an isolated Infer demo response completed as an SSE text stream with usage.
Verified locallyInfer's SSE serializer completed a mocked read-only tool round trip: function call, OpenCode tool result, then final text.
Verified locallyOpenCode's x-session-affinity header supplied the same session key for its title and main requests after the Infer compatibility bridge.
Verified liveOpenCode completed two streamed production requests under one persisted session. Receipts rcpt_a6c71c8185c857a13ebd68e5 and rcpt_af1f0ca4362fc87d813adb7c totaled $0.013617.
Supplier boundaryThe run proves Infer-routed models completed. The upstream supplier identity was not disclosed or attested.
PrecedenceAn explicit body relay.session_id or top-level session_id wins over the affinity header. The header cannot override it.
Not tested liveThe production run did not exercise a tool loop, structured output, retries, cancellation, a long stream, or a future OpenCode release.
Receipt boundaryInfer retains its completed-request record, but this check did not show Infer's proprietary receipt fields in OpenCode's terminal output.
Primary referencesStable source and documentation checked August 11, 2026.
OpenCode 1.18.16 ↗Custom provider docs ↗Session header source ↗

Run one real OpenCode workload.

Create an account, verify the email, add service credit, and start with a bounded task. Status remains the callability source.