Skip to content

Releases: okuyam2y/opencode-nofc

v2026.10.10 (v1.18.35)

Choose a tag to compare

@okuyam2y okuyam2y released this 10 Oct 09:47

What's New

  • Session identity headers on new sessions: upstream's session identity headers are now sent from this fork's request path as well, so providers that group requests by session receive them consistently.

Fixes

  • Upstream rebase to v1.18.35: includes upstream's fix that drops image formats xAI rejects (anything other than PNG/JPEG/WebP) from tool results instead of failing the whole request, the @ai-sdk/xai 3.0.139 and gitlab-ai-provider 6.19.0 bumps, and assorted console/stats/docs updates.
  • The fork's [exit_code=N] prefix for failed shell commands is kept alongside the new image filter.

Install

Try without installing:

npx opencode-ai-nofc

Install globally:

npm install -g opencode-ai-nofc
opencode

Or download binaries below.

Based on upstream opencode v1.18.35.

v2026.10.02 (v1.18.33)

Choose a tag to compare

@okuyam2y okuyam2y released this 02 Oct 08:03

What's New

  • Request timeouts now come from upstream's shared timeout layer (upstream #51549): upstream moved the header, SSE-idle and total request timeouts into one shared fetch function, which now also covers Cloudflare AI Gateway models. This fork's request-body adjustments (useMaxCompletionTokens, dropReasoningEffortWithTools) now run in front of that function instead of the fork carrying its own copy of the timeout logic, so future upstream timeout fixes apply here as well. Defaults and behavior are unchanged.

Fixes

  • Thinking budget is no longer doubled by the fork's raised output cap: the fork raises the output-token cap to 65,536 so long replies are not cut off, but upstream derives reasoning budgets from the same constant. On models whose output limit exceeds 32,000, the thinking budget had silently doubled (high 16,000 → 32,000, max 31,999 → 63,999). The reasoning ceiling is now held at upstream's value; the output cap is unchanged. Models with an output limit of 32,000 or less were never affected.
  • Upstream rebase to v1.18.33 (+122 commits since v1.18.30): Go and Go Plus plans and limits in the console, daily model rankings in stats, credential redaction in debug config, a shared browser opener for opencode and the TUI, npm entrypoint resolution under Node, summarized adaptive thinking requests, Bedrock tool-image hoisting limited to the models that need it, and web documentation updates.

Install

Try without installing:

npx opencode-ai-nofc

Install globally:

npm install -g opencode-ai-nofc
opencode

Or download binaries below.

Based on upstream opencode v1.18.33.

v2026.09.10-2 (v1.18.30)

Choose a tag to compare

@okuyam2y okuyam2y released this 10 Sep 01:11

What's New

  • Astra system prompt for gpt-6 models (upstream #48057): model IDs containing gpt-6 now use the Astra prompt. In this fork the branch assigns to the prompt list rather than returning early, so gpt-6 still receives the tool-parser guidance the fork injects at the end of prompt selection.

Fixes

  • Upstream rebase to v1.18.30 (+6 commits): console Go inference routing, web documentation i18n, and version sync.

Install

Try without installing:

npx opencode-ai-nofc

Install globally:

npm install -g opencode-ai-nofc
opencode

Or download binaries below.

Based on upstream opencode v1.18.30.

v2026.09.10 (v1.18.29)

Choose a tag to compare

@okuyam2y okuyam2y released this 09 Sep 23:44

Fixes

  • Amazon Bedrock model ID resolution (upstream): ARN model IDs are now passed through untouched instead of receiving a cross-region prefix, and the DeepSeek rule is narrowed from deepseek to deepseek.r1 so other DeepSeek models are no longer prefixed.
  • Web documentation i18n: the go pages are translated across 17 languages (upstream).

Upstream rebase #136 — 4 commits, no version bump. Still based on upstream opencode v1.18.29.

Note on npm

opencode-ai-nofc@1.18.29 was published with the 2026-09-08 build and has not been republished: upstream did not bump the version in this range, and npm does not allow overwriting a published version. The binaries attached below are the only artifacts carrying the Bedrock fix above. Installing from npm will pick it up at the next upstream version bump.

Install

Download a binary below, or install the previous build from npm:

npx opencode-ai-nofc
npm install -g opencode-ai-nofc
opencode

Based on upstream opencode v1.18.29.

v2026.09.08 (v1.18.29)

Choose a tag to compare

@okuyam2y okuyam2y released this 08 Sep 03:19

What's New

No new fork features in this release. This is a pure upstream-tracking release.

Fixes

  • Upstream rebase to v1.18.29 (from v1.18.27, absorbing 51 upstream commits across two rebases).
    All 222 fork patches were replayed unchanged — the normalized fork diff is byte-identical
    before and after the rebase, so no fork hunk was superseded upstream.

Notable upstream changes that reach this fork:

  • provider/transform.ts: GitLab reasoning variants now map to reasoningEffort for GPT
    families and adaptive thinking for Claude families, instead of being dropped.
  • plugin/openai/codex.ts: the Codex model filter compares GPT versions by major and minor,
    so integer versions such as gpt-6 are no longer rejected by the version regex.
  • plugin/github-copilot/copilot.ts: sends an X-Interaction-Id header carrying the session id.
  • Provider SDK bumps: @ai-sdk/openai 3.0.84 → 3.0.88, @ai-sdk/azure 3.0.88 → 3.0.93,
    gitlab-ai-provider 6.13.0 → 6.15.0.

There are no architecture changes and no breaking changes on the code paths this fork uses.

Verification

  • Type check 30/30 (all cache misses, actually executed)
  • Upstream-touched tests: 6 of 7 green; the seventh has the same 11 pre-existing failures
    before and after the rebase, with an identical failing-test-name set
  • Session hot path test/session/: 770 tests across 37 files, identical failing-test-name
    set before and after
  • Unreachable-layer guard: 8 pass
  • Full-platform build with version and TUI smoke tests passing

Install

Try without installing:

npx opencode-ai-nofc

Install globally:

npm install -g opencode-ai-nofc
opencode

Or download binaries below.

Based on upstream opencode v1.18.29.

v2026.09.03 (v1.18.27)

Choose a tag to compare

@okuyam2y okuyam2y released this 03 Sep 04:21

What's New

  • Anthropic thinking block binding: requests to Claude 5.1 and newer now ask the API to drop
    thinking blocks whose conversation prefix no longer matches, instead of failing the whole request.
    opencode re-renders parts of that prefix between turns (system prompt, tool list, compaction), so
    without this a long session could start rejecting requests outright. Mythos 5.1 is excluded because
    it does not run the check. Blocks the API drops are reported in a warning log.
    • Opt out per model, agent or variant with thinking.blockBinding: false
      (reasoningConfig.blockBinding: false on Bedrock).
  • Five-minute defaults for both stream timeouts: headerTimeout now defaults to 300000 ms
    alongside chunkTimeout, so a gateway that accepts a connection and then never sends headers no
    longer hangs the session. Either can still be disabled with false, and anything you set in
    opencode.json takes precedence over a provider preset.

Fixes

  • Upstream rebase to v1.18.27 (from v1.18.25):
    • SSE reader cancellation no longer produces an unhandled rejection when the stream errors at the
      same moment the timeout fires.
    • Azure model discovery removed upstream; it no longer writes to stdout.
    • apply_patch omits an empty move path.
    • Tool-call logging no longer resets time.start incorrectly.
    • Bedrock SDK accepts a none reasoning effort.
  • Generated v2 SDK types now include dropReasoningEffortWithTools, which the config schema has
    accepted for a while but the published types never exposed.

Install

Try without installing:

npx opencode-ai-nofc

Install globally:

npm install -g opencode-ai-nofc
opencode

Or download binaries below.

Based on upstream opencode v1.18.27.

v2026.08.29 (v1.18.25)

Choose a tag to compare

@okuyam2y okuyam2y released this 29 Aug 11:12

What's New

A fork-side fix this time, found by the multi-model review that runs over every
rebase integration.

  • A broken legacy compaction.tail_tokens value no longer takes the whole
    config file down.
    The fork carries a shim that maps that deprecated key onto
    preserve_recent_tokens, which upstream renamed it to. preserve_recent_tokens
    is validated as a non-negative integer, so the shim was promoting a key the
    schema ignores today into one it checks — and a config holding tail_tokens: -1
    (or 1.5, or "20000") was rejected outright. For the global config that meant
    falling back to defaults with one line in the log. Without the shim the same
    value is simply an unknown key and is ignored, so the migration was leaving
    legacy users worse off than not migrating at all. The value is now migrated only
    when it is a non-negative integer, and otherwise dropped with a warning naming
    the file and the value.

Fixes

  • Upstream rebase to v1.18.25 (18 commits on top of the 17 already carried
    since v1.18.23). What reaches the CLI:

    • v2-shaped config files load under v1. Upstream added a compatibility
      layer that projects supported v2 keys down to v1 and reports unsupported
      ones as diagnostics instead of failing. Config load and both global-update
      paths now run through one shared decode step.
    • Global config updates preserve the file's original shape. A settings
      write no longer rewrites a v2-shaped file into v1 form. A side effect worth
      knowing: a deprecated key stays on disk and is migrated again on every load
      rather than being rewritten once.
    • Azure CLI authentication is supported, and Azure auth no longer depends
      on Bun being present.
    • Bedrock reasoning that cannot be replayed is filtered before caching.

    The rest are console, stats and docs changes that do not affect the CLI.

  • All 172 local patches replayed. One conflict, in the config layer, where
    upstream's new decode step and the fork's legacy-key migration touched the same
    three call sites; upstream's structure was adopted and the fork's file-path
    argument threaded through it. The fork's diff against its base came out
    byte-identical before and after the rebase for 520 of the 523 files it touches,
    including the session and tool hot paths, so nothing was silently dropped.

  • The load-path migration and the deprecation warning's file path are now pinned
    by tests. That argument is the point this fork has to re-resolve on every
    upstream rebase, and a wrong resolution passed both the type check and the
    suite before.

Install

Try without installing:

npx opencode-ai-nofc

Install globally:

npm install -g opencode-ai-nofc
opencode

Or download binaries below.

Based on upstream opencode v1.18.25.

v2026.08.26 (v1.18.23)

Choose a tag to compare

@okuyam2y okuyam2y released this 26 Aug 00:04

What's New

Nothing on the fork side this time. This is a straight upstream refresh: the
tool-calling middleware, the streaming tag filter, the SSE chunk timeout and the
rest of the fork's behaviour are unchanged from v1.18.22.

Fixes

  • Upstream rebase to v1.18.23 (16 commits). Two of them reach the CLI:

    • Legacy database migration history is recovered instead of erroring.
      Installs whose Drizzle journal predates the named-column schema used to hit
      a bare "no such column" failure while seeding the new migration table. The
      seeding path now detects which shape the old table has and reconstructs the
      ids from the recorded timestamps.
    • Non-native Cloudflare AI Gateway providers are routed through the REST
      API.
      The compat gateway route rejects third-party upstreams outright, so
      those requests now go to the catalog-aware endpoint and stay bound to the
      gateway.

    The rest are console, docs and locale changes that do not affect the CLI:
    checkout session rate limiting, focus restoration in stacked dialogs,
    archived sessions leaving the home list immediately, a quota usage breakdown,
    and the usual inference header and model listing refreshes.

  • All 167 local patches replayed with no conflicts. The fork's diff against its
    base came out byte-identical before and after the rebase for the session and
    tool hot paths, so nothing was silently dropped in the merge.

Install

Try without installing:

npx opencode-ai-nofc

Install globally:

npm install -g opencode-ai-nofc
opencode

Or download binaries below.

Based on upstream opencode v1.18.23.

v2026.08.25 (v1.18.22)

Choose a tag to compare

@okuyam2y okuyam2y released this 25 Aug 03:34

What's New

  • X-Session-Id is now sent to providers. Upstream sends x-session-affinity and X-Session-Id together to non-opencode providers, but the second half of that pair lives in a file this fork does not execute — so this fork had never sent X-Session-Id to any provider. The header the fork actually builds now carries both.
  • The parent-session header reaches opencode providers too. Upstream moved x-parent-session-id out of the non-opencode branch so every provider receives it, and again did so only in the copy this fork does not run. The fork's request builder now makes the same move.

Fixes

  • Upstream rebase to v1.18.22 (from v1.18.21):
    • Anthropic model ids reach the Cloudflare AI Gateway as native dashed slugs (claude-haiku-4-5) rather than the dotted catalog form
    • GitHub PAT tokens take a distinct app-token exchange path
    • Console pricing and request-body handling split out with tests; workspace unblock action added
    • Model catalog and documentation refreshes across all locales
  • The silent-divergence guard shipped last release now covers four files instead of one. Two more upstream layers turned out to be in the same position as src/session/llm/ai-sdk.ts — llm/native-request.ts and llm/native-runtime.ts, the native stack upstream is actively building, plus llm/request.ts. All are byte-identical to upstream and unreachable from this fork's rewritten llm.ts, so upstream changes merge cleanly and do nothing. That pattern had already cost two fixes. One table now drives a content pin, a deleted-file check and a reference scan across all four, so a change to any of them fails loudly instead of being absorbed.

Install

Try without installing:

npx opencode-ai-nofc

Install globally:

npm install -g opencode-ai-nofc
opencode

Or download binaries below.

Based on upstream opencode v1.18.22.

v2026.08.23 (v1.18.21)

Choose a tag to compare

@okuyam2y okuyam2y released this 23 Aug 05:42

What's New

  • Network errors that used to end a turn silently are now retried. Some gateways end a stream with finish_reason: "network_error" instead of raising. Nothing treated that as a failure, so the turn finished as an ordinary success: empty answer, no retry, no error. It is now surfaced as a retryable stream failure and rejoins the existing retry path.
  • A step whose tools already ran is billed and settled even when the stream dies. Retrying after a tool has executed would re-run its side effects, so the turn continues instead — but until now that step's tokens went uncounted and it left no step boundary behind. It is now billed through the same per-turn correction and overflow check as a normal finish, and writes the same step-finish record.
  • Title generation no longer fails loudly or silently. A failed stream used to kill the background title task with an unhandled defect; the first fix traded that for total silence. Failures are now logged and the session simply keeps its default title.

Fixes

  • Upstream rebase to v1.18.21 (from v1.18.16), covering two upstream releases:
    • Cloudflare AI Gateway now routes OpenAI and Anthropic through their native passthrough APIs
    • Google Vertex multi-region requests route through REP endpoints
    • New Cerebras provider plugin
    • Broader retry matching — network_error variants, "try again later" and at-capacity messages — and unrecognized stream errors now default to retryable
    • Retry backoff gained jitter and a five-attempt ceiling
    • Model catalog and documentation refreshes across all locales
  • Guard against a class of silent divergence: this fork does not route through upstream's LLM event normalization layer, so fixes landing in src/session/llm/ai-sdk.ts have no effect here while the file stays identical to upstream and merges cleanly. A test now fails if that file changes at all, or if anything starts calling into it.

Install

Try without installing:

npx opencode-ai-nofc

Install globally:

npm install -g opencode-ai-nofc
opencode

Or download binaries below.

Based on upstream opencode v1.18.21.