contribution/compass
anomalyco/opencode

OpenCode

602 signals · 626 observation events

Open repository ↗

The open source coding agent.

197.0K stars25.3K forksTypeScriptMITkeyword: OpenCode
PROJECT NEWS

Release, roadmap, and discussion

All news →
anomalyco/opencode

OpenCode

Coding-Agent Infrastructure
Latest stable

v1.18.18

v1.18.18
  • Core
  • Bugfixes
  • Select the Kimi system prompt correctly for official Moonshot and Kimi providers
  • Fix xhigh reasoning effort for xai models
Original release notes ↗

Publicly indicated next

  • No public prerelease or open milestone found.

Prereleases and milestones indicate public plans; they are not delivery commitments.

Observation trail

  1. discoveredinitial snapshot
  2. changedupdatedAt, metrics, assignees
  3. changedupdatedAt, metrics
  4. discoveredinitial snapshot
  5. discoveredinitial snapshot
  6. discoveredinitial snapshot
  7. discoveredinitial snapshot
  8. changedtext, updatedAt
  9. discoveredinitial snapshot
  10. discoveredinitial snapshot
  11. changedupdatedAt, metrics, state
  12. discoveredinitial snapshot
  13. changedupdatedAt
  14. discoveredinitial snapshot
  15. discoveredinitial snapshot
  16. changedtitle, text, updatedAt
  17. changedmetrics
  18. changedmetrics
  19. changedmetrics
  20. changedmetrics
  21. changedmetrics
  22. changedmetrics
  23. changedmetrics
  24. changedmetrics
  25. changedmetrics
  26. changedmetrics
  27. changedmetrics
  28. changedmetrics
  29. changedmetrics
  30. changedtext, updatedAt, state
50 shown
issue

When updating agents.md for the qwen3.6 27b model, it always triggers prompt processing at 100%.

### Description qwen3.6 27b model updates to agents.md always trigger prompt processing. I run the model using llama.cpp, and opencode works fine at any time, rarely triggering prompt processing to re-read the context. However, as soon as the agent updates agents.md, it always writes a small piece of content to trigger one prompt processing. At 200k context,

importance 7@qiujunhanclosedOriginal evidence ↗
issue

fix(desktop): MiniMax CN fails with certificate error in desktop but works in TUI

## Description The MiniMax CN provider (`api.minimaxi.com`) fails with a certificate error in the desktop app but works perfectly in the TUI. **Error:** `Cannot connect to API: certificate has expired` ## Environment - **OS:** Windows 11 - **OpenCode version:** 1.17.6 - **Provider:** `minimax-cn` (`https://api.minimaxi.com/anthropic/v1`) - **Works in:** TUI

importance 7@derycklongclosedOriginal evidence ↗
issue

Error: Unexpected error disk I/O error

### Description [chris@worksoul:/vmTmp/git-repos/DevDashboard/1UGMsy6K]$ opencode --log-level DEBUG debug config Error: Unexpected error disk I/O error [chris@worksoul:/vmTmp/git-repos/DevDashboard/1UGMsy6K]$ opencode --version 1.17.7 ### Plugins _No response_ ### OpenCode version 1.17.7 ### Steps to reproduce _No response_ ### Screenshot and/or share link _

importance 7@chrissoundopenOriginal evidence ↗
issue

[BUG] Zen balance does not remove free usage cap; paid users still hit 200-request/free usage limit

### Description Users with an active OpenCode Zen balance are still being limited as if they are free-tier users. I tested this with two separate users/accounts. One account had a Zen balance of at least $20, but both accounts still hit the same free usage cap / 200 request limit and received 429 rate-limit errors. The paid/balance-enabled account did not ap

importance 7@90renrocraftcracksblogspotcomopenOriginal evidence ↗
issue

tui: crash on /vcs/diff 404 on both git repo and non git repo directories

### Description UPDATE: There might actually just not be a backend running because sending a prompt hung and didn't even give a spinner. The opencode TUI crashed with an unexpected error. **Error:** opencode server GET http://127.0.0.1:4096/vcs/diff?mode=git&context=12&directory=%2Fhome%2Fjohn%2F.config%2Fwaybar → 404 Not Found: (empty response body) **Stack

importance 7@threehymnsclosed2.0Original evidence ↗
issue

GitHub Action: per-message agent override on session.chat() is ignored when session created without a default agent

### Description The `anomalyco/opencode/github` Action's `agent` input is silently ignored — the model always responds using the default (`build`) agent instead of the one configured. Confirmed this is **not** a general agent-resolution bug: `opencode run --agent <name>` (same `opencode` version, run manually) applies the agent correctly. The bug appears iso

importance 7@SnixDevopenOriginal evidence ↗
issue

[BUG]: /compact is not advertised over ACP

### Description When OpenCode runs as an ACP agent in Zed, the built-in `/compact` command is not included in `available_commands_update`. Zed rejects it as an unrecognized command before it reaches OpenCode, even though the ACP service already handles `/compact` through `session.summarize()`. ### Plugins None required. ### OpenCode version 1.18.2 ### Steps

importance 7@sunerpyopenOriginal evidence ↗
issue

prompt issue

i started working with it but when i came back for some reason it didnt work again ...i cant seem to get answers its showing thinking then it stops abruptly ...ive tried several things even tried new sessions same issue

importance 7@Lena-KeziahclosedOriginal evidence ↗
issue

open code response

my app was working great and all of a sudden i get no response it makes a clicking noise and just where i submit my text i tried uninstalling and re downloading now it does the same thing just with a interruption tag with no other response

importance 7@joewhorley1-commitsclosedOriginal evidence ↗
issue

[FEATURE]: Remove leftover Mintlify starter template from packages/docs

### Verify - [x] I have verified this feature I am requesting has not been suggested before. ### Describe the enhancement you want to request `packages/docs/` is a leftover Mintlify starter template (README says "Mintlify Starter Kit", quickstart.mdx/development.mdx/index.mdx and essentials/ are all generic Mintlify onboarding content, not OpenCode docs). It

importance 7@skyzhao1223openOriginal evidence ↗
issue

Unable to open certain projects

### Description I have a project lets say its called `projects/foo` and i have `projects/foo2` now opening `foo` or `foo2` will always open `foo` and there is seemingly no way to open the `foo2` project. ### Plugins none ### OpenCode version v1.16.2 ### Steps to reproduce create 2 project folders, `foo` `foo2` copy content from `foo` to `foo2` open `foo` in

importance 7@jwverzijdenopenOriginal evidence ↗
issue

Deepseek V4 Pro (new)

Hello! I'm having a problem when using DeepSeek V4 Pro. I get the following error message: "The latest version of this model is only available hosted in China and requires explicit opt-in." Could you please help me understand how to enable it or resolve this issue?

importance 7@LeandroGueopenOriginal evidence ↗
issue

deepseek-v4-pro on opencode-go /responses fails on any multi-turn request (flash & official API both work)

Env: Windows 11, Codex with `wire_api = responses` via cc-switch → `https://opencode.ai/zen/go/v1`, model `deepseek-v4-pro`. I retried right after the 0813 model update and the problem is still there. **What happens**: First turn in a fresh conversation is fine. From the second turn on, as soon as the request includes the previous assistant reply, it returns

importance 7@JINGMINGRUOopenOriginal evidence ↗
issue

moonshot AI kimi k2 all get error.

### Description Hello. Moonshot AI can not be used for now. `Invalid request: the message at position 5 with role 'assistant' must not be empty` all Kimi K2 models shows same error. ### OpenCode version 1.0.193 ### Steps to reproduce _No response_ ### Screenshot and/or share link _No response_ ### Operating System _No response_ ### Terminal _No response_

importance 7@magic-thomasclosedbugOriginal evidence ↗
issue

"Subscription quota exceeded" error persists after 2+ days of inactivity (OpenCode Go)

### Description ## Description I am reporting a persistent quota issue with my OpenCode Go subscription. Despite having **zero usage since April 23**, my account is still flagged as "Subscription quota exceeded" as of April 26. There is a significant discrepancy between my actual usage history and the dashboard status, preventing me from using the service fo

importance 6@sanghyunnaclosedOriginal evidence ↗
issue

I use deepseek-v4-flash on Hermes agents, with no glm-5, but glm-5 is being used according to the Usage page

### Description ## Summary I use `deepseek-v4-flash` for Hermes agents and have no `glm-5` configured. But the Usage page shows both `glm-5` and `deepseek-v4-flash` being used. ## Expected Only configured models should be shown, and the Usage page should show the exact model used, not unused models. ## Actual The Usage page shows `glm-5`, and it is not clear

importance 6@BlueBirdBackopenOriginal evidence ↗
issue

ACP: Zed: Doesn't broadcast how big the context is, and how full it currently is.

### Description OpenCode's ACP support, tested through Zed, after installing OpenCode as an external agent, doesn't broadcast how big the context is, and how full it currently is, whereas other agents do. I'm not an expert in ACP, but I think this is what it should send: https://agentclientprotocol.com/rfds/session-usage#session-context-size-and-cost example

importance 6@KraXen72closedOriginal evidence ↗
issue

[FEATURE]:User message quick-jump sidebar

### Feature hasn't been suggested before. - [x] I have verified this feature I'm about to request hasn't been suggested before. ### Describe the enhancement you want to request Description: Add a slim sidebar on the right side of the TUI that lists only the user's own inputs (prompts) from the current conversation as clickable entries. Clicking an entry jump

importance 6@TutorNachhilfeopenOriginal evidence ↗
issue

[FEATURE]: open TUI diff viewer directly from CLI

### Feature hasn't been suggested before. - [x] I have verified this feature I'm about to request hasn't been suggested before. ### Describe the enhancement you want to request I would like to open the existing TUI diff viewer directly from the CLI. Example: ```bash opencode diff opencode diff . opencode diff /path/project ``` Currently i need to start openc

importance 6@patrickhaahrclosedOriginal evidence ↗
issue

[FEATURE]:Grok 4.3 reasoning levels

### Feature hasn't been suggested before. - [x] I have verified this feature I'm about to request hasn't been suggested before. ### Describe the enhancement you want to request Grok 4.3 in OpenCode currently has no reasoning levels. Grok 4.3 on API has none/low/medium/high, hopefully this would work with OAuth as well Thanks!

importance 6@nathanielstam05-ctrlclosedOriginal evidence ↗
issue

[FEATURE]: skills (paths/urls) are overridden instead of merged across layered `opencode.json` configurations

### Feature hasn't been suggested before. - [x] I have verified this feature I'm about to request hasn't been suggested before. ### Describe the enhancement you want to request When using layered configuration files (e.g., a global configuration in `~/.config/opencode/` and a local project configuration in `.opencode/opencode.json`), defining `skills` in a h

importance 6@WuJunkai2004Original evidence ↗
issue

Agent bypassed Plan mode restrictions and posting a GitHub issue comment via gh

### Description I was in plan mode working, and my agent ran `gh issue comment` and posted a reply directly on the issue which I'm working on — without being asked to, without switching to build mode, and without triggering any permission prompt. ### Root cause The plan mode system prompt explicitly says: > Do NOT use sed, tee, echo, cat, or ANY other bash c

importance 6@dsy122openOriginal evidence ↗
issue

Go subscription active but still "Free usage exceeded" — paid, no access

## Problem I subscribed to OpenCode Go today (payment completed, first month 50% off, $5 charged). After subscribing, I still receive: Free usage exceeded, subscribe to Go retrying in 32969s - attempt #1 The system still treats my account as free-tier. The subscription appears to have no effect. ## What I already tried - Verified the payment went through (ca

importance 6@raoufraoufchOriginal evidence ↗
issue

ai: mid-stream HTTP resets are reported as invalid provider output (v2)

### Description When an HTTP provider connection resets, OpenCode aborts the active session drain. If the reset happens after response headers and valid SSE events have arrived, the incomplete assistant step fails and there is no recovery beyond manually prompting the session again. Concurrent child sessions also lose their active work when their streams res

importance 6@bbartelsclosed2.0Original evidence ↗
issue

stuck in busy forever after toolcall

### Description After several successful tool calls suddenly one toolcall ends and opencode TUI remains stuck in busy (ping pong animation ongoing). Double ESC to interrupt does nothing. The last log message is either "level=INFO run=XXXX message=loop session.id=ses_XXXX step=N" or something like "level=INFO run=XXXX message=evaluated permission=bash pattern

importance 6@yopeopenOriginal evidence ↗
issue

Merge Gateway reasoning effort variants are not selectable

### Description Merge Gateway models can declare supported reasoning efforts through models.dev, but OpenCode does not map `merge-gateway-ai-sdk-provider` to the adapter's `mergeGateway` provider-options namespace. As a result, the declared effort variants are unavailable and a selected effort is not forwarded to the adapter. Expected behavior: expose the ex

importance 6@MatthewFerozclosedOriginal evidence ↗
issue

[BUG] Sessions silently deleted after cross-session API access

## Description Sessions accessed via the prompt API from another session are silently deleted. This happens consistently after a session is accessed through cross-session API calls. ## OpenCode version 1.18.16 ## Steps to reproduce 1. Create two sessions (A and B) in OpenCode web UI 2. From session A, send a prompt to session B via the API: ``` POST /session

importance 6@Mooling0602closedOriginal evidence ↗
issue

docs: fix "ProviderDisplay Name" and "personal access tokens" typos

### Description Two typos in the docs: 1. `packages/web/src/content/docs/providers.mdx:2490` and `:2528` — `"name": "My AI ProviderDisplay Name"` is missing a space; should be `"My AI Provider Display Name"`. 2. `packages/web/src/content/docs/github.mdx:100` — "a [personal access tokens]" uses the plural form after "a"; should be "a [personal access token]".

importance 6@skyzhao1223closedOriginal evidence ↗
issue

[Bug] Gradle build success but session keep going forever

As the picture, build is success and all the tasks were done, but agent keep thinking forever and I need to stop it manual. <img width="1920" height="1020" alt="Image" src="https://github.com/user-attachments/assets/ea47b346-6d81-4e1e-a209-7a9df9421173" />

importance 6@SMFDrummeropenOriginal evidence ↗
issue

TUI: session directory filter keybind is inactive inside the session picker

### What happened A key bound to `app.toggle.session_directory_filter` does nothing while the session picker is open. The same key works from the main screen. The default for this keybind is `none`, so only users who bind it hit this. ### Steps to reproduce 1. Put this in `tui.json`: ```json { "keybinds": { "app_toggle_session_directory_filter": "ctrl+a" } }

importance 6@thepigdestroyeropenOriginal evidence ↗
issue

apply_patch deletes the final blank line of files that end with one

### Description `apply_patch` deletes the final blank line of any file whose content ends with `\n\n`, even when the patch doesn't touch that line. The tool's own response confirms the unrequested change: it reports 2 deletions for a patch that asked for 1, and repeated edits keep eating one trailing newline each time. Root cause: `derive()` in `packages/cor

importance 6@codeAnqiang-maopenOriginal evidence ↗
issue

BUG: `deepseek-v4-pro` on zen/go `/v1/messages` returns 400 `Empty input messages` for string content (flash works on same request)

## Summary On the OpenCode Zen gateway `https://opencode.ai/zen/go`, the Anthropic-compatible endpoint `POST /v1/messages` fails for **`deepseek-v4-pro`** when `messages[].content` is passed as a **string**. The exact same request with **`deepseek-v4-flash`** returns 200 OK. Switching `deepseek-v4-pro` to the **array form** of `content` also works. This only

importance 6@TuTouPoweropenOriginal evidence ↗
issue

[BUG]: Active chat session stuck in "Free usage exceeded" retry loop after subscribing to Go

Description: I exceeded the free usage limit during an active session. After subscribing to Go and adding my token, new chats work perfectly under the subscription. However, the existing conversation remains permanently wedged in a retry loop showing "Free usage exceeded, subscribe to Go" and will not recognize the updated subscription state. Steps to reprod

importance 6@Kevin-Arias-LizarazoclosedOriginal evidence ↗
issue

OpenCode Go

I puchrased the subscription yet the chat still says limit exeeded buy Go. Also when trying to use Deepseek for Go it says its only available in china, it was my mane engine.

importance 6@6zorn9closedOriginal evidence ↗
issue

Azure OpenAI large models (gpt-5.6-luna/sol, gpt-5.4, o3) hang in OpenCode due to Responses API streaming

## Bug description When using the native Azure OpenAI provider (`azure`) in OpenCode, small models like `gpt-5-mini` work correctly, but larger models (`gpt-5.6-luna`, `gpt-5.6-sol`, `gpt-5.4`, `o3`) hang indefinitely instead of returning a response. ## Steps to reproduce 1. Configure Azure OpenAI provider with a valid resource and API key: ```powershell $en

importance 6@Str0kopenOriginal evidence ↗
issue

TUI does not re-layout on terminal shrink (only on grow), leaving stale width

## Summary When the terminal is resized, the opencode TUI re-layouts on **grow** but not on **shrink**, and not on the initial attach. The drawn width stays at its previous value, so the TUI either leaves blank space or overflows the terminal. Measured in a browser-hosted terminal (xterm.js over a WebSocket PTY, opencode 1.18.16): | terminal columns | column

importance 6@HermanShiopenOriginal evidence ↗
issue

TUI stays alive with EOF stdin and no TTY

### Reproduction ```sh docker run -d --name opencode-eof node:22-bookworm-slim sleep infinity docker exec opencode-eof npm install -g opencode-ai@1.18.18 timeout -s KILL 8s docker exec opencode-eof opencode </dev/null docker top opencode-eof -eo pid,ppid,tty,stat,etime,args ``` ### Actual `opencode` does not exit. After the `docker exec` client is killed, th

importance 6@xichen1997openOriginal evidence ↗
issue

[bug]出现了令人意外的错误或者问题/An unexpected error or problem occurred

### Description 我认为此问题应该是其他问题的重复 因为我之前有遇到过此问题,于是我更新了结果更新之后又遇到该问题 正常情况下,他应该让我等到明天早上再使用opencode但他并没有他一直在尝试重新尝试 如果您认为我冒犯了您,您随时可以关闭这个 I think this question should be a duplicate of other questions Because I have encountered this problem before, I updated the results and encountered the problem again. Normally he would have asked me to wait until tomorrow morning

importance 6@TransferStation-aiopenOriginal evidence ↗
issue

Endpoints 404?

### Description I use Routerly and OpenCode, and have been using a combination of OpenCode Zen and Go subscriptions. Until today, this worked fine until I noticed models running very slow - timeouts. To help work around those issues, I re-added the models and created policy in an attempt to see if Routerly will choose models that are performing better. (Perf

importance 6@salcedoopenOriginal evidence ↗
issue

websearch tool hidden when using the official OpenCode Go (opencode-go) provider

### Description The [tools docs](https://opencode.ai/docs/tools/) say `websearch` "is only available when using the OpenCode provider or when the `OPENCODE_ENABLE_EXA` environment variable is set". I'm using the official **OpenCode Go** subscription ([docs](https://opencode.ai/docs/go/), model IDs use the `opencode-go/` prefix, e.g. `opencode-go/deepseek-v4-

importance 6@xfqz86openOriginal evidence ↗
pull request

feat(app): add workspace flows to new layout

## What's New ### 🚀 Workspace Selection for New Sessions - **Start sessions where you want**: Choose between **Local repository**, spin up an isolated **New workspace**, or select from **Existing workspaces**. - **Context-aware composer pill**: The location selector shows branch context, respects project defaults (*Last used*, *Local*, or *New*), and include

importance 6@HonaopenbetaOriginal evidence ↗
issue

Missing {file:} reference causes entire agent config to fail

## Summary When an `opencode.json` contains a `{file:./path}` reference that doesn't exist on disk, OpenCode rejects the **entire** agent configuration with a hard error: ``` Error: Configuration is invalid at /var/www/extrachill.com/opencode.json: bad file reference: "{file:./AGENTS.md}" /var/www/extrachill.com/AGENTS.md does not exist ``` This means no age

importance 5@chubes4closedOriginal evidence ↗
issue

Nested Subagent Fails Silently in 3-Layer Deep Chain (Works Fine in 2-Layer)

### Description A subagent called at depth 3 (parent → child → grandchild) fails silently without any error message. The issue does not occur at depth 2 (parent → child). The problem began appearing on 2026-04-17, while everything worked normally the previous day. The grandchild agent receives the prompt successfully (child session window appears), enters a

importance 5@xsrtyqclosedOriginal evidence ↗
issue

Open Path" Error - ENOENT Spawn Failure

### Description I'm experiencing an error when trying to open files/projects using the tabs/buttons in the OpenCode desktop app. The operation fails with the following error: Copy Request failed Error invoking remote method 'open-path': Error: spawn [object Promise] ENOENT Environment Details: App: OpenCode Desktop Application Location: ~\Desktop\game\cleani

importance 5@Andresch1966closedneeds:complianceOriginal evidence ↗
issue

[FEATURE]: RTL support for Arabic chat text

### Feature hasn't been suggested before. - [x] I have verified this feature I'm about to request hasn't been suggested before. ### Describe the enhancement you want to request **OpenCode doesn't support RTL (Right-to-Left) text direction for Arabic or Persian.** When users write in Arabic, the chat display shows text incorrectly, making it hard to read and

importance 5@mohammad-ahwclosedOriginal evidence ↗
issue

[FEATURE]: Add version input to the GitHub action

### Feature hasn't been suggested before. - [x] I have verified this feature I'm about to request hasn't been suggested before. ### Describe the enhancement you want to request Add an optional `version` input to `anomalyco/opencode/github`. The install script (`https://opencode.ai/install`) already supports `--version` to install a specific release: ``` curl

importance 5@xlionjuanclosedOriginal evidence ↗
issue

[FEATURE]: Add SHA256 checksum verification to the install script

### Feature hasn't been suggested before. - [x] I have verified this feature I'm about to request hasn't been suggested before. ### Describe the enhancement you want to request Add SHA256 checksum verification to the install script (`install`). The script downloads binary archives from GitHub Releases and extracts them, but performs no integrity check after

importance 5@xlionjuanclosedOriginal evidence ↗
issue

ACP: Zed: Deepseek V4 Flash Free doesn't consistently broadcast reasoning effort

### Description Deepseek V4 Flash Free doesn't consistently broadcast reasoning effort: When I open zed, External agents, Opencode, I have it set to Deepseek V4 Flash Free. However, initially, I don't see the reasoning level select. I have to select a different model and then select Deepseek back to see it. Before: <img width="781" height="181" alt="Image" s

importance 5@KraXen72closedOriginal evidence ↗
issue

CJK characters garbled when copying text via OSC52 clipboard (WSL2 + VSCode terminal)

## Bug Description When copying text containing CJK characters (Chinese, Japanese, Korean) from opencode running in VSCode integrated terminal on WSL2, the pasted result is garbled/mojibake. ASCII text copies correctly. This is a known issue in the upstream OpenTUI framework's OSC52 clipboard implementation. The same bug was reported and fixed in charmbracel

importance 5@xiezeopenOriginal evidence ↗