You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Bug]: Chat UI: prompts rejected immediately ("OpenCode 2 didn't accept this message") when the selected model is a GitHub Copilot model #31475
In the Chat UI, any prompt sent while a github-copilot/* model is selected fails right away with a red "OpenCode 2 didn't accept this message." Models from the opencode provider work in the same session. OpenCode 1 shows the same behavior with Copilot models.
Steps to reproduce
Open a worktree and start an OpenCode 2 agent as a chat
Select github-copilot/gpt-6-luna
Send any message
The message bubble appears, followed by the red error. No reply arrives
Expected
The prompt reaches OpenCode and the model replies, as with non-Copilot models.
Actual
Orca marks the agent done with outcome: failure.
OpenCode never records the user message. The exported session only contains the model-switched entry.
The failure is recorded about 4 ms after the model switch.
Evidence (one session, via opencode2 session export)
Created with github-copilot/gpt-6-luna. No message recorded.
Switched to an opencode provider free model. Message accepted, assistant replied, idle succeeded.
Switched back to github-copilot/gpt-6-luna. Prompt rejected, no message recorded, Orca shows failure.
What works
opencode2 run --model github-copilot/gpt-6-luna "Reply OK" returns OK.
The OpenCode 2 service is healthy and Copilot credentials are listed by opencode2 auth list.
Orca main.trace.ndjson: no error recorded for the rejected send.
OpenCode opencode.log: no error for the session.
agentModelCatalog.discovery for opencode2 returns a varying model count across runs (67, 10, 24, 37). This may or may not be related.
Suspicion (unconfirmed)
The Chat UI may send a provider, model or variant payload that OpenCode rejects for Copilot models only. The CLI path does not hit this.
Workaround
Use a non-Copilot model in the Chat UI, or use the OpenCode 2 terminal agent with Copilot models.
Root cause for this class of failure identified in #32183: OpenCode 2.x (v2.1.2/2.1.3) does not implement session/set_model — it returns -32601 "Method not found" — and Orca's model-write path (acp-session-runtime.ts → applyAcpMessageOptions) turns that into AgentSessionOptionRejectedError, rejecting the message before session/prompt is ever sent. Your Copilot models hit the same path because they differ from the agent's current/default model; the default model skips the write (the reported()[key] === value condition). Verified fallback: session/set_config_option {configId: "model", value} works on opencode 2.1.2 and switches the model correctly.
Correction to my earlier comment: on v1.4.237 the OpenCode 2 model switch actually goes through session/set_config_option (Orca's write() prefers the agent-declared model config option, which OpenCode 2 exposes), so session/set_model is not the trigger here. The confirmed cause for this symptom class is the effort-admission guard fixed in #32004 (merged 2026-10-22, not yet in v1.4.237) — a message with no effort on a model with no known default effort was refused whenever the agent reported one. Full verification in my update on #32183.
Thanks for the detailed report, @AlxTx. Chats failing with a model-only change (no known default effort for the selected model) were fixed in #32004 (shipped in v1.4.239): the guard now only refuses when Orca has already applied a value that differs from the agent's initial one, for both ACP and Pi RPC chats. Could you try the latest build? If it still happens, please reply or reopen with the details.
Thanks for the detailed report and the session export evidence, @AlxTx. This is fixed by #32004 (752f531), which shipped in v1.4.239. When a chat switched to a model with no known default effort, the message was refused locally before it reached OpenCode. That's why the failure showed up about 4 ms after the model switch and no user message was recorded. Now Orca refuses only if it has already applied an effort value that differs from the one the session started with, so switching to a Copilot model and sending works. If you still see "didn't accept this message" on the latest build, please comment here and we'll reopen.
Activity
yzyDavid commentedon Oct 23, 2026
Root cause for this class of failure identified in #32183: OpenCode 2.x (v2.1.2/2.1.3) does not implement
session/set_model— it returns-32601 "Method not found"— and Orca's model-write path (acp-session-runtime.ts→applyAcpMessageOptions) turns that intoAgentSessionOptionRejectedError, rejecting the message beforesession/promptis ever sent. Your Copilot models hit the same path because they differ from the agent's current/default model; the default model skips the write (thereported()[key] === valuecondition). Verified fallback:session/set_config_option {configId: "model", value}works on opencode 2.1.2 and switches the model correctly.yzyDavid commentedon Oct 23, 2026
Correction to my earlier comment: on v1.4.237 the OpenCode 2 model switch actually goes through
session/set_config_option(Orca'swrite()prefers the agent-declaredmodelconfig option, which OpenCode 2 exposes), sosession/set_modelis not the trigger here. The confirmed cause for this symptom class is the effort-admission guard fixed in #32004 (merged 2026-10-22, not yet in v1.4.237) — a message with no effort on a model with no known default effort was refused whenever the agent reported one. Full verification in my update on #32183.nwparker commentedon Oct 24, 2026
Thanks for the detailed report, @AlxTx. Chats failing with a model-only change (no known default effort for the selected model) were fixed in #32004 (shipped in v1.4.239): the guard now only refuses when Orca has already applied a value that differs from the agent's initial one, for both ACP and Pi RPC chats. Could you try the latest build? If it still happens, please reply or reopen with the details.
nwparker commentedon Oct 26, 2026
Thanks for the detailed report and the session export evidence, @AlxTx. This is fixed by #32004 (752f531), which shipped in v1.4.239. When a chat switched to a model with no known default effort, the message was refused locally before it reached OpenCode. That's why the failure showed up about 4 ms after the model switch and no user message was recorded. Now Orca refuses only if it has already applied an effort value that differs from the one the session started with, so switching to a Copilot model and sending works. If you still see "didn't accept this message" on the latest build, please comment here and we'll reopen.