{
  "tool": "opencode",
  "name": "OpenCode",
  "long_name": "OpenCode CLI (opencode, npm opencode-ai)",
  "aliases": [
    "opencode-ai",
    "opencode-cli",
    "open-code",
    "anomalyco-opencode",
    "sst-opencode",
    "opencode-ai-cli",
    "@opencode/cli"
  ],
  "homepage": "https://github.com/anomalyco/opencode",
  "url": "https://insidetheloop.dev/tools/opencode",
  "markdown_url": "https://insidetheloop.dev/tools/opencode.md",
  "date_modified": "2026-10-10T11:03:22Z",
  "title": "OpenCode CLI 2.0.26: latest version, renamed packages and gotchas",
  "description": "OpenCode (@opencode/cli) 2.0.26, 2026-10-08 UTC: upgrade commands, our --help diff, new SUBCOMMANDS tree, npm 12 install error and removed subcommands.",
  "answer": "The latest OpenCode CLI (`opencode`, npm `@opencode/cli`, repo anomalyco/opencode) is 2.0.26, released 2026-10-08 19:43 UTC. Upgrade with `opencode upgrade`, `npm i -g @opencode/cli@latest` or `brew install anomalyco/tap/opencode`. OpenCode 2.0 moved its npm package from `opencode-ai` to `@opencode/cli` and redesigned the CLI into a subcommand tree (27 commands added, 42 removed in our diff); `providers` is now `auth`, `db` is gone, and unknown flags now print explicit errors. On npm 12, add `--allow-scripts=@opencode/cli` or the binary refuses to start.",
  "latest": {
    "version": "2.0.26",
    "released_at": "2026-10-08T19:43:12Z",
    "url": "https://github.com/anomalyco/opencode/releases/tag/v2.0.26"
  },
  "upgrade": [
    {
      "label": "Built-in updater",
      "command": "opencode upgrade            # latest\nopencode upgrade 2.0.26     # a specific version"
    },
    {
      "label": "npm (npm 12 blocks the postinstall unless you allow it)",
      "command": "npm i -g --allow-scripts=@opencode/cli @opencode/cli@latest\nopencode --version   # opencode v2.0.26"
    },
    {
      "label": "npm 11 and older",
      "command": "npm i -g @opencode/cli@latest"
    },
    {
      "label": "Install script (macOS, Linux)",
      "command": "curl -fsSL https://opencode.ai/install | bash"
    },
    {
      "label": "Homebrew (the project's tap; the core formula updates less often)",
      "command": "brew install anomalyco/tap/opencode"
    },
    {
      "label": "Pin a version",
      "command": "npm i -g --allow-scripts=@opencode/cli @opencode/cli@2.0.26"
    }
  ],
  "verified": {
    "date": "2026-10-10",
    "version": "2.0.26",
    "method": "Installed @opencode/cli 2.0.26 and opencode-ai 1.18.35 from npm in throwaway Linux sandboxes on pc (x86_64) with no credentials, captured `--help` for every subcommand (47 pages for 2.0.26, 62 for 1.18.35), and reproduced the errors below on 2.0.26 with npm 12.2.0."
  },
  "updated_at": "2026-10-10T11:03:22Z",
  "key_facts": [
    "Latest release: 2.0.26 on 2026-10-08 19:43 UTC (GitHub tag `v2.0.26`; npm `@opencode/cli` publish 19:43 UTC). Previous release: 2.0.25 on 2026-10-08 09:16 UTC.",
    "OpenCode 2.0 moved its npm package from `opencode-ai` (stops at 1.18.35) to `@opencode/cli`. `npm i -g @opencode/cli` installs 2.0.26.",
    "Our sandbox diff found 27 commands added and 42 removed between 1.18.35 (62 help pages) and 2.0.26 (47 help pages): `opencode providers` became `opencode auth`, `opencode db` was removed, and subcommands use a new `SUBCOMMANDS` tree.",
    "Unknown flags now print an explicit error (`ERROR Unrecognized flag: ... in command opencode ...`).",
    "npm 12 blocks lifecycle scripts by default; `@opencode/cli` needs its postinstall, so install with `--allow-scripts=@opencode/cli`.",
    "`opencode pair --remote` (added in 2.0.25) shares the background service over OpenTunnel; 2.0.26 assigns unguessable 16-hex-character subdomains to prevent enumeration.",
    "Two projects are called OpenCode. This page tracks anomalyco/opencode (npm `@opencode/cli`, formerly `opencode-ai`, MIT). The Go project opencode-ai/opencode was continued as Crush (charmbracelet/crush)."
  ],
  "releases": [
    {
      "version": "2.0.26",
      "released_at": "2026-10-08T19:43:12Z",
      "url": "https://github.com/anomalyco/opencode/releases/tag/v2.0.26",
      "changes": [
        {
          "text": "Remote access through OpenTunnel uses a 16-character random hex subdomain to prevent host enumeration in certificate transparency logs.",
          "url": "https://github.com/anomalyco/opencode/pull/53962"
        },
        {
          "text": "Google Cloud credential setup for Vertex AI added to `/connect`.",
          "url": "https://github.com/anomalyco/opencode/pull/53798"
        },
        {
          "text": "Reviewed V2 release notes saved in root CHANGELOG.md and led with highlights.",
          "url": "https://github.com/anomalyco/opencode/pull/53964"
        },
        {
          "text": "Transcript links clicked in the TUI open correctly, including across wrapped rows.",
          "url": "https://github.com/anomalyco/opencode/pull/53903"
        }
      ]
    },
    {
      "version": "2.0.25",
      "released_at": "2026-10-08T09:16:34Z",
      "url": "https://github.com/anomalyco/opencode/releases/tag/v2.0.25",
      "changes": [
        {
          "text": "Run `opencode pair --remote` to expose the background service through OpenTunnel with a one-time remote pairing link.",
          "url": "https://github.com/anomalyco/opencode/pull/53837"
        },
        {
          "text": "Local, read-only previews for Word, Excel, and PowerPoint files in the file viewer.",
          "url": "https://github.com/anomalyco/opencode/pull/53305"
        },
        {
          "text": "AWS profile and SSO authentication for Amazon Bedrock in `/connect`.",
          "url": "https://github.com/anomalyco/opencode/pull/53626"
        },
        {
          "text": "Microsoft Entra ID authentication through Azure CLI for Azure models.",
          "url": "https://github.com/anomalyco/opencode/pull/53794"
        }
      ]
    },
    {
      "version": "2.0.24",
      "released_at": "2026-10-06T03:01:58Z",
      "url": "https://github.com/anomalyco/opencode/releases/tag/v2.0.24",
      "changes": [
        {
          "text": "Native Vercel AI Gateway support with prompt caching, routing, and BYOK.",
          "url": "https://github.com/anomalyco/opencode/pull/52643"
        },
        {
          "text": "Sessions awaiting input or child subagent approvals surfaced at the top of the TUI open menu.",
          "url": "https://github.com/anomalyco/opencode/pull/53435"
        },
        {
          "text": "Each `/btw` question opens in its own side-panel tab and remains open across reloads until closed.",
          "url": "https://github.com/anomalyco/opencode/pull/53270"
        }
      ]
    },
    {
      "version": "2.0.23",
      "released_at": "2026-10-05T05:26:06Z",
      "url": "https://github.com/anomalyco/opencode/releases/tag/v2.0.23",
      "changes": [
        {
          "text": "ACP protocol reports compaction with standard session updates.",
          "url": "https://github.com/anomalyco/opencode/pull/52737"
        },
        {
          "text": "Support `disable-model-invocation` in skill frontmatter.",
          "url": "https://github.com/anomalyco/opencode/pull/52747"
        },
        {
          "text": "Support Homebrew Core installations in `opencode upgrade`.",
          "url": "https://github.com/anomalyco/opencode/pull/52753"
        }
      ]
    },
    {
      "version": "2.0.22",
      "released_at": "2026-10-02T04:21:16Z",
      "url": "https://github.com/anomalyco/opencode/releases/tag/v2.0.22",
      "changes": [
        {
          "text": "Expose session compaction and session removal in plugin APIs.",
          "url": "https://github.com/anomalyco/opencode/pull/52385"
        },
        {
          "text": "Support parent session creation for plugins.",
          "url": "https://github.com/anomalyco/opencode/pull/52359"
        },
        {
          "text": "Self-describing MCP error classification across providers.",
          "url": "https://github.com/anomalyco/opencode/pull/52418"
        }
      ]
    }
  ],
  "surface": [
    {
      "from": "1.18.35",
      "to": "2.0.26",
      "method": "`bin/tool-snapshot` ran `--help` for every opencode subcommand of both versions in a throwaway Linux sandbox (62 and 47 help pages), then `bin/tool-diff` compared them. Hidden flags do not appear in `--help`.",
      "summary": "27 commands added, 42 removed, 20 commands with flags added or removed; 20 help pages changed in any way.",
      "commands_added": [
        "opencode api",
        "opencode auth",
        "opencode auth export",
        "opencode auth import",
        "opencode auth list",
        "opencode auth login",
        "opencode auth logout",
        "opencode auth switch",
        "opencode debug agents",
        "opencode mini",
        "opencode pair",
        "opencode plugin add",
        "opencode plugin check",
        "opencode plugin list",
        "opencode plugin remove",
        "opencode plugin update",
        "opencode reload",
        "opencode service",
        "opencode service get",
        "opencode service restart",
        "opencode service set",
        "opencode service start",
        "opencode service status",
        "opencode service stop",
        "opencode service unset",
        "opencode session export",
        "opencode session import"
      ],
      "commands_removed": [
        "opencode agent",
        "opencode agent create",
        "opencode agent list",
        "opencode attach",
        "opencode completion",
        "opencode db",
        "opencode db path",
        "opencode debug agent",
        "opencode debug file",
        "opencode debug file list",
        "opencode debug file read",
        "opencode debug file search",
        "opencode debug info",
        "opencode debug lsp",
        "opencode debug lsp diagnostics",
        "opencode debug lsp document-symbols",
        "opencode debug lsp symbols",
        "opencode debug rg",
        "opencode debug rg files",
        "opencode debug rg search",
        "opencode debug scrap",
        "opencode debug skill",
        "opencode debug snapshot",
        "opencode debug snapshot diff",
        "opencode debug snapshot patch",
        "opencode debug snapshot track",
        "opencode debug startup",
        "opencode debug v2",
        "opencode debug wait",
        "opencode export",
        "opencode github",
        "opencode github install",
        "opencode github run",
        "opencode import",
        "opencode mcp auth list",
        "opencode mcp debug",
        "opencode pr",
        "opencode providers",
        "opencode providers list",
        "opencode providers login",
        "opencode providers logout",
        "opencode web"
      ],
      "flags": [
        {
          "command": "opencode",
          "added": [
            "--completions",
            "--server",
            "--standalone",
            "--wizard"
          ],
          "removed": [
            "--agent",
            "--cors",
            "--fork",
            "--hostname",
            "--mdns",
            "--mdns-domain",
            "--mini",
            "--model",
            "--no-replay",
            "--port",
            "--pure",
            "--replay-limit"
          ]
        },
        {
          "command": "opencode acp",
          "added": [
            "--completions",
            "--login",
            "--wizard"
          ],
          "removed": [
            "--cors",
            "--cwd",
            "--hostname",
            "--mdns",
            "--mdns-domain",
            "--port",
            "--pure"
          ]
        },
        {
          "command": "opencode debug",
          "added": [
            "--completions",
            "--wizard"
          ],
          "removed": [
            "--pure"
          ]
        },
        {
          "command": "opencode debug config",
          "added": [
            "--completions",
            "--wizard"
          ],
          "removed": [
            "--pure"
          ]
        },
        {
          "command": "opencode debug paths",
          "added": [
            "--completions",
            "--wizard"
          ],
          "removed": [
            "--pure"
          ]
        },
        {
          "command": "opencode mcp",
          "added": [
            "--completions",
            "--wizard"
          ],
          "removed": [
            "--pure"
          ]
        },
        {
          "command": "opencode mcp add",
          "added": [
            "--completions",
            "--global",
            "--wizard"
          ],
          "removed": [
            "--pure"
          ]
        },
        {
          "command": "opencode mcp auth",
          "added": [
            "--completions",
            "--wizard"
          ],
          "removed": [
            "--pure"
          ]
        },
        {
          "command": "opencode mcp list",
          "added": [
            "--completions",
            "--wizard"
          ],
          "removed": [
            "--pure"
          ]
        },
        {
          "command": "opencode mcp logout",
          "added": [
            "--completions",
            "--wizard"
          ],
          "removed": [
            "--pure"
          ]
        },
        {
          "command": "opencode models",
          "added": [
            "--completions",
            "--server",
            "--standalone",
            "--wizard"
          ],
          "removed": [
            "--pure",
            "--refresh",
            "--verbose"
          ]
        },
        {
          "command": "opencode plugin",
          "added": [
            "--completions",
            "--wizard"
          ],
          "removed": [
            "--force",
            "--global",
            "--pure"
          ]
        },
        {
          "command": "opencode run",
          "added": [
            "--completions",
            "--server",
            "--standalone",
            "--wizard"
          ],
          "removed": [
            "--attach",
            "--command",
            "--dir",
            "--interactive",
            "--password",
            "--port",
            "--pure",
            "--share",
            "--username",
            "--variant"
          ]
        },
        {
          "command": "opencode serve",
          "added": [
            "--completions",
            "--service",
            "--stdio",
            "--wizard"
          ],
          "removed": [
            "--mdns",
            "--mdns-domain",
            "--pure"
          ]
        },
        {
          "command": "opencode session",
          "added": [
            "--completions",
            "--wizard"
          ],
          "removed": [
            "--pure"
          ]
        },
        {
          "command": "opencode session delete",
          "added": [
            "--completions",
            "--server",
            "--standalone",
            "--wizard"
          ],
          "removed": [
            "--pure"
          ]
        },
        {
          "command": "opencode session list",
          "added": [
            "--completions",
            "--server",
            "--standalone",
            "--wizard"
          ],
          "removed": [
            "--pure"
          ]
        },
        {
          "command": "opencode stats",
          "added": [
            "--all",
            "--completions",
            "--cost",
            "--full",
            "--json",
            "--limit",
            "--server",
            "--standalone",
            "--wizard",
            "--year"
          ],
          "removed": [
            "--pure"
          ]
        },
        {
          "command": "opencode uninstall",
          "added": [
            "--completions",
            "--wizard"
          ],
          "removed": [
            "--keep-config",
            "--keep-data",
            "--pure"
          ]
        },
        {
          "command": "opencode upgrade",
          "added": [
            "--completions",
            "--wizard"
          ],
          "removed": [
            "--pure"
          ]
        }
      ],
      "notes": [
        "Major 2.0 release overhaul. OpenCode reorganised its command tree into SUBCOMMANDS: `opencode providers` became `opencode auth`, `opencode db` was removed, the old `opencode attach` command is absent, and `export`/`import` moved under `opencode session` and `opencode auth`.",
        "Top-level and `run` commands gained `--standalone` and `--server` for connecting to running services, while `--pure` was dropped from every command."
      ]
    },
    {
      "from": "1.18.34",
      "to": "1.18.35",
      "method": "`bin/tool-snapshot` ran `--help` for every opencode subcommand of both versions in a throwaway Linux sandbox (62 and 62 help pages), then `bin/tool-diff` compared them. Hidden flags do not appear in `--help`.",
      "summary": "0 commands added, 0 removed, 0 commands with flags added or removed; 0 help pages changed in any way.",
      "commands_added": [],
      "commands_removed": [],
      "flags": [],
      "notes": [
        "The last two releases of the 1.18 line. Their `--help` output is identical: 1.18.35 changed provider behaviour (xAI tool-result images) and the stats pages, not the command line."
      ]
    },
    {
      "from": "1.17.20",
      "to": "1.18.35",
      "method": "`bin/tool-snapshot` ran `--help` for every opencode subcommand of both versions in a throwaway Linux sandbox (62 and 62 help pages), then `bin/tool-diff` compared them. Hidden flags do not appear in `--help`.",
      "summary": "0 commands added, 0 removed, 0 commands with flags added or removed; 0 help pages changed in any way.",
      "commands_added": [],
      "commands_removed": [],
      "flags": [],
      "notes": [
        "The last two minor versions of 1.x (latest patch of each). All 62 help pages are byte-identical, so the whole 1.18 line (36 releases, 2026-07-14 to 2026-10-06) did not change a command or a visible flag."
      ]
    },
    {
      "from": "1.17.11",
      "to": "1.17.12",
      "method": "`bin/tool-snapshot` ran `--help` for every opencode subcommand of both versions in a throwaway Linux sandbox (62 and 62 help pages), then `bin/tool-diff` compared them. Hidden flags do not appear in `--help`.",
      "summary": "0 commands added, 0 removed, 3 commands with flags added or removed; 3 help pages changed in any way.",
      "commands_added": [],
      "commands_removed": [],
      "flags": [
        {
          "command": "opencode",
          "added": [
            "--auto"
          ],
          "removed": []
        },
        {
          "command": "opencode completion",
          "added": [
            "--auto"
          ],
          "removed": []
        },
        {
          "command": "opencode run",
          "added": [
            "--auto",
            "--interactive"
          ],
          "removed": [
            "--dangerously-skip-permissions"
          ]
        }
      ],
      "notes": [
        "`--auto` replaces `--dangerously-skip-permissions` in `opencode run` help and arrives on the top-level TUI command; `run -i, --interactive` comes back. The old name and `--yolo` are still accepted as hidden aliases (PR #34641)."
      ]
    }
  ],
  "breaking": [
    {
      "version": "2.0.0",
      "change": "The npm package was renamed from `opencode-ai` to `@opencode/cli`. `opencode-ai` is pinned at 1.18.35 and does not receive 2.x updates.",
      "migrate": "`npm i -g opencode-ai` → `npm i -g @opencode/cli` (with `--allow-scripts=@opencode/cli` on npm 12).",
      "url": "https://github.com/anomalyco/opencode/releases/tag/v2.0.26"
    },
    {
      "version": "2.0.0",
      "change": "`opencode providers` was replaced by `opencode auth`. Running `opencode providers` now attempts to treat `providers` as a project directory path.",
      "migrate": "`opencode providers list|login|logout` → `opencode auth list|login|logout`.",
      "url": "https://github.com/anomalyco/opencode/releases/tag/v2.0.26"
    },
    {
      "version": "2.0.0",
      "change": "`opencode db` and `opencode attach` are absent from the 2.0.26 CLI.",
      "migrate": "Manage the background server with `opencode service` and generate pairing links with `opencode pair`.",
      "url": "https://github.com/anomalyco/opencode/releases/tag/v2.0.26"
    },
    {
      "version": "2.0.0",
      "change": "`opencode run` lost `--interactive`, `--command`, `--attach`, `--share` and `--dir`. Passing unknown flags now exits with an explicit error.",
      "migrate": "Pass prompts directly as `opencode run \"...\"`. For the minimal interactive interface, use `opencode mini`.",
      "url": "https://github.com/anomalyco/opencode/releases/tag/v2.0.26"
    },
    {
      "version": "1.17.12",
      "change": "`opencode run --dangerously-skip-permissions` was renamed `--auto` (also added to the top-level TUI command).",
      "migrate": "`opencode run --dangerously-skip-permissions \"...\"` → `opencode run --auto \"...\"`.",
      "url": "https://github.com/anomalyco/opencode/pull/34641"
    }
  ],
  "gotchas": [
    {
      "title": "npm 12 installs `@opencode/cli` but the binary refuses to start",
      "version": "2.0.26",
      "command": "npm i -g npm@12.2.0\nnpm i -g @opencode/cli@2.0.26\nopencode --version",
      "output": "Error: @opencode/cli's postinstall script was not run.\n\nThis occurs when installation scripts are disabled.\nRun the package postinstall script or reinstall with scripts enabled.",
      "fix": "`npm i -g --allow-scripts=@opencode/cli @opencode/cli@latest` (verified: `opencode --version` prints opencode v2.0.26), or `npm config set allow-scripts=@opencode/cli --location=user` once.",
      "url": "https://github.com/npm/cli/releases/tag/v12.0.0"
    },
    {
      "title": "Unknown flags fail with an explicit error and exit 1",
      "version": "2.0.26",
      "command": "opencode run --definitely-not-a-flag \"hi\" </dev/null",
      "output": "ERROR\n  Unrecognized flag: --definitely-not-a-flag in command opencode run",
      "fix": "Check your flags against `opencode <cmd> --help` or the surface diff above. Removed flags like `--interactive` or `--dir` are rejected by OpenCode 2.0.",
      "url": "https://github.com/anomalyco/opencode/releases/tag/v2.0.26"
    },
    {
      "title": "`opencode providers` fails with ENOENT: providers treated as directory",
      "version": "2.0.26",
      "command": "opencode providers",
      "output": "Error: ENOENT: no such file or directory, chdir '/root' -> 'providers'\n    at chdir (unknown)\n    at <anonymous> (/$bunfs/root/chunk-pq6tevb3.js:96:6417)",
      "fix": "`opencode providers` was replaced by `opencode auth` in 2.0. Use `opencode auth list`, `opencode auth login`, or `opencode auth logout`.",
      "url": "https://github.com/anomalyco/opencode/releases/tag/v2.0.26"
    },
    {
      "title": "`opencode db migrate` fails with Unexpected positional argument",
      "version": "2.0.26",
      "command": "opencode db migrate",
      "output": "ERROR\n  Unexpected positional argument: \"migrate\"",
      "fix": "`opencode db` was removed in 2.0; `db` is treated as a directory argument and `migrate` as an unexpected second positional.",
      "url": "https://github.com/anomalyco/opencode/releases/tag/v2.0.26"
    },
    {
      "title": "`opencode -p \"...\"` fails with Unrecognized flag: -p",
      "version": "2.0.26",
      "command": "opencode -p \"say hi\" </dev/null",
      "output": "ERROR\n  Unrecognized flag: -p in command opencode\n\n  Did you mean this?\n    -c\n    -s",
      "fix": "`-p` is the archived Go opencode-ai/opencode's prompt flag. In this OpenCode, run a prompt non-interactively with `opencode run \"say hi\"`.",
      "url": "https://github.com/opencode-ai/opencode"
    },
    {
      "title": "`opencode run --interactive` fails with Unrecognized flag: --interactive",
      "version": "2.0.26",
      "command": "opencode run --interactive \"hi\" </dev/null",
      "output": "ERROR\n  Unrecognized flag: --interactive in command opencode run",
      "fix": "`--interactive` was removed from `run` in 2.0. For the minimal interactive interface, run `opencode mini`.",
      "url": "https://github.com/anomalyco/opencode/releases/tag/v2.0.26"
    }
  ],
  "monthly": [
    {
      "month": "2026-10",
      "versions": "1.18.35 to 2.0.26 (6 releases to 2026-10-10)",
      "highlights": [
        {
          "text": "2.0.26: Random hex OpenTunnel route; Google Cloud Vertex credentials; batch diff optimizations.",
          "url": "https://github.com/anomalyco/opencode/releases/tag/v2.0.26"
        },
        {
          "text": "2.0.25: `opencode pair --remote` through OpenTunnel; Word/Excel/PowerPoint file previews.",
          "url": "https://github.com/anomalyco/opencode/releases/tag/v2.0.25"
        },
        {
          "text": "2.0.24: Native Vercel AI Gateway support; `/btw` side-panel tabs; unblock sessions awaiting input.",
          "url": "https://github.com/anomalyco/opencode/releases/tag/v2.0.24"
        }
      ]
    },
    {
      "month": "2026-09",
      "versions": "1.18.26 to 2.0.21 (30 releases)",
      "highlights": [
        {
          "text": "2.0.0 (2026-09-11): OpenCode V2 overhaul; npm package `@opencode/cli`; SUBCOMMANDS tree.",
          "url": "https://github.com/anomalyco/opencode/releases/tag/v2.0.26"
        },
        {
          "text": "1.18.34: macOS CLI binaries signed with a Developer ID and re-signed after local compile for macOS 27+.",
          "url": "https://github.com/anomalyco/opencode/releases/tag/v1.18.34"
        }
      ]
    },
    {
      "month": "2026-08",
      "versions": "1.18.11 to 1.18.25 (15 releases)",
      "highlights": [
        {
          "text": "1.18.19: native OpenAI and Anthropic passthroughs for Cloudflare AI Gateway models.",
          "url": "https://github.com/anomalyco/opencode/releases/tag/v1.18.19"
        },
        {
          "text": "1.18.20: `opencode run` answers permission requests from subagents.",
          "url": "https://github.com/anomalyco/opencode/releases/tag/v1.18.20"
        }
      ]
    },
    {
      "month": "2026-07",
      "versions": "1.17.13 to 1.18.10 (19 releases)",
      "highlights": [
        {
          "text": "1.18.0 (2026-07-14): Desktop v2 migration completed; CLI help unchanged from 1.17.20.",
          "url": "https://github.com/anomalyco/opencode/releases/tag/v1.18.0"
        }
      ]
    },
    {
      "month": "2026-06",
      "versions": "1.16.0 to 1.17.12 (16 releases)",
      "highlights": [
        {
          "text": "1.16.0 removed `opencode db migrate`; 1.17.0 added fff file search and non-interactive `mcp add --url/--header/--env`.",
          "url": "https://github.com/anomalyco/opencode/releases/tag/v1.17.0"
        },
        {
          "text": "1.17.10 added `--mini` and dropped `run --interactive/--replay/--demo`; 1.17.12 renamed `--dangerously-skip-permissions` to `--auto`.",
          "url": "https://github.com/anomalyco/opencode/releases/tag/v1.17.12"
        }
      ]
    },
    {
      "month": "2026-05",
      "versions": "1.14.31 to 1.15.13 (35 releases)",
      "highlights": [
        {
          "text": "1.14.51: experimental background subagents.",
          "url": "https://github.com/anomalyco/opencode/releases/tag/v1.14.51"
        },
        {
          "text": "1.15.6: TUI diff viewer and shell mode in `run`; `opencode login` defaults to console.opencode.ai.",
          "url": "https://github.com/anomalyco/opencode/releases/tag/v1.15.6"
        }
      ]
    }
  ],
  "sources": [
    {
      "title": "@opencode/cli on the npm registry (dist-tags, publish times)",
      "url": "https://registry.npmjs.org/@opencode%2Fcli",
      "read": "2026-10-10"
    },
    {
      "title": "opencode-ai on the npm registry (dist-tags, publish times)",
      "url": "https://registry.npmjs.org/opencode-ai",
      "read": "2026-10-10"
    },
    {
      "title": "anomalyco/opencode releases (GitHub API)",
      "url": "https://api.github.com/repos/anomalyco/opencode/releases",
      "read": "2026-10-10"
    },
    {
      "title": "anomalyco/opencode tags (GitHub API)",
      "url": "https://api.github.com/repos/anomalyco/opencode/git/matching-refs/tags/v2.0",
      "read": "2026-10-10"
    },
    {
      "title": "OpenCode 2.0.26 release notes",
      "url": "https://github.com/anomalyco/opencode/releases/tag/v2.0.26",
      "read": "2026-10-10"
    },
    {
      "title": "OpenCode 2.0.25 release notes",
      "url": "https://github.com/anomalyco/opencode/releases/tag/v2.0.25",
      "read": "2026-10-10"
    },
    {
      "title": "PR #53962: random route for remote access",
      "url": "https://github.com/anomalyco/opencode/pull/53962",
      "read": "2026-10-10"
    },
    {
      "title": "PR #53964: write reviewed V2 release notes to CHANGELOG.md",
      "url": "https://github.com/anomalyco/opencode/pull/53964",
      "read": "2026-10-10"
    },
    {
      "title": "PR #53969: lead V2 release notes with highlights",
      "url": "https://github.com/anomalyco/opencode/pull/53969",
      "read": "2026-10-10"
    },
    {
      "title": "PR #53837: pair remotely through OpenTunnel",
      "url": "https://github.com/anomalyco/opencode/pull/53837",
      "read": "2026-10-10"
    },
    {
      "title": "PR #53305: preview Word, Excel and PowerPoint files",
      "url": "https://github.com/anomalyco/opencode/pull/53305",
      "read": "2026-10-10"
    },
    {
      "title": "PR #53626: add AWS profile setup for Bedrock",
      "url": "https://github.com/anomalyco/opencode/pull/53626",
      "read": "2026-10-10"
    },
    {
      "title": "PR #53794: connect Azure through Azure CLI",
      "url": "https://github.com/anomalyco/opencode/pull/53794",
      "read": "2026-10-10"
    },
    {
      "title": "PR #52643: add native Vercel AI Gateway language models",
      "url": "https://github.com/anomalyco/opencode/pull/52643",
      "read": "2026-10-10"
    },
    {
      "title": "PR #53435: surface sessions awaiting input",
      "url": "https://github.com/anomalyco/opencode/pull/53435",
      "read": "2026-10-10"
    },
    {
      "title": "PR #53270: keep each /btw answer in its own tab",
      "url": "https://github.com/anomalyco/opencode/pull/53270",
      "read": "2026-10-10"
    },
    {
      "title": "anomalyco/opencode repository (stars, licence)",
      "url": "https://github.com/anomalyco/opencode",
      "read": "2026-10-10"
    },
    {
      "title": "opencode-ai/opencode (archived Go project, continued as Crush)",
      "url": "https://github.com/opencode-ai/opencode",
      "read": "2026-10-10"
    },
    {
      "title": "npm CLI 12.0.0 release notes (lifecycle scripts blocked by default)",
      "url": "https://github.com/npm/cli/releases/tag/v12.0.0",
      "read": "2026-10-10"
    }
  ],
  "fixes": []
}
