mirror of
https://github.com/anomalyco/opencode.git
synced 2026-07-22 02:05:26 -04:00
github copilot: Gemini 3.0 invalid body request #2955
Closed
opened 2026-02-16 17:37:58 -05:00 by yindo
·
44 comments
No Branch/Tag Specified
dev
mini-terminal-title
location-wait-api
mini-project-commands
resume-prompt
alibaba-images
item-reference-investigation
ai-pdf-support
beta
v2
production
wsl-shell-env
fork-once
wsl-env-load
stream-eof-finish
nvidia-minimax-thinking
pr-38231-assets
shell-mode-style
pr-38224-assets
reject-malformed-hunks
tool-progress-live
codemode-catalog-diffs
model-flicker
default-background
terminal-queries
event-batching
port-plugins
gemini-thinking-level
patch-symlink-policy
session-version-sentinel
client-service
service-channel-config
webfetch-images
search-integration
billing-details
shell-exit-grace
desktop-image-backgrounds
copilot-endpoint
migrate-select-theme
bound-tool-output
workspace-model-block
remove-promo
collapse-model-providers
review-sidebar-hydration
collapse-questions
location-startup-timing
remove-output-paths
shell-output-preview
quark-timeline
raw-tool-recovery
dialog-hover-fix
server-profiles
server-switcher
kimi-mfjs-schema
session-options-hook
interleaved-fields
remote-workspaces-plan
fix-initial-message
undo-git-guard
pr-37575-assets
opentui-binary-repro
startup-lock-release
system-theme-v2
llm-error-types
tui-plugin-load
external-defaults
productionclear
pr-37513-assets
console-auth-refresh
v2-app-api
backend-adapter-v2
oc-clipboard-and-paste
test/hot-reload-regressions
provider-benchmark
shell-progress-tail
model-cycle-palette
theme-toggle-copy
flaky-provider-tests
permission-modal-keyboard
shell-output-alignment
session-http-hook
permission-highlight
activity-panel
workspace-copy
interrupt-not-found
device-org-select
v2-subagent-limit
vertex-xai-default
reasoning-replay
agent-picker-custom
effect-dynamic-tools
patch-empty-hang
fix/empty-assistant-output
favorites-cli-config
simulated-tools
console-analytics-logger
simulation-terminal-frame-capture
feature-defaults
free-model-logo
service-restart
interrupt-stop-race
xai-oauth
background-indicator-inline
home-shortcut-align
compaction-model-marker
provider-config-shape
interface-toggle
install-layout-eligibility
tools-menu
mcp-location-refresh
session-picker-crash
optimistic-submit
dialog-action-focus
llm-terminal-contract
llm-remove-provider-error
remove-subtle-syntax
title-small-model
dialog-empty-states
permission-panel
api-dsl-cleanup
app-backend-v2
free-model-badge
compaction-percent
thought-toggle
home-session-scroll
llm-error-redesign
luna-oauth-fix
tool-flat-draft
v2-shell-utf8
remove-starptech
effort-values-none
config-dialog
update-tsgo
bounded-compaction-prod
stale-form-submit
dismiss-stale-form
bounded-compaction
agent-picker-variants
config-dir-repro
shell-tail-output
v2-integrations
quick-undo
startup-error-cause
subagent-panel-ui
lazy-fff
optimistic-input
zsh-positional
v2-diff-route
plugin-session-rename
gpt56-max
shortcut-screenshots
service-status
context-overflow
random-tool-catalog
review-nav-spacing
architecture-review
duplicate-event-logs
fix-shell-tab
v2-agent-env
plugin-watch-fix
compaction-cleanup
fix-compaction
genai-observability
agent-permission-order
tui-pending
catalog-repros
catalog-cold-start
console-login-logs
fix/tui-fresh-session-prompt
review-terminal
model-reset-repro
reasoning-variants
improve-caching
team-members
promise-chaining
tabs-launch-screenshots
compaction-steer
agent-env-markers
daemon-election
retry-layout
bash-streaming-fix
bash-tool-crash
restore-session-paging
provider-entrypoints
model-input-defaults
fix-initial-message-page-size
background-return
model-capability-defaults
runner-scenario-dsl
location-watch-guard
fix-shell-count
session-model-sync
new-session-commands
interrupt-tool-hang
codemode-service
mcp-attachments
stdlib-gaps
codemode-object-delete
json-callbacks
code-mode-opencode
drive-manifest
firecrawl-search
persisted-suspense
mcp-resource-app
mcp-resource-ui
mcp-resource-api
media-attachment
instruction-rename
destructuring-assign
codemode-audit
schema-reexports
event-subscribe
nxl/vcs-plugin-api
global-forms
revert-prompt
fix-stale-tools
service-version-guard
partial-refund-ledger
sdk-js-imports
jlongster/simulation-improvements
promise-named-types
tool-output
execute-code-mode-v2
compaction-indicator
subagent-command
catalog-readiness
pending-tool-error
zen-body-limit
form-tui
step-settlement
settlement-ledger
provider-packages
elicitation-timeout
codemode-opencode-adapter
optimize-hooks
models-log-leak
zen-accounting-latency
form-elicitation
codemode-opencode-wiring
codemode-opencode-integration
models-refresh-daemon
v2-model-refresh
filesystem-simulation
context-checkpoint
system-context
subagent-notify
subagent-resume
simulation-spec-v2
directory-attachment-expansion
zen-headers-timeout
config-effect-v2
embedded-config-seam
config-ownership
shell-background-notice
compaction-idle-status
session-tab-remount
publish-server
directory-attachments
content-filter-notice
settings-model-clipping
home-autocomplete-location
tabs-restore
plugin-runtime-bridge
simulation-spec
optimistic-prompt
reasoning-model-api
tool-result-api
beta-badge
prompt-submit-clear
prompt-attachments
mcp-prompts
background-shortcut
debug-windows-opentui-standalone-repro-release
fix-empty-sessions-list
core-node-consumers
model-selection
snapshot-otui
pty-env-route
status-frame-fix
daxbox-servers
shell-output-flush
shell-tool-test
auth-list
remove-default-layers
jlongster/opencode-all-tests-more
native-provider-clean
context-tooltip-v2
native-provider-core
native-provider-stack
deferred-tools
delete-email-action
poll-updates
jlongster/test-batch
session-forking
plugin-patterns
anthropic-thinking-variants
merge-dev-into-v2
fix-windows-abbreviate-home
project-edit-update
streaming-prd
zen-refund-accounting
fish-completion
cache-code-highlights
review-session-pane
sdk-generation-dev-check
clean-desktop-deps
clean-http-recorder-deps
clean-opencode-deps
clean-session-ui-deps
clean-stats-app-deps
clean-ui-deps
clean-web-deps
clean-app-deps
clean-cli-deps
clean-console-app-deps
clean-console-core-deps
clean-console-function-deps
clean-console-mail-deps
clean-console-support-deps
clean-core-deps
clean-root-deps
tui-child-picker
core-project-relocation
complete-client
open-auth-url
desktop-relocated
child-session-picker
fix-event-type
typecheck-28263387070
refresh-singleflight
jlongster/location-nodes
home-active-indicator
session-step-interrupted
interrupt-loading
fix/tui-preserve-renderer-error
fix/provider-session-failures
frank-production-validation-20260626
embedded-live-tail
fix/openai-stateless-reasoning-continuation
session-event-stream
responses-stream-retry
mcp-core-skeleton
server-auto-approve
opentui-retry
timeline-scroll-state
protocol-events
published-events
native-provider-config
native-provider-packages
oc-1.17.10-hotfix
new-session-model
tab-custom-color
feat/tui-render-state-dump
fix/tui-palette-question-mode
otui-native-yoga
feature/expand-paste-summary
todo-dock-motion
mcp-search-tool
tab-shrink
session-provider-errors
isolate-oauth-headers
verify-mcp-auth
secure-oauth-api
mcp-reconnect
restrict-mcp-env
redact-config-secrets
atomic-oauth-callback
native-provider-schema
add-model-comparison-pages
question-paste
simplify-target-layouts
fix-mention-mime
tagged-error-lint
websocket-auth
headless-console-login
mobile-utility-ui
ios-pwa-shell
mobile-bottom-nav
mobile-session-layout
mobile-home-layout
plugin-internal
fix/v2-queue-after-terminal-failure
http-recorder-release
custom-image-defaults
consolidate-todo-event
normalize-step-event-versions
fix-session-subpath
simplify/v2-runner-transitions
run-core-tests
feat/v2-terminal-run-failures-dev
filesystem-errors
hide-read-arguments
layer-node-permit
layer-node-projector
layer-node-repocache
layer-node-sprompt
layer-node-projcopy
layer-node-location
layer-node-movesess
layer-node-locfs
layer-node-models
layer-node-locmut
layer-node-instruct
layer-node-cconfig
layer-node-watcher
layer-node-fmutation
layer-node-integrate
layer-node-cevent
layer-node-cspawn
layer-node-cagent
layer-node-cproject
layer-node-command
yolo-flag
layer-node-extdir
layer-node-cprocess
layer-node-cgit
layer-node-cripgrep
layer-node-csearch
figma-mcp-client
stabilize-ci-tests
core-tests-ci
project-copy-migration
mcp-prompt-refresh
mcp-oauth-refresh
workerd
share-listener-runtime
v2-global-nodes
server-node-graph
mcp-resource-content
fix/command-double-file
background-model-refresh
jlongster/project-copy-config
demo/pr-31617-session-location
feat/tui-copy-session-location
reasoning-options
reasoning-options-support
fix/opencode-bundle-fff
refactor/mcp-connection-results
refactor/reference-directory-parts
feat/mcp-resource-updated
fix/mcp-prompts-list-changed
feat/mcp-resource-list-changed
docs-go-pricing-explanation
refactor/tui-http-sdk
fix/v2-read-validation-failure
refactor/v2-session-run-coordinator
refactor/core-provider-turn
feat/v2-terminal-run-failures
fix/v2-session-wake-retry-dev
feat/core-v2-background-agent
fix/http-recorder-release
fix/v2-session-wake-retry
fix/bash-tool-settlement
fix/v2-headless-permission-policy
fix/v2-binary-detection
fix/v2-read-images
fix/v2-read-errors
feat/core-v2-overflow-recovery
feat/jsonl-log-file
feat/core-v2-session-context-epoch
fix-bedrock-1
fix/session-metadata-migration-repair
pr-30929-demo-video
nexxeln-copy-git-worktree-path
fix/tui-worker-rpc-errors
refactor/core-v2-message-identity
fix/core-v2-sequence-index-invariants
refactor/core-account-file-agents
feat/core-command-registry
fix/tui-rpc-errors
fix/openai-codex-route-timeouts
fix/openai-websocket-header-timeout
refactor/remove-aisdk-option-fields
dustin/improve-memory-usage
feat/sdk-oagen-effect-emitter
nxl/consolidate-project-references
fix/prompt-loop-shutdown
feat/stripe-lake-ingest
kit/tui-scenario-frames
test/core-location-filesystem-canonical-paths
fix/zen-provider-sse-errors
dustin/clickable-titles
fix/free-tier-limit-cta
fix-model-selection
kit/pr-30051-screenshots
fix/xai-provider-upstream-pdf-support
chore/opencode-ai-provider-updates
feat/mcp-add-inline-args
refactor/provider-inline-local-helpers
fix/tui-syntax-builtins
fix/tui-question-keybindings
nxl/session-status-parent-id
feat/core-config-service
fix/free-model-sort
jlongster/workspace-v2
server-discovery
nxl/tui-message-keyboard-nav
fix-github-links-and-star
kit/tui-pending-tool-spinner
fix/task-running-continuation-feedback
fix-leader-none
fix/google-vertex-anthropic-auth-message
worktree-fork-toast
feat/request-aware-provider-fetch
fix/session-project-migration-time
kit/tui-optimistic-prompt-render
issue-13770-tool-output-docs
fix/google-vertex-metadata-warning
brendan/fix-e2e
question-endpoint
test/config-effect-dsl
fix-native-llm-options
compaction-adjustments
fix/app-v2-channel-gate
feat/core-database-schema-sync
fix/mcp-oauth-scope-and-callback-port
dustin/fix-structured-output-fields
kit/repro-zod-schema-leak
worktree-dead-exports
worktree-dead-files
nxl/fix-permission-specificity
jlongster/diff-viewer
nxl/v2-deferred-prompt
fix-retries
nxl/compaction-args
dustin/tool-choice-capability-support
cooper/opencode-codex-refresh-dedupe
refactor/native-runtime-prepared-request
storage-v2-service
drop-app-runtime-instance
worktree-test-port-audit
worktree-cli-effect-harness-2
worktree-cli-prewarm
refactor/session-prompt-parts
image-paths
test/config-instance-opencode-files
fix-env-json-parse-guards
test/config-instance-save-update
extract-part-text-helper
test/config-instance-template-loads
test/config-instance-first-slice
test/config-instance-agent-command
test/provider-instance-custom-models
test/provider-instance-model-lookup
worktree-global-bus-unify
test/provider-instance-first-slice
oc-issue-question-stuck
oc-snapshot-subdir
nxl/fix-auto-compaction-progress
fix/edit-project-dialog
brendan/message-timeline-scroll-virtualiser
jlongster/simulation-rebase
thdxr/auth-well-known-service
models-dev-global-snapshot
tui-markdown-h3-muted
debug-windows-opentui-bun-1.3.14
debug-windows-opentui-crash
serve-socket-mode
fix-event-sync
kit/delete-instance-local-context
upgrade-otui-0212
snapshot-npm-native-binary-install
emdash/27458-h7lu6
session-next-delta-events
new-colors
fix/event-stream-context-capture
fix/event-stream-context-27391
effect/session-transport-service
effect/config-paths-service
adjust-perm-array-logic
nxl/remove-http-notfound-fallback
nxl/render-config-json-diagnostics
nxl/render-tagged-config-errors
effect-test-permission-next
fix/desktop-session-status-tui-20260513090340
opencode/storage-engine-repository
effect/define-service-helper
disable-image-resizing-default
effect/util-process-effect-returning
effect-test-plugin-auth-override
effect/kill-tuiconfig-installation-facades
effect/unwrap-run-runtime-facades
effect-test-project-project
jlongster/fuzz-backend
fix-aws-issue
llm-native-inject-client
llm-native-runtime-openai
llm-native-prepare-tests
llm-native-request-adapter
llm-native-event-adapter
effect-test-provider-cluster1
brendan/lazy-init-plugins
kit/drop-project-sandboxes
claude/learn-new-skill-Ji0dn
fix/windows-instance-fixture-cleanup
worktree-draft+llm-usage-additive
styled-skill-errors
cleanup/effectify-remaining-compaction-tests
draft/session-timeline-rewind
worktree-http-recorder-cassette-seam
claude/review-recent-issues-Ck5UO
opencode/happy-cabin
cleanup/localize-id-prefixes
cleanup/openapi-workspace-path-pattern
llm-service-event-seam
kit/config-field-tolerant
kit/migrate-drift-tests-into-exerciser
kit/httpapi-exercise-via-sdk
kit/mcp-tolerate-bad-output-schemas
refactor-provider-model-status-schema
fix/httpapi-query-schema-drift
kit/fix-26435-legacy-session-model
kit/plugin-mutation-reproducers
kit/fix-workspace-time-used-migration
kit/revert-26550-fallback
kit/restore-hono-temporary
kit/fix-empty-bad-request-normalization
nxl/reference-file-mentions
fix/composer-image-preview-click
kit/httpapi-project-skill-repro
kit/httpapi-total-coverage
kit/httpapi-auth-cleanup-base
jlongster/workspace-external
fix-reasoning-efforts
fix/session-negative-output-tokens
make-review-normal
nxl/fix-anthropic-provider-tools
brendan/desktop-electron-refactor
fix/workspace-warp-typecheck
jlongster/warp
nxl/background-subagents
kit/pty-no-auth-parity
thdxr/v2-message-model-failures
kit/server-listen-native
kit/httpapi-listener-proxy-ws
kit/typed-session-not-found-sketch
fix-wellknown-down
kit/httpapi-not-found-shape
effect-drizzle-sqlite
question-lifecycle-effect-tests
kit/instance-loader-service
kit/effect-workspace-adapters
docs-sdk
kit/llm-approval-instance-ref
kit/session-llm-instance-state
effect-sync-event-service
jlongster/pin-session
azure-cognitive-improvements
adapter-rename
nxl/runtime-aware-search-service
deflake-test
moonshot-mfjs
nxl/small-model-subagents
brendan/new-composer-design
kit/httpapi-sdk-smoke-test
simon-reject-failure
kit/httpapi-json-shape-parity
kit/fix-httpapi-session-list-main
kit/httpapi-route-parity
fix-deepseek-reasoner
kit/httpapi-experimental-tools
deepseek-anthropic
fix/usage-chart-local-time
fix-shell-test
fix-config-ordering-issue
fix/beta-lazy-assistant-error
fix/session-event-typecheck-ci-shell
kit/httpapi-route-inventory-current
shell-test
simon-thread-network-defaults
fix-hover-selected
kit/schema-native-cleanup-ts
adjust-retry-logic
kit/session-schema-events
kit/config-permission-effect
Cramer/2026-03-25/bare-repo-bug
opencode-remote-voice
core
fix-zen-2
kit/multiedit-schema-fix-ts
kit/fix-release-publish-effect
kit/file-instance-context
kit/lsp-effect-refactor
kit/tui-terminal-notifications
tui-favorite-sort-on-query
openai-compaction
fix-copilot
opencode/swift-nebula
fix/project-worktree-external-directory-default
kit/tui-go-upsell-shimmer
kit/httpapi-workspace-schema-migration
kit/ns-plugin-loader-redo
kit/ns-plugin-loader
kit/ns-file-watcher
kit/repro-write-lsp-hang
kit/collapse-session
kit/collapse-patch
kit/retrofit-plugin-main
kit/retrofit-skill-main
kit/retrofit-permission-main
kit/retrofit-mcp-main
kit/retrofit-config-main
kit/unwrap-plugin-siblings
kit/unwrap-small-standalone
kit/unwrap-mcp-siblings
kit/unwrap-config-siblings
kit/self-reexport-migration-tooling
claude/verify-pr-comment-UuyAZ
claude/debug-e2e-tests-Hkgdb
kit/ns-heap
kit/ns-bus-event
kit/ns-standalone
kit/config-httpapi
kit/ns-file-3
kit/ns-session-3
kit/project-httpapi-reads
kit/ns-session
kit/ns-share
kit/ns-project
kit/ns-util-color
kit/ns-lsp
kit/ns-util-local-context
jlongster/sync-fenc
anthropic-fixes
feat/request-route-spans
kit/fs-search
kit/fs-tui-state
example-tui-plugin
cli-perf/tui-config
kit/fs-cli-io
kit/fs-plugin-npm
kit/llm-facade-cleanup
fix/snapshot-gitignored-index
kit/tui-facade-cleanup
kit/config-providers-httpapi-spike
kit/file-httpapi-spike
kit/workspace-httpapi-reads
nxl/mount-question-server
fix/session-prompt-permission-draft
fix-effect-context-bridges
followup-question-reply-inline
kit/fix-session-prompt-logger-interop
kit/question-httpapi-spike
kit/httpapi-route-inventory
kit/facade-session-prompt
jlongster/wip
nxl/fff-search-service
brendan/effect-env
kit/facade-project-20260413
kit/ripgrep-schema-source
kit/shell-job-service
fix/lsp-dead-root-prune
2.0
foo
facade/config
facade/lsp
facade/file
facade/provider
kit/ai-sdk-motel-bridge
oc-run
kit/e2e-seed-runtime-scope
brendan/electron-window-state
go-hero-banner-glm51-promo
snapshot-node-shim-stuff
fix/tui-session-diff-summary
oc-release-0.1.98
fix/snapshot-gitignore-respect
oc-basecode
worktree-agent-ab6ff98a
layered-deferred-comp
oc-startup
feat/tui-logo-radial-pulse
claude/effect-migration-review-Qyu6m
fix-anthropic-transform
kit/effect-sync-event
kit/effect-workspace
kit/eliminate-message-v2-roundtrips
worktree-agent-ab5855c0
kit/motel-session-telemetry
kit/tool-effect-multiedit
task-spec-executor-split
kit/tool-effect-invalid
worktree-feat+otel-bridge
kit/effect-native-tool-interrupt
jlongster/tui-workspaces-ux
kit/permission-flow-ux
nxl/deflake-webfetch-memory-test
npmcli-config
brendan/node-server-types
pr-21017
app/startup-splash
no-diff-virtualization
opencode/shiny-cactus
nxl/fix-diffs-header-sticky
nxl/shell-mode-tray
message-v3
opencode/gentle-pixel
oc-run-pinned
kit/prompt-abort-cleanup
opencode-suggest
rankings
copilot/research-opencode-server-plugin-api
kit/console-org-switcher
kit/ci-unit-reporting
figma-tokens
copilot/fix-spawn-error-windows
kit/dev-memory-observe
kit/remove-e2e-url-repro
effect-sync-event
effect/summary
pr-18308
worktree-audit-effect-services
test/processor-mock-server
fix/session-tool-metadata
opencode/glowing-tiger
claude/variant-popover-number-keys-gc6Bo
kit/format-child-process-spawner
jlongster/flaky-plugin-test
timeline-spacing-cleanup
feat/fff-search-tools
pr-18335
refactor/server-route-organization
jlongster/remove-workspace-server
kit/zen-stream-diagnostics
worktree-agent-a682f34a
spinner-concepts
openai-websocket
brendan-cli-codesign
brendan/cli-codesign
kit/windows-session-restore
opencode/cosmic-mountain
opencode/quick-orchid
perf/tool-memory
input-cleanup
opencode/sunny-comet
log-worktree-error-details
remove-context-tooltip-from-tab
tui-experimental-design
kit/effectify-command-review
brendan/better-session-id-handling
fix/lazy-facades
fix/insufferable-cycle-cyclone
kit/effectify-worktree
kit/effectify-tool-registry
kit/effectify-plugin
kit/effectify-pty
kit/effectify-command
kit/effectify-session-status
feat/auto-accept-permissions
kit/skill-lazy-init
fix-plugin-provider-behavior
fix/stale-running-session-ui
opencode-2-0
opencode/quiet-pixel
enterprise-lead-tracking
fix-e2e
kit/effect-bus
gitlab-version
add-model-reconciliation
jlongster/effectify-event-route
fix/zen-openai-response-usage
refactor/effect-pattern-migration
no-projects-empty-state
nexxeln/readme-small-tweak
test-branch
refactor/delete-scheduler
fix/shell-tab-shell-mode
effectify-skill
rhys/fast-mode-toggle
fix/flaky-question-dock-e2e
no-project-empty-state
fix/webkit-diff-viewer-crash
repro/watcher-als-bug
kit/repro-interrupted-text
startup
revert-17354-opencode/mighty-garden
move-status
perf/tui-session-history-cursor
effect-auth-foundation
console-subcommands
title-bar-cleanup
effect-log-compat
node-pty
fix/interrupt-idle-reason-poc
fix/interrupt-double-sound
opencode/proud-rocket
jlongster/automatic-session-routing
refactor/node-server-adapter
add-api-shape
node-build
jlongster/revert-sighup
fix/memory-tui-cache-listeners
auto-accept-permissions
pr-16286
default-explore-models
kit-pr
kit-pr-ahhhh
fix/16323-keyed-show-callbacks
feat/hashline-edit-experimental-v2
fix/git-fsmonitor-cleanup
snapshot-spawn-server-logs
implement-background-agents
opencode/happy-planet
fix/subagent-navigation-inline-click
go-page
fix/daytona-plugin-link-15976
opencode/hidden-orchid
tweaks
sidebar-fade-scroll
migrate-enterprise-to-nextjs
migrate-web-to-nextjs
migrate-app-to-nextjs
migrate-console-app-to-nextjs
fix/beta-stack-aware-sync
feature/tui-assistant-tokens-per-second
opencode/misty-falcon
snapshot-node-pty
update-stats
legal-req
commit-history
mhart/fix-cloning-slowness
chore/duplicate-issues-agent-dev
chore/duplicate-issues-agent
migrate-skill-discovery
migrate-mcp
migrate-config
optimize-apply-patch
temp
test-fields
brendan/nsis-vc-redistributables
chore-cleanup
feat/reference-agent
fix/attach-default-cwd
clean-modified-files
feat/discord-bot
v5-v6
feat/fff-file-search
snapshot-windows-desktop
fix-read-tool-for-webfetch
K-Mistele/dev
provider-optional-fields
feature/session-handoff
models-endpoint
opencode/sunny-harbor
utilize-family-in-dialog
review
tui-claude-style
rm-footer
fix/shiki-highlight-engine
fix/plugin-install-config
fix/plugin-install-location
feat/update-to-include-discord
git-slop-v2
docs-export
app/open-button
feature/workspace-domain
redesign-run-command
git-slop
opencode/clever-falcon
ripgrep-tree-paths
adjust-instructions-logic
fix-tool-ordering
workflow/publish-updates
chore-update-deps
feat/turborepo-caching
trigger-publish-on-beta
add-beta-branch-trigger
remove/nix-desktop-workflow
ci
fix-markdown-parsing
remove-highlights-template
update-to-add-learn-script
release-highlights-template
fixing-changelog-spacing
fixing-changelog-ui
fix-changelog-json
changelog-swr-caching
add-dynamic-agents-resolving
release-notes
fix/claude-pro-max-docs-warning
web-fixing-download-buton-on-changelog
fix/google-vertex-anthropic-thinking
sqlite
fix-azure-issue
desktop-poilsh-styles-ui-ux
desktop-shortcuts-panel
scheduler-module
apply-patch
cleanup-server-routes
fix-tool-outputs
fix-ai-message-issue
updated-black-page-performance
fix-black-page-view-transition-safari
update-design-subscriptions
fix-markdown-parser
fix/mcp-timeout
fix-id-issue
upgrade-bun
black-page-transitions-design-updates
official-copilot-plugin
plan-mode
read-plurals
cli-run-improvements
style-new-tips-layout
codex-auth
disable-auto-server
fix-model-dialog
fix-plugin-hook
feat/question-multiselect
new-toolbar-layout
feature/tui-sidebar-overlay
ui-improvements-some-animations
ask-question-tool
truncate-to-file
update-perms
truncation
snaphot-style-multiple-commands-input
experimental-mentions
queue-on-track
add-ignored
rename-repo-sst-to-anomalyco
permission-rework
ripgrep-tests
variants-docs
fix-custom-model-variants
read-global-claude-skills
changelog-updates
thinking-toggle-wip
style-current-todo
tui-shortcuts-panel
update-toggle-and-model-selection
small-screens
feature/skill-tool
feature/agent-skills
add-tests
llm-centralization
interleaved-fixes
interleaved-thinking
docs
sdk
bash-tweaks
provider-cleanup
fix-issue
blacksmith-migration-0ddfdb5
fix/cli-clean-exit-on-model-errors
pr-38252-videos
pr-37967-screenshots-final
pr-37967-screenshots-v2
pr-37967-screenshots
v1.18.4
v1.18.3
v1.18.2
v1.18.1
v1.18.0
v1.17.20
v1.17.19
pr-36567-inline-evidence
pr-36567-evidence
pr-36516-evidence
v1.17.18
v1.17.17
v1.17.16
v1.17.15
v1.17.14
v1.17.13
v1.17.12
v1.17.11
v1.17.10
pr-33649-assets
v1.17.9
v1.17.8
v1.17.7
v1.17.6
v1.17.5
v1.17.4
v1.17.3
v1.17.2
v1.17.1
v1.17.0
v1.16.2
v1.16.0
github-v1.2.25
v1.15.13
pr-29948-screenshots
v1.15.12
github-v1.2.24
github-v1.2.23
v1.15.11
v1.15.10
v1.15.9
v1.15.7
v1.15.6
v1.15.5
v1.15.4
v1.15.3
v1.15.2
v1.15.1
v1.15.0
v1.14.51
v1.14.50
v1.14.49
v1.14.48
v1.14.47
v1.14.46
v1.14.45
v1.14.44
v1.14.43
v1.14.42
v1.14.41
v1.14.40
v1.14.39
v1.14.38
v1.14.37
v1.14.35
v1.14.34
v1.14.33
v1.14.32
v1.14.31
v1.14.30
v1.14.29
v1.14.28
v1.14.27
v1.14.26
v1.14.25
v1.14.24
v1.14.23
v1.14.22
v1.14.21
v1.14.20
v1.14.19
v1.14.18
v1.14.17
v1.4.14
v1.4.12
v1.4.11
v1.4.10
v1.4.9
v1.4.8
v1.4.7
github-v1.2.22
github-v1.2.21
github-v1.2.20
v1.4.6
v1.4.5
v1.4.4
v1.4.3
v1.4.2
v1.4.1
v1.4.0
latest
v1.3.17
v1.3.16
v1.3.15
v1.3.14
v1.3.13
v1.3.12
v1.3.11
v1.3.10
v1.3.9
v1.3.8
v1.3.7
v1.3.6
v1.3.5
v1.3.4
v1.3.3
github-v1.2.19
v1.3.2
v1.3.1
v1.3.0
v1.2.27
v1.2.26
v1.2.25
v1.2.24
v1.2.23
v1.2.22
v1.2.21
v1.2.20
v1.2.19
github-v1.2.18
v1.2.18
v1.2.17
v1.2.16
v1.2.15
v1.2.14
v1.2.13
v1.2.12
v1.2.11
github-v1.2.17
v1.2.10
v1.2.9
v1.2.8
v1.2.7
github-v1.2.16
v1.2.6
v1.2.5
v1.2.4
v1.2.3
v1.2.2
v1.2.1
v1.2.0
v1.1.65
v1.1.64
v1.1.63
v1.1.62
v1.1.61
v1.1.60
v1.1.59
v1.1.58
v1.1.57
v1.1.56
v1.1.55
v1.1.54
github-v1.2.15
v1.1.53
v1.1.52
v1.1.51
v1.1.50
v1.1.49
v1.1.48
v1.1.47
v1.1.46
v1.1.45
v1.1.44
github-v1.2.14
v1.1.43
v0.0.0-ci-202601291718
v0.0.0-ci-202601291635
v0.0.0-ci-202601291626
v1.1.42
v1.1.41
v1.1.40
v1.1.39
v1.1.38
v1.1.37
v1.1.36
v1.1.35
v1.1.34
v1.1.33
v1.1.32
v1.1.31
v1.1.30
v1.1.29
v1.1.28
v1.1.27
v1.1.26
github-v1.2.13
v1.1.25
v1.1.24
v1.1.23
v1.1.21
v1.1.20
v1.1.19
v1.1.18
github-v1.2.12
v1.1.17
v1.1.16
v1.1.15
v1.1.14
v1.1.13
v1.1.12
v1.1.11
v1.1.10
v1.1.8
v1.1.7
v1.1.6
v1.1.5
v1.1.4
v1.1.3
github-v1.2.11
v1.1.2
v1.1.1
github-v1.2.10
github-v1.2.9
github-v1.2.8
github-v1.2.7
v1.0.224
v1.0.223
v1.0.222
v1.0.221
v1.0.220
v1.0.219
v1.0.218
v1.0.217
v1.0.216
v1.0.215
v1.0.214
v1.0.213
v1.0.212
v1.0.211
v1.0.210
v1.0.209
v1.0.208
v1.0.207
v1.0.206
vscode-v0.0.13
v1.0.205
v1.0.204
v1.0.203
v1.0.202
v1.0.201
v1.0.200
v1.0.199
v1.0.198
v1.0.197
v1.0.196
v1.0.195
v1.0.194
v1.0.193
v1.0.192
v1.0.191
v1.0.190
v1.0.189
v1.0.188
v1.0.187
v1.0.186
v1.0.185
github-v1.2.6
v1.0.184
v1.0.183
v1.0.182
v1.0.181
github-v1.2.5
github-v1.2.4
v1.0.180
v1.0.179
v1.0.178
v1.0.177
v1.0.176
v1.0.175
v1.0.174
v1.0.173
v1.0.172
v1.0.171
v1.0.170
v1.0.169
v1.0.168
github-v1.2.3
github-v1.2.2
v1.0.167
v1.0.166
v1.0.165
v1.0.164
github-v1.2.1
v1.0.163
v1.0.162
v1.0.161
v1.0.160
v1.0.159
v1.0.158
v1.0.157
v1.0.156
v1.0.155
v1.0.154
v1.0.153
v1.0.152
v1.0.151
v1.0.150
v1.0.149
v1.0.148
v1.0.147
v1.0.146
v1.0.145
v1.0.144
github-v1.2.0
github-v1.1.0
v1.0.143
v1.0.142
v1.0.141
v1.0.138
v1.0.137
v1.0.134
v1.0.133
v1.0.132
v1.0.131
v1.0.130
v1.0.129
v1.0.128
v1.0.127
v1.0.126
v1.0.125
v1.0.124
v1.0.123
v1.0.122
v1.0.121
v1.0.120
v1.0.119
v1.0.118
v1.0.117
v1.0.116
v1.0.115
v1.0.114
v1.0.113
v1.0.112
v1.0.111
v1.0.110
v1.0.109
v1.0.108
v1.0.107
v1.0.106
v1.0.105
v1.0.104
v1.0.103
v1.0.102
v1.0.101
v1.0.100
v1.0.99
v1.0.98
v1.0.97
v1.0.96
v1.0.95
v1.0.93
v1.0.94
v1.0.92
v1.0.91
v1.0.90
v1.0.89
v1.0.88
v1.0.87
v1.0.86
v1.0.85
v1.0.84
v1.0.83
v1.0.82
v1.0.81
v1.0.80
v1.0.79
v1.0.78
v1.0.77
v1.0.76
v1.0.75
v1.0.74
v1.0.73
v1.0.72
v1.0.71
v1.0.70
v1.0.69
v1.0.68
v1.0.67
v1.0.66
v1.0.65
v1.0.64
v0.0.2-feature-bench
v1.0.63
v0.0.1-feature-bench
v1.0.62
v1.0.61
v1.0.60
v1.0.59
v1.0.58
v1.0.57
v1.0.56
v1.0.55
v1.0.54
v1.0.53
v1.0.52
v1.0.51
v1.0.50
v1.0.49
v1.0.48
v1.0.47
v1.0.46
v1.0.45
v1.0.44
v1.0.43
v1.0.41
v1.0.40
v1.0.39
v1.0.38
v1.0.37
v1.0.36
v1.0.35
v1.0.34
v1.0.33
v1.0.32
v1.0.31
v1.0.30
v1.0.29
v1.0.28
v1.0.27
v1.0.26
v1.0.25
v1.0.24
v1.0.23
v1.0.22
v1.0.21
v1.0.20
v1.0.19
v1.0.18
v1.0.17
v1.0.16
v1.0.15
v1.0.14
v1.0.13
v1.0.12
v1.0.11
github-v1.0.10
v1.0.10
v1.0.9
v1.0.8
v1.0.7
v1.0.6
v1.0.5
v1.0.4
v1.0.3
v1.0.2
v1.0.1
v1.0.0
v0.15.31
v0.15.30
v0.15.29
v0.15.28
v0.15.27
v0.15.26
v0.15.25
v0.15.24
v0.15.23
v0.15.21
v0.15.22
v0.15.20
v0.15.19
v0.15.18
v0.15.17
v0.15.16
v0.15.15
v0.15.14
vscode-v0.0.12
vscode-v0.0.11
vscode-v0.0.10
v0.15.13
v0.15.12
v0.15.11
v0.15.10
v0.15.9
v0.15.8
v0.15.7
v0.15.6
github-v1.0.9
github-v1.0.8
github-v1.0.7
v0.15.5
v0.15.4
v0.15.3
v0.15.2
v0.15.1
v0.15.0
v0.14.7
v0.14.6
v0.14.5
v0.14.4
v0.14.3
v0.14.1
v0.14.0
v0.13.9
v0.13.8
v0.13.7
v0.13.6
v0.13.5
v0.13.4
v0.13.3
v0.13.2
v0.12.1
v0.12.0
v0.11.8
v0.11.7
v0.11.6
v0.11.5
v0.11.4
v0.11.3
v0.11.2
v0.11.1
v0.11.0
v0.0.0-202509210757
v0.10.4
v0.10.3
github-v1.0.6
v0.10.2
v0.10.1
v0.10.0
v0.9.11
v0.9.10
v0.9.9
v0.9.8
v0.9.7
v0.9.6
v0.9.5
v0.9.4
v0.9.3
v0.9.2
v0.9.1
v0.9.0
v0.8.0
v0.0.0-202509130959
v0.0.0-202509130953
v0.0.0-202509130949
v0.7.9
v0.7.8
v0.7.7
v0.7.6
v0.7.5
v0.7.4
v0.7.3
v0.7.2
v0.7.1
v0.7.0
v0.6.10
v0.6.9
v0.6.8
v0.6.7
v0.6.6
v0.6.5
v0.6.4
v0.6.3
v0.6.2
v0.6.1
v0.6.0
v0.0.0-202509010531
v0.0.0-202509010020
v0.5.29
v0.5.28
v0.5.27
v0.5.26
v0.5.25
v0.5.24
v0.5.23
v0.5.18
v0.5.15
v0.5.13
v0.5.12
v0.5.11
v0.5.10
v0.5.9
v0.5.8
v0.5.7
v0.5.6
github-v1.0.5
v0.5.5
v0.5.4
v0.5.3
v0.5.2
v0.5.1
v0.4.45
v0.4.44
v0.4.43
v0.4.42
v0.4.41
v0.4.40
v0.4.37
v0.4.36
v0.4.34
v0.4.29
v0.4.28
v0.4.27
v0.4.26
v0.4.25
v0.4.24
v0.4.23
v0.4.22
v0.4.21
v0.4.20
v0.4.19
v0.4.18
v0.4.17
v0.4.16
v0.4.15
v0.4.14
v0.4.13
v0.4.12
v0.4.11
v0.4.10
v0.4.6
v0.4.4
v0.4.5
v0.4.3
v0.4.2
v0.4.1
v0.4.0
v0.3.133
v0.3.132
v0.3.131
v0.3.130
v0.3.129
v0.3.128
v0.3.127
v0.3.126
v0.3.124
v0.3.123
v0.0.0-202508031658
v0.0.0-202508031655
v0.0.0-202508031652
v0.0.0-202508031649
v0.0.0-202508031638
v0.0.0-202508031634
v0.0.0-202508031629
v0.3.122
v0.3.121
v0.3.120
v0.3.119
v0.3.118
v0.3.117
v0.3.116
v0.3.115
v0.3.114
v0.0.0-202508022246
v0.0.0-202508022229
v0.0.0-202508022228
v0.0.0-202508022056
v0.0.0-202508022055
v0.0.0-202508022053
v0.3.113
v0.3.112
v0.3.111
v0.3.110
v0.3.109
v0.3.108
v0.3.107
v0.3.106
v0.3.105
v0.3.104
v0.3.103
vscode-v0.0.8
vscode-v0.0.9
v0.3.102
v0.3.101
v0.3.100
v0.3.93
v0.3.92
v0.3.90
v0.3.88
v0.0.0-202507310417
v0.3.87
v0.3.86
v0.3.85
v0.3.84
v0.3.83
v0.3.82
v0.3.81
v0.3.80
vscode-v0.0.7
v0.3.79
v0.3.78
v0.3.77
v0.3.76
v0.3.75
github-v1.0.4
github-v1.0.3
v0.3.74
v0.3.72
v0.3.73
v0.3.71
v0.3.70
v0.3.69
v0.3.68
v0.3.67
v0.3.66
v0.3.65
v0.3.64
v0.3.63
v0.3.62
v0.3.61
v0.3.60
v0.3.59
v0.3.58
v0.3.57
v0.3.56
vscode-v0.0.6
v0.3.55
vscode-v0.0.5
v0.3.54
v0.3.53
v0.3.52
v0.3.51
v0.3.50
v0.3.49
v0.3.48
v0.3.47
v0.3.46
v0.3.45
v0.3.44
vscode-v0.0.4
github-v1
vscode-v0.0.3
github-v1.0.2
github-v1.0.1
github-v1.0.0
vscode-v0.0.2
v0.3.43
v0.3.41
v0.3.42
v0.3.40
v0.3.39
v0.3.38
v0.3.37
v0.3.36
v0.3.35
v0.3.34
v0.3.33
v0.3.32
v0.3.31
v0.3.30
v0.3.29
v0.3.28
v0.3.27
v0.3.26
v0.3.25
v0.3.24
v0.3.23
v0.3.22
v0.3.21
v0.3.20
v0.3.19
vscode-v0.0.1
v0.3.18
v0.3.17
v0.3.16
v0.3.15
v0.3.14
v0.3.13
v0.3.12
v0.3.10
v0.3.11
v0.3.9
v0.3.8
v0.3.7
v0.3.5
v0.3.6
v0.3.4
v0.3.3
v0.3.2
v0.3.1
v0.2.35
v0.3.0
v0.2.34
v0.2.33
v0.2.31
v0.2.32
v0.2.30
v0.2.28
v0.2.29
v0.2.27
v0.2.26
v0.2.25
v0.2.24
v0.2.23
v0.2.22
v0.2.21
v0.2.20
v0.2.19
v0.2.18
v0.2.17
v0.2.16
v0.2.15
v0.2.14
v0.2.13
v0.2.12
v0.2.11
v0.2.10
v0.2.9
v0.2.7
v0.2.8
v0.2.6
v0.2.5
v0.2.4
v0.2.3
v0.2.2
v0.2.1
v0.2.0
v0.1.195
v0.1.196
v0.1.194
v0.1.193
v0.1.192
v0.1.190
v0.1.191
v0.1.189
v0.1.188
v0.1.187
v0.1.186
v0.1.185
v0.1.184
v0.1.183
v0.1.182
v0.1.181
v0.1.180
v0.1.179
v0.1.178
v0.1.177
v0.1.176
v0.1.175
v0.1.174
v0.1.173
v0.1.172
v0.1.171
v0.1.170
v0.1.169
v0.1.168
v0.1.167
v0.1.166
v0.1.165
v0.1.164
v0.1.163
v0.1.162
v0.1.161
v0.1.160
v0.1.159
v0.1.158
v0.1.157
v0.1.156
v0.1.155
v0.1.154
v0.1.153
v0.1.152
v0.1.151
v0.1.150
v0.1.149
v0.1.148
v0.1.147
v0.1.146
v0.1.145
v0.1.144
v0.1.143
v0.1.142
v0.1.141
v0.1.140
v0.1.139
v0.1.138
v0.1.137
v0.1.136
v0.1.135
v0.1.133
v0.1.134
v0.1.132
v0.1.131
v0.1.130
v0.1.129
v0.1.128
v0.1.127
v0.1.126
v0.1.125
v0.1.124
v0.1.123
v0.1.122
v0.1.121
v0.1.120
v0.1.119
v0.1.118
v0.1.117
v0.1.116
v0.1.115
v0.1.114
v0.1.113
v0.1.112
v0.1.111
v0.1.110
v0.1.109
v0.1.108
v0.1.107
v0.1.106
v0.1.105
v0.1.104
v0.1.103
v0.1.101
v0.1.102
v0.1.100
v0.1.99
v0.1.98
v0.1.97
v0.1.96
v0.1.95
v0.1.94
v0.1.93
v0.1.92
v0.1.91
v0.1.90
v0.1.89
v0.1.88
v0.1.87
v0.1.86
v0.1.85
v0.1.84
v0.1.83
v0.1.82
v0.1.81
v0.1.80
v0.1.79
v0.1.78
v0.1.77
v0.1.76
v0.1.75
v0.1.74
v0.1.73
v0.1.72
v0.1.71
v0.1.70
v0.1.69
v0.1.68
v0.1.67
v0.1.66
v0.1.65
v0.1.64
v0.1.63
v0.1.62
v0.1.61
v0.1.60
v0.1.59
v0.1.58
v0.1.57
v0.1.56
v0.1.55
v0.1.54
v0.1.53
v0.1.52
v0.1.51
v0.1.50
v0.1.49
v0.1.48
v0.1.47
v0.1.46
v0.1.45
v0.1.44
v0.1.43
v0.1.42
v0.1.41
v0.1.40
v0.1.39
v0.1.38
v0.1.37
v0.1.36
v0.1.35
v0.1.34
v0.1.33
v0.1.32
v0.1.31
v0.1.30
v0.1.29
v0.1.28
v0.1.27
v0.1.26
v0.1.24
v0.1.25
v0.1.23
v0.1.22
v0.1.21
v0.1.20
v0.1.19
v0.1.18
v0.1.17
v0.1.16
v0.1.15
v0.1.14
v0.1.13
v0.1.12
v0.1.11
v0.1.10
v0.1.9
v0.1.6
v0.1.7
v0.1.8
v0.1.5
v0.1.4
v0.1.3
v0.1.2
v0.1.1
v0.1.0-beta3
v0.1.0-beta2
v0.1.0-beta1
v0.1.0
v0.0.55
v0.0.54
v0.0.53
v0.0.52
v0.0.51
v0.0.50
v0.0.49
v0.0.48
v0.0.46
v0.0.45
v0.0.47
0.0.47
0.0.46
0.0.45
v0.0.44
v0.0.43
v0.0.42
v0.0.41
v0.0.40
v0.0.39
v0.0.38
v0.0.37
v0.0.36
v0.0.35
v0.0.34
v0.0.33
v0.0.32
v0.0.31
v0.0.30
v0.0.29
v0.0.28
v0.0.27
v0.0.26
v0.0.25
v0.0.24
v0.0.22
v0.0.21
v0.0.20
v0.0.19
v0.0.18
v0.0.17
v0.0.16
v0.0.15
v0.0.14
v0.0.13
v0.0.10
v0.0.9
v0.0.8
v0.0.7
v0.0.6
v0.0.3
v0.0.4
v0.0.5
v0.0.2
v0.0.1
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: anomalyco/opencode#2955
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @furkan-bayram132 on GitHub (Nov 18, 2025).
Originally assigned to: @rekram1-node on GitHub.
Description
When i prompt Github Copilot gemini 3.0 to do anything in build mode, it ends up with "invalid request body" error.
OpenCode version
1.0.76
Steps to reproduce
Screenshot and/or share link
Operating System
Ubuntu 22.04
Terminal
Ubuntu bash, terminal
@rekram1-node commented on GitHub (Nov 18, 2025):
@furkan-bayram132 did you enable it in your copilot settings? Also note that some of their api is down and could be causing issues too
@furkan-bayram132 commented on GitHub (Nov 18, 2025):
@rekram1-node yes i enabled it
@rekram1-node commented on GitHub (Nov 18, 2025):
Do u have any mcp servers? Their api may be erroring due tot hat
@joskfg commented on GitHub (Nov 18, 2025):
I'm having the same issue and it is failing when I ask to contact the context7 MCP server.
@furkan-bayram132 commented on GitHub (Nov 18, 2025):
i don't have any mcp servers
@rversteegen commented on GitHub (Nov 18, 2025):
I see the same thing in opencode 0.15.31 (I see a lot of bugs constantly fixed in 1.x so thought I'd wait a little). No MCP or LSP servers here.
And as mentioned on your X post, Gemini 3 in Zen is also throwing that Generative AI API key error.
@rekram1-node commented on GitHub (Nov 18, 2025):
@rversteegen can u show me
opencode auth listand then try:
opencode run hello --print-logs --model opencode/gemini-3-pro@rversteegen commented on GitHub (Nov 18, 2025):
Oh, noone mentioned this detail yet: the agent always performs one tool call successfully, and then shows the error. I tell it to continue and it repeats:
@rversteegen commented on GitHub (Nov 18, 2025):
I see a
model=gpt-5-nano failed to generate titleAPI error in there, but the titles do generate just fine when not usingopencode/gemini-3-pro, so I guess it's because the whole session is errored.Anyway it's about time I upgraded to opencode 1.x unless you want me to continue testing with 0.15 for any reason.
@nerdeveloper commented on GitHub (Nov 18, 2025):
i am having this same error, using the latest version of opencode
@JSCOP commented on GitHub (Nov 19, 2025):
github-copilot/gemini-3.0-pro-preview have invalid request body error is not solved in 1.0.78 either.
@zokizuan commented on GitHub (Nov 19, 2025):
Gemini 3 is not working properly
This error is a Google Gemini API quota exhaustion error.
Specifically:
You hit the input token quota for the model gemini-3-pro under the Paid Tier 3 limit.
The exceeded quota metric is:
generativelanguage.googleapis.com/generate_content_paid_tier_3_input_token_count
The limit is 8,000,000 input tokens per minute.
The API is telling you to retry after ~15–20 seconds.
It also suggests checking your plan and billing details, and provides links for rate-limit documentation and usage monitoring.
In short:
Your Gemini API request failed because you sent more input tokens per minute than your paid tier allows. Wait for the retry window or increase your quota.
@zokizuan commented on GitHub (Nov 19, 2025):
I guess we can add some sort of auto retry option with some flag, taht retry every 5-15s or so
@rekram1-node commented on GitHub (Nov 19, 2025):
I don't think that diagnosis is the issue, that'd be a 429 not a 400
@ham-zax commented on GitHub (Nov 19, 2025):
yeah thats what i said, the api itself is saying the total x request can be made per minute, 800k or something, so that's the issue.
@paoloricciuti commented on GitHub (Nov 19, 2025):
Same issue, I can use Gemini 3 just fine with vscode (same GitHub copilot subscription and same MCP servers)
@althafdemiandra commented on GitHub (Nov 19, 2025):
look like related to this,
ai sdk problem?
https://github.com/microsoft/vscode/issues/278264#issuecomment-3550925633
https://github.com/vercel/ai/issues/10344
@dvrkoo commented on GitHub (Nov 19, 2025):
On opencode 1.0.78 gemini 3 from copilot edits in plan mode even doe it is not supposed to do so
@pcaro90 commented on GitHub (Nov 19, 2025):
It seems Zed is also affected: https://github.com/zed-industries/zed/issues/43024
@mirsella commented on GitHub (Nov 20, 2025):
still happening on 1.0.80 which includes #4518
@asd-noor commented on GitHub (Nov 20, 2025):
Facing the same issue!
OpenCode version:
1.0.80Provider:
GitHub Copilot(using a custom one to access codex models)Provider Configuration Snippet:
@snajjar commented on GitHub (Nov 20, 2025):
rekram1-node I think you meant:
opencode run hello --print-logs --model github-copilot/gemini-3-pro-previewCurrent issue does not target opencode/gemini-3-pro model, but the Github Copilot provider instead.
Running this, I get a gigantic error message like this:
@iljod commented on GitHub (Nov 20, 2025):
+1 btw
@JSCOP commented on GitHub (Nov 20, 2025):
Same Issue :(
Logs
`
opencode run please analize DTServer plugin --print-logs --model github-copilot/gemini-3-pro-preview
INFO 2025-11-20T13:51:52 +187ms service=default version=1.0.80 args=["run","please","analize","DTServer","plugin","--print-logs","--model","github-copilot/gemini-3-pro-preview"] opencode
INFO 2025-11-20T13:51:52 +1ms service=default directory=/mnt/e/unrealprojects/DTSubwayDesigner/DTSubway_V5 creating instance
INFO 2025-11-20T13:51:52 +0ms service=project directory=/mnt/e/unrealprojects/DTSubwayDesigner/DTSubway_V5 fromDirectory
INFO 2025-11-20T13:51:52 +5ms service=project status=started git.rev-parse
INFO 2025-11-20T13:51:52 +2ms service=project status=completed duration=2 git.rev-parse
INFO 2025-11-20T13:51:52 +15ms service=default directory=/mnt/e/unrealprojects/DTSubwayDesigner/DTSubway_V5 bootstrapping
INFO 2025-11-20T13:51:52 +2ms service=config path=/home/moobang/.config/opencode/config.json loading
INFO 2025-11-20T13:51:52 +1ms service=config path=/home/moobang/.config/opencode/opencode.json loading
INFO 2025-11-20T13:51:52 +4ms service=config path=/home/moobang/.config/opencode/opencode.jsonc loading
INFO 2025-11-20T13:51:52 +3ms service=bun cmd=["/home/moobang/.npm-global/lib/node_modules/opencode-ai/node_modules/opencode-linux-x64/bin/opencode","add","@opencode-ai/plugin@1.0.80","--exact"] cwd=/home/moobang/.config/opencode running
INFO 2025-11-20T13:51:52 +4ms service=bun code=0 stdout=bun add v1.3.2 (b131639c)
installed @opencode-ai/plugin@1.0.80
[1.00ms] done
stderr=Saved lockfile
done
INFO 2025-11-20T13:51:52 +1ms service=plugin path=opencode-copilot-auth@0.0.5 loading plugin
INFO 2025-11-20T13:51:52 +1ms service=plugin path=opencode-anthropic-auth@0.0.2 loading plugin
INFO 2025-11-20T13:51:52 +10ms service=bus type=* subscribing
INFO 2025-11-20T13:51:52 +0ms service=bus type=session.updated subscribing
INFO 2025-11-20T13:51:52 +0ms service=bus type=message.updated subscribing
INFO 2025-11-20T13:51:52 +0ms service=bus type=message.part.updated subscribing
INFO 2025-11-20T13:51:52 +0ms service=format init
INFO 2025-11-20T13:51:52 +0ms service=bus type=file.edited subscribing
INFO 2025-11-20T13:51:52 +0ms service=lsp LSP server clangd is disabled
INFO 2025-11-20T13:51:52 +0ms service=lsp LSP server csharp is disabled
INFO 2025-11-20T13:51:52 +0ms service=lsp serverIds=deno, typescript, vue, eslint, gopls, ruby-lsp, pyright, elixir-ls, zls, sourcekit-lsp, rust, svelte, astro, jdtls, yaml-ls, lua-ls, php intelephense enabled LSP servers
INFO 2025-11-20T13:51:52 +63ms service=bus type=command.executed subscribing
INFO 2025-11-20T13:51:52 +18ms service=server method=POST path=/session request
INFO 2025-11-20T13:51:52 +0ms service=server status=started method=POST path=/session request
INFO 2025-11-20T13:51:52 +2ms service=session id=ses_55e76d60cffeJVf3hWB58JDeok version=1.0.80 projectID=4d01598edc655ff298ff5d8360925caf19223f27 directory=/mnt/e/unrealprojects/DTSubwayDesigner/DTSubway_V5 title=New session - 2025-11-20T13:51:52.307Z time={"created":1763646712307,"updated":1763646712307} created
INFO 2025-11-20T13:51:52 +0ms service=bus type=session.created publishing
INFO 2025-11-20T13:51:52 +0ms service=bus type=session.updated publishing
INFO 2025-11-20T13:51:52 +1ms service=server status=completed duration=3 method=POST path=/session request
INFO 2025-11-20T13:51:52 +2ms service=server method=GET path=/config request
INFO 2025-11-20T13:51:52 +0ms service=server status=started method=GET path=/config request
INFO 2025-11-20T13:51:52 +1ms service=server status=completed duration=0 method=GET path=/config request
INFO 2025-11-20T13:51:52 +1ms service=server method=GET path=/event request
INFO 2025-11-20T13:51:52 +0ms service=server status=started method=GET path=/event request
INFO 2025-11-20T13:51:52 +0ms service=server event connected
INFO 2025-11-20T13:51:52 +1ms service=bus type=* subscribing
INFO 2025-11-20T13:51:52 +1ms service=server status=completed duration=2 method=GET path=/event request
INFO 2025-11-20T13:51:52 +1ms service=server method=POST path=/session/ses_55e76d60cffeJVf3hWB58JDeok/message request
INFO 2025-11-20T13:51:52 +0ms service=server status=started method=POST path=/session/ses_55e76d60cffeJVf3hWB58JDeok/message request
INFO 2025-11-20T13:51:52 +2ms service=server status=completed duration=2 method=POST path=/session/ses_55e76d60cffeJVf3hWB58JDeok/message request
INFO 2025-11-20T13:51:52 +3ms service=bus type=message.updated publishing
INFO 2025-11-20T13:51:52 +5ms service=bus type=message.part.updated publishing
INFO 2025-11-20T13:51:52 +0ms service=bus type=session.updated publishing
INFO 2025-11-20T13:51:52 +1ms service=session.prompt step=0 sessionID=ses_55e76d60cffeJVf3hWB58JDeok loop
INFO 2025-11-20T13:51:52 +4ms service=provider status=started state
INFO 2025-11-20T13:51:52 +0ms service=models.dev file={} refreshing
INFO 2025-11-20T13:51:52 +2ms service=provider init
INFO 2025-11-20T13:51:52 +6ms service=provider providerID=opencode found
INFO 2025-11-20T13:51:52 +0ms service=provider providerID=google found
INFO 2025-11-20T13:51:52 +0ms service=provider providerID=github-copilot found
INFO 2025-11-20T13:51:52 +0ms service=provider status=completed duration=8 state
INFO 2025-11-20T13:51:52 +0ms service=provider providerID=github-copilot modelID=gemini-3-pro-preview getModel
INFO 2025-11-20T13:51:52 +0ms service=provider status=started providerID=github-copilot getSDK
INFO 2025-11-20T13:51:52 +1ms service=provider providerID=github-copilot modelID=gemini-3-pro-preview getModel
INFO 2025-11-20T13:51:52 +0ms service=provider status=started providerID=github-copilot getSDK
INFO 2025-11-20T13:51:52 +39ms service=provider status=completed duration=40 providerID=github-copilot getSDK
INFO 2025-11-20T13:51:52 +1ms service=provider providerID=github-copilot modelID=gemini-3-pro-preview found
INFO 2025-11-20T13:51:52 +2ms service=bus type=message.updated publishing
INFO 2025-11-20T13:51:52 +0ms service=ripgrep cwd=/mnt/e/unrealprojects/DTSubwayDesigner/DTSubway_V5 limit=200 tree
INFO 2025-11-20T13:51:52 +0ms service=provider status=completed duration=42 providerID=github-copilot getSDK
INFO 2025-11-20T13:51:52 +1ms service=provider providerID=github-copilot modelID=gemini-3-pro-preview found
INFO 2025-11-20T13:51:52 +336ms service=session.processor process
INFO 2025-11-20T13:51:52 +3ms service=bus type=session.status publishing
INFO 2025-11-20T13:51:52 +3ms service=bus type=message.updated publishing
INFO 2025-11-20T13:51:52 +0ms service=bus type=session.updated publishing
INFO 2025-11-20T13:51:52 +0ms service=bus type=session.diff publishing
INFO 2025-11-20T13:51:56 +3675ms service=bus type=session.updated publishing
INFO 2025-11-20T13:51:57 +945ms service=snapshot hash= cwd=/mnt/e/unrealprojects/DTSubwayDesigner/DTSubway_V5 git=/home/moobang/.local/share/opencode/snapshot/4d01598edc655ff298ff5d8360925caf19223f27 tracking
INFO 2025-11-20T13:51:57 +1ms service=bus type=message.part.updated publishing
INFO 2025-11-20T13:51:57 +426ms service=bus type=message.part.updated publishing
INFO 2025-11-20T13:51:57 +209ms service=bus type=message.part.updated publishing
INFO 2025-11-20T13:51:57 +0ms service=bus type=message.part.updated publishing
INFO 2025-11-20T13:51:58 +38ms service=bus type=message.part.updated publishing
| List Plugins/DTServer
INFO 2025-11-20T13:51:58 +37ms service=bus type=message.part.updated publishing
I will start by exploring the structure of the
DTServerplugin to understand its components and organization.INFO 2025-11-20T13:51:58 +8ms service=snapshot hash= cwd=/mnt/e/unrealprojects/DTSubwayDesigner/DTSubway_V5 git=/home/moobang/.local/share/opencode/snapshot/4d01598edc655ff298ff5d8360925caf19223f27 tracking
INFO 2025-11-20T13:51:58 +1ms service=bus type=message.part.updated publishing
INFO 2025-11-20T13:51:58 +0ms service=bus type=message.updated publishing
INFO 2025-11-20T13:51:58 +0ms service=bus type=message.updated publishing
INFO 2025-11-20T13:51:58 +4ms service=bus type=message.updated publishing
INFO 2025-11-20T13:51:58 +0ms service=session.prompt step=1 sessionID=ses_55e76d60cffeJVf3hWB58JDeok loop
INFO 2025-11-20T13:51:58 +1ms service=bus type=message.updated publishing
INFO 2025-11-20T13:51:58 +0ms service=bus type=session.updated publishing
INFO 2025-11-20T13:51:58 +0ms service=bus type=session.diff publishing
INFO 2025-11-20T13:51:58 +1ms service=bus type=message.updated publishing
INFO 2025-11-20T13:51:58 +0ms service=ripgrep cwd=/mnt/e/unrealprojects/DTSubwayDesigner/DTSubway_V5 limit=200 tree
INFO 2025-11-20T13:51:58 +221ms service=session.processor process
INFO 2025-11-20T13:51:58 +3ms service=bus type=session.status publishing
ERROR 2025-11-20T13:51:59 +796ms service=session.prompt error={"error":{"name":"AI_APICallError","url":"https://api.githubcopilot.com/chat/completions","requestBodyValues":{"model":"gemini-3-pro-preview","max_tokens":32000,"temperature":1,"messages":[{"role":"system","content":"You are opencode, an interactive CLI agent specializing in software engineering tasks. Your primary goal is to help users safely and efficiently, adhering strictly to the following instructions and utilizing your available tools.\n\n# Core Mandates\n\n- Conventions: Rigorously adhere to existing project conventions when reading or modifying code. Analyze surrounding code, tests, and configuration first.\n- Libraries/Frameworks: NEVER assume a library/framework is available or appropriate. Verify its established usage within the project (check imports, configuration files like 'package.json', 'Cargo.toml', 'requirements.txt', 'build.gradle', etc., or observe neighboring files) before employing it.\n- Style & Structure: Mimic the style (formatting, naming), structure, framework choices, typing, and architectural patterns of existing code in the project.\n- Idiomatic Changes: When editing, understand the local context (imports, functions/classes) to ensure your changes integrate naturally and idiomatically.\n- Comments: Add code comments sparingly. Focus on why something is done, especially for complex logic, rather than what is done. Only add high-value comments if necessary for clarity or if requested by the user. Do not edit comments that are separate from the code you are changing. NEVER talk to the user or describe your changes through comments.\n- Proactiveness: Fulfill the user's request thoroughly, including reasonable, directly implied follow-up actions.\n- Confirm Ambiguity/Expansion: Do not take significant actions beyond the clear scope of the request without confirming with the user. If asked how to do something, explain first, don't just do it.\n- Explaining Changes: After completing a code modification or file operation do not provide summaries unless asked.\n- Path Construction: Before using any file system tool (e.g., read' or 'write'), you must construct the full absolute path for the file_path argument. Always combine the absolute path of the project's root directory with the file's path relative to the root. For example, if the project root is /path/to/project/ and the file is foo/bar/baz.txt, the final path you must use is /path/to/project/foo/bar/baz.txt. If the user provides a relative path, you must resolve it against the root directory to create an absolute path.\n- Do Not revert changes: Do not revert changes to the codebase unless asked to do so by the user. Only revert changes made by you if they have resulted in an error or if the user has explicitly asked you to revert the changes.\n\n# Primary Workflows\n\n## Software Engineering Tasks\nWhen requested to perform tasks like fixing bugs, adding features, refactoring, or explaining code, follow this sequence:\n1. Understand: Think about the user's request and the relevant codebase context. Use 'grep' and 'glob' search tools extensively (in parallel if independent) to understand file structures, existing code patterns, and conventions. Use 'read' to understand context and validate any assumptions you may have.\n2. Plan: Build a coherent and grounded (based on the understanding in step 1) plan for how you intend to resolve the user's task. Share an extremely concise yet clear plan with the user if it would help the user understand your thought process. As part of the plan, you should try to use a self-verification loop by writing unit tests if relevant to the task. Use output logs or debug statements as part of this self verification loop to arrive at a solution.\n3. Implement: Use the available tools (e.g., 'edit', 'write' 'bash' ...) to act on the plan, strictly adhering to the project's established conventions (detailed under 'Core Mandates').\n4. Verify (Tests): If applicable and feasible, verify the changes using the project's testing procedures. Identify the correct test commands and frameworks by examining 'README' files, build/package configuration (e.g., 'package.json'), or existing test execution patterns. NEVER assume standard test commands.\n5. Verify (Standards): VERY IMPORTANT: After making code changes, execute the project-specific build, linting and type-checking commands (e.g., 'tsc', 'npm run lint', 'ruff check .') that you have identified for this project (or obtained from the user). This ensures code quality and adherence to standards. If unsure about these commands, you can ask the user if they'd like you to run them and if so how to.\n\n## New Applications\n\nGoal: Autonomously implement and deliver a visually appealing, substantially complete, and functional prototype. Utilize all tools at your disposal to implement the application. Some tools you may especially find useful are 'write', 'edit' and 'bash'.\n\n1. Understand Requirements: Analyze the user's request to identify core features, desired user experience (UX), visual aesthetic, application type/platform (web, mobile, desktop, CLI, library, 2D or 3D game), and explicit constraints. If critical information for initial planning is missing or ambiguous, ask concise, targeted clarification questions.\n2. Propose Plan: Formulate an internal development plan. Present a clear, concise, high-level summary to the user. This summary must effectively convey the application's type and core purpose, key technologies to be used, main features and how users will interact with them, and the general approach to the visual design and user experience (UX) with the intention of delivering something beautiful, modern, and polished, especially for UI-based applications. For applications requiring visual assets (like games or rich UIs), briefly describe the strategy for sourcing or generating placeholders (e.g., simple geometric shapes, procedurally generated patterns, or open-source assets if feasible and licenses permit) to ensure a visually complete initial prototype. Ensure this information is presented in a structured and easily digestible manner.\n3. User Approval: Obtain user approval for the proposed plan.\n4. Implementation: Autonomously implement each feature and design element per the approved plan utilizing all available tools. When starting ensure you scaffold the application using 'bash' for commands like 'npm init', 'npx create-react-app'. Aim for full scope completion. Proactively create or source necessary placeholder assets (e.g., images, icons, game sprites, 3D models using basic primitives if complex assets are not generatable) to ensure the application is visually coherent and functional, minimizing reliance on the user to provide these. If the model can generate simple assets (e.g., a uniformly colored square sprite, a simple 3D cube), it should do so. Otherwise, it should clearly indicate what kind of placeholder has been used and, if absolutely necessary, what the user might replace it with. Use placeholders only when essential for progress, intending to replace them with more refined versions or instruct the user on replacement during polishing if generation is not feasible.\n5. Verify: Review work against the original request, the approved plan. Fix bugs, deviations, and all placeholders where feasible, or ensure placeholders are visually adequate for a prototype. Ensure styling, interactions, produce a high-quality, functional and beautiful prototype aligned with design goals. Finally, but MOST importantly, build the application and ensure there are no compile errors.\n6. Solicit Feedback: If still applicable, provide instructions on how to start the application and request user feedback on the prototype.\n\n# Operational Guidelines\n\n## Tone and Style (CLI Interaction)\n- Concise & Direct: Adopt a professional, direct, and concise tone suitable for a CLI environment.\n- Minimal Output: Aim for fewer than 3 lines of text output (excluding tool use/code generation) per response whenever practical. Focus strictly on the user's query.\n- Clarity over Brevity (When Needed): While conciseness is key, prioritize clarity for essential explanations or when seeking necessary clarification if a request is ambiguous.\n- No Chitchat: Avoid conversational filler, preambles ("Okay, I will now..."), or postambles ("I have finished the changes..."). Get straight to the action or answer.\n- Formatting: Use GitHub-flavored Markdown. Responses will be rendered in monospace.\n- Tools vs. Text: Use tools for actions, text output only for communication. Do not add explanatory comments within tool calls or code blocks unless specifically part of the required code/command itself.\n- Handling Inability: If unable/unwilling to fulfill a request, state so briefly (1-2 sentences) without excessive justification. Offer alternatives if appropriate.\n\n## Security and Safety Rules\n- Explain Critical Commands: Before executing commands with 'bash' that modify the file system, codebase, or system state, you must provide a brief explanation of the command's purpose and potential impact. Prioritize user understanding and safety. You should not ask permission to use the tool; the user will be presented with a confirmation dialogue upon use (you do not need to tell them this).\n- Security First: Always apply security best practices. Never introduce code that exposes, logs, or commits secrets, API keys, or other sensitive information.\n\n## Tool Usage\n- File Paths: Always use absolute paths when referring to files with tools like 'read' or 'write'. Relative paths are not supported. You must provide an absolute path.\n- Parallelism: Execute multiple independent tool calls in parallel when feasible (i.e. searching the codebase).\n- Command Execution: Use the 'bash' tool for running shell commands, remembering the safety rule to explain modifying commands first.\n- Background Processes: Use background processes (via \
&\\) for commands that are unlikely to stop on their own, e.g. \node server.js &\\. If unsure, ask the user.\n- Interactive Commands: Try to avoid shell commands that are likely to require user interaction (e.g. \git rebase -i\\). Use non-interactive versions of commands (e.g. \npm init -y\\instead of \npm init\\) when available, and otherwise remind the user that interactive shell commands are not supported and may cause hangs until canceled by the user.\n- Respect User Confirmations: Most tool calls (also denoted as 'function calls') will first require confirmation from the user, where they will either approve or cancel the function call. If a user cancels a function call, respect their choice and do not try to make the function call again. It is okay to request the tool call again only if the user requests that same tool call on a subsequent prompt. When a user cancels a function call, assume best intentions from the user and consider inquiring if they prefer any alternative paths forward.\n\n## Interaction Details\n- Help Command: The user can use '/help' to display help information.\n- Feedback: To report a bug or provide feedback, please use the /bug command.\n\n# Examples (Illustrating Tone and Workflow)\n\nuser: 1 + 2\nmodel: 3\n\n\n\nuser: is 13 a prime number?\nmodel: true\n\n\n\nuser: list files here.\nmodel: [tool_call: ls for path '/path/to/project']\n\n\n\nuser: start the server implemented in server.js\nmodel: [tool_call: bash for 'node server.js &' because it must run in the background]\n\n\n\nuser: Refactor the auth logic in src/auth.py to use the requests library instead of urllib.\nmodel: Okay, I can refactor 'src/auth.py'.\nFirst, I'll analyze the code and check for a test safety net before planning any changes.\n[tool_call: glob for path 'tests/test_auth.py']\n[tool_call: read for absolute_path '/path/to/tests/test_auth.py']\n(After analysis)\nGreat, 'tests/test_auth.py' exists and covers the core authentication logic. With this safety net in place, I can safely plan the refactoring.\nI'll also confirm 'requests' is a dependency.\n[tool_call: read for absolute_path '/path/to/requirements.txt']\n(After analysis)\nLooks good, 'requests' is available.\n\nHere's the plan:\n1. Replace the 'urllib' calls with 'requests'.\n2. Add proper 'try...except' error handling for the new network calls.\n3. Remove the old 'urllib' import.\n4. Run the project's linter and tests to verify the changes.\n\nShould I proceed?\nuser: Yes\nmodel:\n[tool_call: write or edit to apply the refactoring to 'src/auth.py']\nRefactoring complete. Running verification...\n[tool_call: bash for 'ruff check src/auth.py && pytest']\n(After verification passes)\nAll checks passed. This is a stable checkpoint.\n\n\nuser: Delete the temp directory.\nmodel: I can run \rm -rf /path/to/project/temp\\. This will permanently delete the directory and all its contents.\n\n\n\nuser: Write tests for someFile.ts\nmodel:\nOkay, I can write those tests. First, I'll read \someFile.ts\\to understand its functionality.\n[tool_call: read for absolute_path '/path/to/someFile.ts' or use glob to find \someFile.ts\\if its location is unknown]\nNow I'll look for existing or related test files to understand current testing conventions and dependencies.\n[tool_call: glob for paths ['/*.test.ts', 'src//.spec.ts'] assuming someFile.ts is in the src directory]\n(After reviewing existing tests and the file content)\n[tool_call: write to create /path/to/someFile.test.ts with the test code]\nI've written the tests. Now I'll run the project's test command to verify them.\n[tool_call: bash for 'npm run test']\n\n\n\nuser: How do I update the user's profile information in this system?\nmodel:\nI'm not immediately sure how user profile information is updated. I'll search the codebase for terms like 'UserProfile', 'updateProfile', or 'editUser' to find relevant files or API endpoints.\n[tool_call: grep for pattern 'UserProfile|updateProfile|editUser']\n(After reviewing search results, assuming a relevant file like '/path/to/UserProfileService.java' was found)\nOkay, \/path/to/UserProfileService.java\\seems like the most relevant file. I'll read its content to understand how updates are handled.\n[tool_call: read for absolute_path '/path/to/UserProfileService.java']\n(After reading the file)\nIt appears the \updateUserProfile\\method in \UserProfileService.java\\is responsible for this. It expects a user ID and a \UserProfileDTO\\object...\n\n\n\nuser: Where are all the 'app.config' files in this project? I need to check their settings.\nmodel:\n[tool_call: glob for pattern '/app.config']\n(Assuming GlobTool returns a list of paths like ['/path/to/moduleA/app.config', '/path/to/moduleB/app.config'])\nI found the following 'app.config' files:\n- /path/to/moduleA/app.config\n- /path/to/moduleB/app.config\nTo help you check their settings, I can read their contents. Which one would you like to start with, or should I read all of them?\n\n\n# Final Reminder\nYour core function is efficient and safe assistance. Balance extreme conciseness with the crucial need for clarity, especially regarding safety and potential system modifications. Always prioritize user control and project conventions. Never make assumptions about the contents of files; instead use 'read' to ensure you aren't making broad assumptions. Finally, you are an agent - please keep going until the user's query is completely resolved.\n"},{"role":"system","content":"Here is some useful information about the environment you are running in:\n\n Working directory: /mnt/e/unrealprojects/DTSubwayDesigner/DTSubway_V5\n Is directory a git repo: yes\n Platform: linux\n Today's date: Thu Nov 20 2025\n\n\n .plastic/\n\tplastic.selector\n\tplastic.wktree\n\tplastic.workspace\nAssets/\n\tSM/\n\t\tbackup/\n\t\t\t[9 truncated]\n\t\tSubway.fbm/\n\t\t\t[13 truncated]\n\t\tSubwayV2.fbm/\n\t\t\t[127 truncated]\n\t\tSubwayV4.fbm/\n\t\t\t[42 truncated]\n\t\tSubwayV5.fbm/\n\t\t\t[41 truncated]\n\t\tSubwayV6_Fog.fbm/\n\t\t\t[1 truncated]\n\t\tSubwayV6.fbm/\n\t\t\t[39 truncated]\n\t\tSubwayV7_Elevator.fbm/\n\t\t\t[1 truncated]\n\t\tSubwayV7_Fire.fbm/\n\t\t\t[2 truncated]\n\t\tSubwayV7_Fog.fbm/\n\t\t\t[3 truncated]\n\t\tSubwayV7.fbm/\n\t\t\t[47 truncated]\n\t\ttest/\n\t\t\t[97 truncated]\n\t\tTestChunk.fbm/\n\t\t\t[126 truncated]\n\t\tV3/\n\t\t\t[2 truncated]\n\t\tFogBoolean_V1.fbx\n\t\tFogBoolean_V2.fbx\n\t\tFogMesh.fbx\n\t\tFogMeshV2.fbx\n\t\tKeyCard.fbx\n\t\tout.fbx\n\t\tSigns.FBX\n\t\tSubway.fbx\n\t\tSubwayCombined.fbx\n\t\tSubwayDoor.fbx\n\t\tSubwayFog.fbx\n\t\tSubwayFogMesh.fbx\n\t\tSubwayFogMesh.fbx.hiplc\n\t\tSubwayFogOriginal.fbx\n\t\tSubwayFogOriginalV2.fbx\n\t\tSubwayFogOriginalV3.fbx\n\t\tSubwayFogTestMesh.fbx\n\t\tSubwayMerged.fbx\n\t\tSubwaySplittedV3.fbx\n\t\tSubwaySplittedV6.fbx\n\t\tSubwayV2.fbx\n\t\tSubwayV2.glb\n\t\tSubwayV3.fbx\n\t\tSubwayV4.fbx\n\t\tSubwayV5_Fog.fbx\n\t\tSubwayV5.fbx\n\t\tSubwayV6_Fog.fbx\n\t\tSubwayV6.fbx\n\t\t[5 truncated]\n\tTextures/\n\t\tSM/\n\t\t\t[3 truncated]\n\t\tTexture/\n\t\t\t[31 truncated]\n\t\tUI/\n\t\t\t[7 truncated]\n\t\t교대역관련 그림파일/\n\t\t\t[1604 truncated]\n\tIcon_V2.blend\n\tIcon_V2.blend1\n\tIcon_V2.blend2\n\tIcon_V2.blend3\n\tIcon_V2.blend4\n\tIcon_V2.blend5\n\tMarker.blend\nConfig/\n\tDefaultEditor.ini\n\tDefaultEngine.ini\n\tDefaultGame.ini\n\tDefaultGameUserSettings.ini\n\tDefaultInput.ini\nContent/\n\tEditorUtility/\n\t\tBPU_Moobang.uasset\n\tMedia/\n\t\tBundles/\n\t\t\t[4 truncated]\n\t\tProxies/\n\t\t\t[3 truncated]\n\tMegascans/\n\t\tDecals/\n\t\t\t[3 truncated]\n\t\tSurfaces/\n\t\t\t[6 truncated]\n\tMSPresets/\n\t\tM_MS_Billboard_Material/\n\t\t\t[1 truncated]\n\t\tM_MS_Decal_Material/\n\t\t\t[2 truncated]\n\t\tM_MS_Decal_Material_VT/\n\t\t\t[2 truncated]\n\t\tM_MS_Default_Fuzz_Material/\n\t\t\t[2 truncated]\n\t\tM_MS_Default_Fuzz_Material_VT/\n\t\t\t[2 truncated]\n\t\tM_MS_Default_Material/\n\t\t\t[2 truncated]\n\t\tM_MS_Default_Material_VT/\n\t\t\t[2 truncated]\n\t\tM_MS_Default_Transmission_Material/\n\t\t\t[2 truncated]\n\t\tM_MS_Default_Transmission_Material_VT/\n\t\t\t[2 truncated]\n\t\tM_MS_Foliage_Material/\n\t\t\t[3 truncated]\n\t\tM_MS_Glass_Material/\n\t\t\t[4 truncated]\n\t\tM_MS_Imperfection_Material/\n\t\t\t[2 truncated]\n\t\tM_MS_Imperfection_Material_Var/\n\t\t\t[1 truncated]\n\t\tM_MS_Imperfection_Material_VT/\n\t\t\t[2 truncated]\n\t\tM_MS_ImperfectionDecal_Material/\n\t\t\t[1 truncated]\n\t\tM_MS_ImperfectionDecal_Material_VT/\n\t\t\t[1 truncated]\n\t\tM_MS_Surface_Material/\n\t\t\t[2 truncated]\n\t\tM_MS_Surface_Material_VT/\n\t\t\t[2 truncated]\n\t\tM_MS_SurfaceBlend_Material/\n\t\t\t[2 truncated]\n\t\tMSTextures/\n\t\t\t[8 truncated]\n\t\tMSVTTextures/\n\t\t\t[4 truncated]\n\tStarterContent/\n\t\tArchitecture/\n\t\t\t[11 truncated]\n\t\tAudio/\n\t\t\t[24 truncated]\n\t\tBlueprints/\n\t\t\t[9 truncated]\n\t\tHDRI/\n\t\t\t[1 truncated]\n\t\tMaps/\n\t\t\t[3 truncated]\n\t\tMaterials/\n\t\t\t[43 truncated]\n\t\tParticles/\n\t\t\t[7 truncated]\n\t\tProps/\n\t\t\t[20 truncated]\n\t\tShapes/\n\t\t\t[19 truncated]\n\t\tTextures/\n\t\t\t[103 truncated]\n\tSubway/\n\t\tActorBP/\n\t\t\t[21 truncated]\n\t\tBlueprintHelper/\n\t\t\t[1 truncated]\n\t\tFonts/\n\t\t\t[4 truncated]\n\t\tMaps/\n\t\t\t[10 truncated]\n\t\tMaterials/\n\t\t\t[5 truncated]\n\t\tMedia/\n\t\t\t[7 truncated]\n\t\tModels/\n\t\t\t[45 truncated]\n\t\tNewSubwayChop/\n\t\t\t[7 truncated]\n\t\tTextures/\n\t\t\t[8 truncated]\n\t\tUIComponents/\n\t\t\t[20 truncated]\n\t\tModels.zip\n\tMerged.uasset\n\tSubway_Merged_V2.uasset\n\tSubway_Merged_V3.uasset\nDT_API_Documentation/\n\t08-02DT_API_V2.pdf\n\t08-02DT_API_V3.pdf\n\t08-02DT_API.pdf\nPackage/\n\tDT_GyodaeFInal/\n\t\tWindows/\n\t\t\t[2 truncated]\n\tDT_GyodaeFInal2/\n\t\tWindows/\n\t\t\t[2 truncated]\n\tDT_GyodaeFinal3/\n\t\tWindows/\n\t\t\t[2 truncated]\n\tDT_TestGyodae/\n\t\tDTSubway/\n\t\t\t[2 truncated]\nPlugins/\n\tDeveloper/\n\t\tRiderLink/\n\t\t\t[3 truncated]\n\tDTServer/\n\t\tAPIDocs/\n\t\t\t[4 truncated]\n\t\tResources/\n\t\t\t[3 truncated]\n\t\tSource/\n\t\t\t[1 truncated]\n\t\tDTServer.uplugin\n\tbc.zip\nSource/\n\tDTSubway/\n\t\tActor/\n\t\t\t[12 truncated]\n\t\tActorComponent/\n\t\t\t[14 truncated]\n\t\tAPICore/\n\t\t\t[5 truncated]\n\t\tData/\n\t\t\t[2 truncated]\n\t\tInterface/\n\t\t\t[7 truncated]\n\t\tObject/\n\t\t\t[2 truncated]\n\t\tSubsystem/\n\t\t\t[18 truncated]\n\t\tUI/\n\t\t\t[32 truncated]\n\t\tBaseUserWidget.cpp\n\t\tBaseUserWidget.h\n\t\tDTSubway.Build.cs\n\t\tDTSubway.cpp\n\t\tDTSubway.h\n\t\tDTSubwayGameModeBase.cpp\n\t\tDTSubwayGameModeBase.h\n\t\tISWZone.h\n\t\tSubwayGameInstance.cpp\n\t\tSubwayGameInstance.h\n\t\tSWBaseAPIRequest.cpp\n\t\tSWBaseAPIRequest.h\n\t\tSWBaseButton.cpp\n\t\tSWBaseButton.h\n\t\tSWBaseImage.cpp\n\t\tSWBaseImage.h\n\t\tSWBaseTextBlock.cpp\n\t\tSWBaseTextBlock.h\n\t\tSWBlueprintFunctionLibrary.cpp\n\t\tSWBlueprintFunctionLibrary.h\n\t\tSWCameraInfoWidget.cpp\n\t\tSWCameraInfoWidget.h\n\t\tSWCameraScreenWidget.cpp\n\t\tSWCameraScreenWidget.h\n\t\tSWCameraScrollViewWidget.cpp\n\t\tSWCameraScrollViewWidget.h\n\t\tSWCongestionPopUp.cpp\n\t\tSWCongestionPopUp.h\n\t\tSWDangerWidget.cpp\n\t\tSWDangerWidget.h\n\t\tSWFloatingInfoWidget.cpp\n\t\tSWFloatingInfoWidget.h\n\t\tSWInteractedZoneActor.cpp\n\t\t[21 truncated]\n\tDTSubway.Target.cs\n\tDTSubwayEditor.Target.cs\n.gitattributes\n.gitignore\nBuild_DTSubway.bat\nDTSubway.sln.DotSettings.user\nDTSubway.uproject\nDTSubway.uproject.DotSettings.user\nignore.conf\nSettings.json\nwatchdog.py\nwatchdog.spec\n"},{"role":"user","content":"please analize DTServer plugin"},{"role":"assistant","content":"I will start by exploring the structure of theDTServerplugin to understand its components and organization.","tool_calls":[{"id":"call_MHxDa292UUdEYTNSUXVBZzBabXU","type":"function","function":{"name":"list","arguments":"{"path":"/mnt/e/unrealprojects/DTSubwayDesigner/DTSubway_V5/Plugins/DTServer"}"}}]},{"role":"tool","tool_call_id":"call_MHxDa292UUdEYTNSUXVBZzBabXU","content":"/mnt/e/unrealprojects/DTSubwayDesigner/DTSubway_V5/Plugins/DTServer/\n APIDocs/\n README.md\n app.py\n fallback_swagger.json\n requirements.txt\n Binaries/\n Win64/\n UnrealEditor-DTServer-Win64-DebugGame.exp\n UnrealEditor-DTServer-Win64-DebugGame.patch_0.exp\n UnrealEditor-DTServer-Win64-DebugGame.patch_0.pdb\n UnrealEditor-DTServer-Win64-DebugGame.patch_1.exp\n UnrealEditor-DTServer-Win64-DebugGame.patch_1.pdb\n UnrealEditor-DTServer-Win64-DebugGame.patch_10.exp\n UnrealEditor-DTServer-Win64-DebugGame.patch_10.pdb\n UnrealEditor-DTServer-Win64-DebugGame.patch_11.exp\n UnrealEditor-DTServer-Win64-DebugGame.patch_11.pdb\n UnrealEditor-DTServer-Win64-DebugGame.patch_12.exp\n UnrealEditor-DTServer-Win64-DebugGame.patch_12.pdb\n UnrealEditor-DTServer-Win64-DebugGame.patch_13.exp\n UnrealEditor-DTServer-Win64-DebugGame.patch_13.pdb\n UnrealEditor-DTServer-Win64-DebugGame.patch_14.exp\n UnrealEditor-DTServer-Win64-DebugGame.patch_14.pdb\n UnrealEditor-DTServer-Win64-DebugGame.patch_2.exp\n UnrealEditor-DTServer-Win64-DebugGame.patch_2.pdb\n UnrealEditor-DTServer-Win64-DebugGame.patch_3.exp\n UnrealEditor-DTServer-Win64-DebugGame.patch_3.pdb\n UnrealEditor-DTServer-Win64-DebugGame.patch_4.exp\n UnrealEditor-DTServer-Win64-DebugGame.patch_4.pdb\n UnrealEditor-DTServer-Win64-DebugGame.patch_5.exp\n UnrealEditor-DTServer-Win64-DebugGame.patch_5.pdb\n UnrealEditor-DTServer-Win64-DebugGame.patch_6.exp\n UnrealEditor-DTServer-Win64-DebugGame.patch_6.pdb\n UnrealEditor-DTServer-Win64-DebugGame.patch_7.exp\n UnrealEditor-DTServer-Win64-DebugGame.patch_7.pdb\n UnrealEditor-DTServer-Win64-DebugGame.patch_8.exp\n UnrealEditor-DTServer-Win64-DebugGame.patch_8.pdb\n UnrealEditor-DTServer-Win64-DebugGame.patch_9.exp\n UnrealEditor-DTServer-Win64-DebugGame.patch_9.pdb\n UnrealEditor-DTServer-Win64-DebugGame.pdb\n UnrealEditor-DTServer.exp\n UnrealEditor-DTServer.patch_0.exp\n UnrealEditor-DTServer.patch_0.pdb\n UnrealEditor-DTServer.patch_1.exp\n UnrealEditor-DTServer.patch_1.pdb\n UnrealEditor-DTServer.pdb\n UnrealEditor-Win64-DebugGame.modules\n UnrealEditor.modules\n Intermediate/\n Build/\n Win64/\n UnrealEditor/\n Inc/\n DTServer/\n UHT/\n DTRequestHandler.gen.cpp\n DTRequestHandler.generated.h\n DTServer.init.gen.cpp\n DTServerClasses.h\n DTServerManager.gen.cpp\n DTServerManager.generated.h\n DTServerStructs.gen.cpp\n DTServerStructs.generated.h\n Timestamp\n Resources/\n APIDocs/\n swagger.json\n SwaggerUI/\n LICENSE\n NOTICE\n README.md\n absolute-path.js\n favicon-16x16.png\n favicon-32x32.png\n index.css\n index.html\n index.js\n log.bundle-sizes.swagger-ui.txt\n log.es-bundle-core-sizes.swagger-ui.txt\n log.es-bundle-sizes.swagger-ui.txt\n oauth2-redirect.html\n package-lock.json\n package.json\n swagger-initializer.js\n swagger-ui-bundle.js\n swagger-ui-bundle.js.LICENSE.txt\n swagger-ui-bundle.js.map\n swagger-ui-es-bundle-core.js\n swagger-ui-es-bundle-core.js.LICENSE.txt\n swagger-ui-es-bundle-core.js.map\n swagger-ui-es-bundle.js\n swagger-ui-es-bundle.js.LICENSE.txt\n swagger-ui-es-bundle.js.map\n swagger-ui-standalone-preset.js\n swagger-ui-standalone-preset.js.LICENSE.txt\n swagger-ui-standalone-preset.js.map\n swagger-ui.css\n swagger-ui.css.map\n swagger-ui.js\n swagger-ui.js.map\n Icon128.png\n Source/\n DTServer/\n Private/\n APIDocs/\n SwaggerSpec.cpp\n SwaggerUI.cpp\n DTRequestHandler.cpp\n DTServerManager.cpp\n Public/\n APIDocs/\n SwaggerSpec.h\n SwaggerUI.h\n DTRequestHandler.h\n DTServerManager.h\n DTServerStructs.h\n DTServer.Build.cs\n DTServer.cpp\n DTServer.h\n DTServer.uplugin\n"}],"tools":[{"type":"function","function":{"name":"bash","description":"Executes a given bash command in a persistent shell session with optional timeout, ensuring proper handling and security measures.\n\nBefore executing the command, please follow these steps:\n\n1. Directory Verification:\n - If the command will create new directories or files, first use the List tool to verify the parent directory exists and is the correct location\n - For example, before running "mkdir foo/bar", first use List to check that "foo" exists and is the intended parent directory\n\n2. Command Execution:\n - Always quote file paths that contain spaces with double quotes (e.g., cd "path with spaces/file.txt")\n - Examples of proper quoting:\n - cd "/Users/name/My Documents" (correct)\n - cd /Users/name/My Documents (incorrect - will fail)\n - python "/path/with spaces/script.py" (correct)\n - python /path/with spaces/script.py (incorrect - will fail)\n - After ensuring proper quoting, execute the command.\n - Capture the output of the command.\n\nUsage notes:\n - The command argument is required.\n - You can specify an optional timeout in milliseconds (up to 600000ms / 10 minutes). If not specified, commands will timeout after 120000ms (2 minutes).\n - It is very helpful if you write a clear, concise description of what this command does in 5-10 words.\n - If the output exceeds 30000 characters, output will be truncated before being returned to you.\n - VERY IMPORTANT: You MUST avoid using search commands likefindandgrep. Instead use Grep, Glob, or Task to search. You MUST avoid read tools likecat,head,tail, andls, and use Read and List to read files.\n - If you still need to rungrep, STOP. ALWAYS USE ripgrep atrg(or /usr/bin/rg) first, which all opencode users have pre-installed.\n - When issuing multiple commands, use the ';' or '&&' operator to separate them. DO NOT use newlines (newlines are ok in quoted strings).\n - Try to maintain your current working directory throughout the session by using absolute paths and avoiding usage ofcd. You may usecdif the User explicitly requests it.\n \n pytest /foo/bar/tests\n \n \n cd /foo/bar && pytest tests\n \n\n\n# Committing changes with git\n\nIf and only if the user asks you to create a new git commit, follow these steps carefully:\n\n1. You have the capability to call multiple tools in a single response. When multiple independent pieces of information are requested, batch your tool calls together for optimal performance. ALWAYS run the following bash commands in parallel, each using the Bash tool:\n - Run a git status command to see all untracked files.\n - Run a git diff command to see both staged and unstaged changes that will be committed.\n - Run a git log command to see recent commit messages, so that you can follow this repository's commit message style.\n\n2. Analyze all staged changes (both previously staged and newly added) and draft a commit message. Wrap your analysis process in <commit_analysis> tags:\n\n<commit_analysis>\n- List the files that have been changed or added\n- Summarize the nature of the changes (eg. new feature, enhancement to an existing feature, bug fix, refactoring, test, docs, etc.)\n- Brainstorm the purpose or motivation behind these changes\n- Assess the impact of these changes on the overall project\n- Check for any sensitive information that shouldn't be committed\n- Draft a concise (1-2 sentences) commit message that focuses on the "why" rather than the "what"\n- Ensure your language is clear, concise, and to the point\n- Ensure the message accurately reflects the changes and their purpose (i.e. "add" means a wholly new feature, "update" means an enhancement to an existing feature, "fix" means a bug fix, etc.)\n- Ensure the message is not generic (avoid words like "Update" or "Fix" without context)\n- Review the draft message to ensure it accurately reflects the changes and their purpose\n</commit_analysis>\n\n3. You have the capability to call multiple tools in a single response. When multiple independent pieces of information are requested, batch your tool calls together for optimal performance. ALWAYS run the following commands in parallel:\n - Add relevant untracked files to the staging area.\n - Run git status to make sure the commit succeeded.\n\n4. If the commit fails due to pre-commit hook changes, retry the commit ONCE to include these automated changes. If it fails again, it usually means a pre-commit hook is preventing the commit. If the commit succeeds but you notice that files were modified by the pre-commit hook, you MUST amend your commit to include them.\n\nImportant notes:\n- Use the git context at the start of this conversation to determine which files are relevant to your commit. Be careful not to stage and commit files (e.g. withgit add .) that aren't relevant to your commit.\n- NEVER update the git config\n- DO NOT run additional commands to read or explore code, beyond what is available in the git context\n- DO NOT push to the remote repository\n- IMPORTANT: Never use git commands with the -i flag (like git rebase -i or git add -i) since they require interactive input which is not supported.\n- If there are no changes to commit (i.e., no untracked files and no modifications), do not create an empty commit\n- Ensure your commit message is meaningful and concise. It should explain the purpose of the changes, not just describe them.\n- Return an empty response - the user will see the git output directly\n\n# Creating pull requests\nUse the gh command via the Bash tool for ALL GitHub-related tasks including working with issues, pull requests, checks, and releases. If given a Github URL use the gh command to get the information needed.\n\nIMPORTANT: When the user asks you to create a pull request, follow these steps carefully:\n\n1. You have the capability to call multiple tools in a single response. When multiple independent pieces of information are requested, batch your tool calls together for optimal performance. ALWAYS run the following bash commands in parallel using the Bash tool, in order to understand the current state of the branch since it diverged from the main branch:\n - Run a git status command to see all untracked files\n - Run a git diff command to see both staged and unstaged changes that will be committed\n - Check if the current branch tracks a remote branch and is up to date with the remote, so you know if you need to push to the remote\n - Run a git log command andgit diff main...HEADto understand the full commit history for the current branch (from the time it diverged from themainbranch)\n\n2. Analyze all changes that will be included in the pull request, making sure to look at all relevant commits (NOT just the latest commit, but ALL commits that will be included in the pull request!!!), and draft a pull request summary. Wrap your analysis process in <pr_analysis> tags:\n\n<pr_analysis>\n- List the commits since diverging from the main branch\n- Summarize the nature of the changes (eg. new feature, enhancement to an existing feature, bug fix, refactoring, test, docs, etc.)\n- Brainstorm the purpose or motivation behind these changes\n- Assess the impact of these changes on the overall project\n- Do not use tools to explore code, beyond what is available in the git context\n- Check for any sensitive information that shouldn't be committed\n- Draft a concise (1-2 bullet points) pull request summary that focuses on the "why" rather than the "what"\n- Ensure the summary accurately reflects all changes since diverging from the main branch\n- Ensure your language is clear, concise, and to the point\n- Ensure the summary accurately reflects the changes and their purpose (ie. "add" means a wholly new feature, "update" means an enhancement to an existing feature, "fix" means a bug fix, etc.)\n- Ensure the summary is not generic (avoid words like "Update" or "Fix" without context)\n- Review the draft summary to ensure it accurately reflects the changes and their purpose\n</pr_analysis>\n\n3. You have the capability to call multiple tools in a single response. When multiple independent pieces of information are requested, batch your tool calls together for optimal performance. ALWAYS run the following commands in parallel:\n - Create new branch if needed\n - Push to remote with -u flag if needed\n - Create PR using gh pr create with the format below. Use a HEREDOC to pass the body to ensure correct formatting.\n\ngh pr create --title "the pr title" --body "$(cat <<'EOF'\n## Summary\n<1-3 bullet points>\nEOF\n)"\n\n\nImportant:\n- NEVER update the git config\n- Return the PR URL when you're done, so the user can see it\n\n# Other common operations\n- View comments on a Github PR: gh api repos/foo/bar/pulls/123/comments\n","parameters":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"command":{"description":"The command to execute","type":"string"},"timeout":{"description":"Optional timeout in milliseconds","type":"number"},"description":{"description":"Clear, concise description of what this command does in 5-10 words. Examples:\nInput: ls\nOutput: Lists files in current directory\n\nInput: git status\nOutput: Shows working tree status\n\nInput: npm install\nOutput: Installs package dependencies\n\nInput: mkdir foo\nOutput: Creates directory 'foo'","type":"string"}},"required":["command","description"],"additionalProperties":false}}},{"type":"function","function":{"name":"read","description":"Reads a file from the local filesystem. You can access any file directly by using this tool.\nAssume this tool is able to read all files on the machine. If the User provides a path to a file assume that path is valid. It is okay to read a file that does not exist; an error will be returned.\n\nUsage:\n- The filePath parameter must be an absolute path, not a relative path\n- By default, it reads up to 2000 lines starting from the beginning of the file\n- You can optionally specify a line offset and limit (especially handy for long files), but it's recommended to read the whole file by not providing these parameters\n- Any lines longer than 2000 characters will be truncated\n- Results are returned using cat -n format, with line numbers starting at 1\n- You have the capability to call multiple tools in a single response. It is always better to speculatively read multiple files as a batch that are potentially useful.\n- If you read a file that exists but has empty contents you will receive a system reminder warning in place of file contents.\n- You can read image files using this tool.\n","parameters":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"filePath":{"description":"The path to the file to read","type":"string"},"offset":{"description":"The line number to start reading from (0-based)","type":"number"},"limit":{"description":"The number of lines to read (defaults to 2000)","type":"number"}},"required":["filePath"],"additionalProperties":false}}},{"type":"function","function":{"name":"glob","description":"- Fast file pattern matching tool that works with any codebase size\n- Supports glob patterns like "/.js" or "src/**/.ts"\n- Returns matching file paths sorted by modification time\n- Use this tool when you need to find files by name patterns\n- When you are doing an open ended search that may require multiple rounds of globbing and grepping, use the Task tool instead\n- You have the capability to call multiple tools in a single response. It is always better to speculatively perform multiple searches as a batch that are potentially useful.\n","parameters":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"pattern":{"description":"The glob pattern to match files against","type":"string"},"path":{"description":"The directory to search in. If not specified, the current working directory will be used. IMPORTANT: Omit this field to use the default directory. DO NOT enter "undefined" or "null" - simply omit it for the default behavior. Must be a valid directory path if provided.","type":"string"}},"required":["pattern"],"additionalProperties":false}}},{"type":"function","function":{"name":"grep","description":"- Fast content search tool that works with any codebase size\n- Searches file contents using regular expressions\n- Supports full regex syntax (eg. "log.Error", "function\s+\w+", etc.)\n- Filter files by pattern with the include parameter (eg. ".js", ".{ts,tsx}")\n- Returns file paths with at least one match sorted by modification time\n- Use this tool when you need to find files containing specific patterns\n- If you need to identify/count the number of matches within files, use the Bash tool withrg(ripgrep) directly. Do NOT usegrep.\n- When you are doing an open ended search that may require multiple rounds of globbing and grepping, use the Task tool instead\n","parameters":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"pattern":{"description":"The regex pattern to search for in file contents","type":"string"},"path":{"description":"The directory to search in. Defaults to the current working directory.","type":"string"},"include":{"description":"File pattern to include in the search (e.g. ".js", ".{ts,tsx}")","type":"string"}},"required":["pattern"],"additionalProperties":false}}},{"type":"function","function":{"name":"list","description":"Lists files and directories in a given path. The path parameter must be absolute; omit it to use the current workspace directory. You can optionally provide an array of glob patterns to ignore with the ignore parameter. You should generally prefer the Glob and Grep tools, if you know which directories to search.\n","parameters":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"path":{"description":"The absolute path to the directory to list (must be absolute, not relative)","type":"string"},"ignore":{"description":"List of glob patterns to ignore","type":"array","items":{"type":"string"}}},"additionalProperties":false}}},{"type":"function","function":{"name":"edit","description":"Performs exact string replacements in files. \n\nUsage:\n- You must use yourReadtool at least once in the conversation before editing. This tool will error if you attempt an edit without reading the file. \n- When editing text from Read tool output, ensure you preserve the exact indentation (tabs/spaces) as it appears AFTER the line number prefix. The line number prefix format is: spaces + line number + tab. Everything after that tab is the actual file content to match. Never include any part of the line number prefix in the oldString or newString.\n- ALWAYS prefer editing existing files in the codebase. NEVER write new files unless explicitly required.\n- Only use emojis if the user explicitly requests it. Avoid adding emojis to files unless asked.\n- The edit will FAIL ifoldStringis not found in the file with an error "oldString not found in content".\n- The edit will FAIL ifoldStringis found multiple times in the file with an error "oldString found multiple times and requires more code context to uniquely identify the intended match". Either provide a larger string with more surrounding context to make it unique or usereplaceAllto change every instance ofoldString. \n- UsereplaceAllfor replacing and renaming strings across the file. This parameter is useful if you want to rename a variable for instance.\n","parameters":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"filePath":{"description":"The absolute path to the file to modify","type":"string"},"oldString":{"description":"The text to replace","type":"string"},"newString":{"description":"The text to replace it with (must be different from oldString)","type":"string"},"replaceAll":{"description":"Replace all occurrences of oldString (default false)","type":"boolean"}},"required":["filePath","oldString","newString"],"additionalProperties":false}}},{"type":"function","function":{"name":"write","description":"Writes a file to the local filesystem.\n\nUsage:\n- This tool will overwrite the existing file if there is one at the provided path.\n- If this is an existing file, you MUST use the Read tool first to read the file's contents. This tool will fail if you did not read the file first.\n- ALWAYS prefer editing existing files in the codebase. NEVER write new files unless explicitly required.\n- NEVER proactively create documentation files (.md) or README files. Only create documentation files if explicitly requested by the User.\n- Only use emojis if the user explicitly requests it. Avoid writing emojis to files unless asked.\n","parameters":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"content":{"description":"The content to write to the file","type":"string"},"filePath":{"description":"The absolute path to the file to write (must be absolute, not relative)","type":"string"}},"required":["content","filePath"],"additionalProperties":false}}},{"type":"function","function":{"name":"task","description":"Launch a new agent to handle complex, multi-step tasks autonomously.\n\nAvailable agent types and the tools they have access to:\n- general: General-purpose agent for researching complex questions, searching for code, and executing multi-step tasks. When you are searching for a keyword or file and are not confident that you will find the right match in the first few tries use this agent to perform the search for you.\n- plastic-scm: Plastic SCM Checkin agent for Unity projects\n\nWhen using the Task tool, you must specify a subagent_type parameter to select which agent type to use.\n\nWhen to use the Task tool:\n- When you are instructed to execute custom slash commands. Use the Task tool with the slash command invocation as the entire prompt. The slash command can take arguments. For example: Task(description="Check the file", prompt="/check-file path/to/file.py")\n\nWhen NOT to use the Task tool:\n- If you want to read a specific file path, use the Read or Glob tool instead of the Task tool, to find the match more quickly\n- If you are searching for a specific class definition like "class Foo", use the Glob tool instead, to find the match more quickly\n- If you are searching for code within a specific file or set of 2-3 files, use the Read tool instead of the Task tool, to find the match more quickly\n- Other tasks that are not related to the agent descriptions above\n\n\nUsage notes:\n1. Launch multiple agents concurrently whenever possible, to maximize performance; to do that, use a single message with multiple tool uses\n2. When the agent is done, it will return a single message back to you. The result returned by the agent is not visible to the user. To show the user the result, you should send a text message back to the user with a concise summary of the result.\n3. Each agent invocation is stateless unless you provide a session_id. Your prompt should contain a highly detailed task description for the agent to perform autonomously and you should specify exactly what information the agent should return back to you in its final and only message to you.\n4. The agent's outputs should generally be trusted\n5. Clearly tell the agent whether you expect it to write code or just to do research (search, file reads, web fetches, etc.), since it is not aware of the user's intent\n6. If the agent description mentions that it should be used proactively, then you should try your best to use it without the user having to ask for it first. Use your judgement.\n\nExample usage (NOTE: The agents below are fictional examples for illustration only - use the actual agents listed above):\n\n<example_agent_descriptions>\n"code-reviewer": use this agent after you are done writing a significant piece of code\n"greeting-responder": use this agent when to respond to user greetings with a friendly joke\n</example_agent_description>\n\n\nuser: "Please write a function that checks if a number is prime"\nassistant: Sure let me write a function that checks if a number is prime\nassistant: First let me use the Write tool to write a function that checks if a number is prime\nassistant: I'm going to use the Write tool to write the following code:\n\nfunction isPrime(n) {\n if (n <= 1) return false\n for (let i = 2; i * i <= n; i++) {\n if (n % i === 0) return false\n }\n return true\n}\n\n\nSince a significant piece of code was written and the task was completed, now use the code-reviewer agent to review the code\n\nassistant: Now let me use the code-reviewer agent to review the code\nassistant: Uses the Task tool to launch the code-reviewer agent\n\n\n\nuser: "Hello"\n\nSince the user is greeting, use the greeting-responder agent to respond with a friendly joke\n\nassistant: "I'm going to use the Task tool to launch the with the greeting-responder agent"\n\n","parameters":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"description":{"description":"A short (3-5 words) description of the task","type":"string"},"prompt":{"description":"The task for the agent to perform","type":"string"},"subagent_type":{"description":"The type of specialized agent to use for this task","type":"string"},"session_id":{"description":"Existing Task session to continue","type":"string"}},"required":["description","prompt","subagent_type"],"additionalProperties":false}}},{"type":"function","function":{"name":"webfetch","description":"- Fetches content from a specified URL\n- Takes a URL and a prompt as input\n- Fetches the URL content, converts HTML to markdown\n- Returns the model's response about the content\n- Use this tool when you need to retrieve and analyze web content\n\nUsage notes:\n - IMPORTANT: if another tool is present that offers better web fetching capabilities, is more targeted to the task, or has fewer restrictions, prefer using that tool instead of this one.\n - The URL must be a fully-formed valid URL\n - HTTP URLs will be automatically upgraded to HTTPS\n - The prompt should describe what information you want to extract from the page\n - This tool is read-only and does not modify any files\n - Results may be summarized if the content is very large\n - Includes a self-cleaning 15-minute cache for faster responses when repeatedly accessing the same URL\n","parameters":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"url":{"description":"The URL to fetch content from","type":"string"},"format":{"description":"The format to return the content in (text, markdown, or html)","type":"string","enum":["text","markdown","html"]},"timeout":{"description":"Optional timeout in seconds (max 120)","type":"number"}},"required":["url","format"],"additionalProperties":false}}},{"type":"function","function":{"name":"todowrite","description":"Use this tool to create and manage a structured task list for your current coding session. This helps you track progress, organize complex tasks, and demonstrate thoroughness to the user.\nIt also helps the user understand the progress of the task and overall progress of their requests.\n\n## When to Use This Tool\nUse this tool proactively in these scenarios:\n\n1. Complex multi-step tasks - When a task requires 3 or more distinct steps or actions\n2. Non-trivial and complex tasks - Tasks that require careful planning or multiple operations\n3. User explicitly requests todo list - When the user directly asks you to use the todo list\n4. User provides multiple tasks - When users provide a list of things to be done (numbered or comma-separated)\n5. After receiving new instructions - Immediately capture user requirements as todos. Feel free to edit the todo list based on new information.\n6. After completing a task - Mark it complete and add any new follow-up tasks\n7. When you start working on a new task, mark the todo as in_progress. Ideally you should only have one todo as in_progress at a time. Complete existing tasks before starting new ones.\n\n## When NOT to Use This Tool\n\nSkip using this tool when:\n1. There is only a single, straightforward task\n2. The task is trivial and tracking it provides no organizational benefit\n3. The task can be completed in less than 3 trivial steps\n4. The task is purely conversational or informational\n\nNOTE that you should not use this tool if there is only one trivial task to do. In this case you are better off just doing the task directly.\n\n## Examples of When to Use the Todo List\n\n\nUser: I want to add a dark mode toggle to the application settings. Make sure you run the tests and build when you're done!\nAssistant: I'll help add a dark mode toggle to your application settings. Let me create a todo list to track this implementation.\nCreates todo list with the following items:\n1. Create dark mode toggle component in Settings page\n2. Add dark mode state management (context/store)\n3. Implement CSS-in-JS styles for dark theme\n4. Update existing components to support theme switching\n5. Run tests and build process, addressing any failures or errors that occur\nBegins working on the first task*\n\n\nThe assistant used the todo list because:\n1. Adding dark mode is a multi-step feature requiring UI, state management, and styling changes\n2. The user explicitly requested tests and build be run afterward\n3. The assistant inferred that tests and build need to pass by adding "Ensure tests and build succeed" as the final task\n\n\n\n\nUser: Help me rename the function getCwd to getCurrentWorkingDirectory across my project\nAssistant: Let me first search through your codebase to find all occurrences of 'getCwd'.\nUses grep or search tools to locate all instances of getCwd in the codebase\nAssistant: I've found 15 instances of 'getCwd' across 8 different files. Let me create a todo list to track these changes.\nCreates todo list with specific items for each file that needs updating\n\n\nThe assistant used the todo list because:\n1. First, the assistant searched to understand the scope of the task\n2. Upon finding multiple occurrences across different files, it determined this was a complex task with multiple steps\n3. The todo list helps ensure every instance is tracked and updated systematically\n4. This approach prevents missing any occurrences and maintains code consistency\n\n\n\n\n\nUser: I need to implement these features for my e-commerce site: user registration, product catalog, shopping cart, and checkout flow.\nAssistant: I'll help implement these features. First, let's add all the features to the todo list.\nCreates a todo list breaking down each feature into specific tasks based on the project architecture\nAssistant: Let's start with user registration. This will involve creating database models, API endpoints, and frontend forms that integrate with your existing authentication system.\n\n\nThe assistant used the todo list because:\n1. The user provided multiple complex features to implement in a comma separated list\n2. The todo list helps organize these large features into manageable tasks\n3. This approach allows for tracking progress across the entire implementation\n\n\n\n\nUser: Can you help optimize my React application? It's rendering slowly and has performance issues.\nAssistant: I'll help optimize your React application. First, let me examine your codebase to identify potential performance bottlenecks.\nReviews component structure, render patterns, state management, and data fetching\nAssistant: After analyzing your codebase, I've identified several performance issues. Let me create a todo list to track our optimization efforts.\nCreates todo list with items like: 1) Implement memoization for expensive calculations in ProductList, 2) Add virtualization for long lists in Dashboard, 3) Optimize image loading in Gallery component, 4) Fix state update loops in ShoppingCart, 5) Review bundle size and implement code splitting\nLet's start by implementing memoization for the expensive calculations in your ProductList component.\n\n\nThe assistant used the todo list because:\n1. First, the assistant examined the codebase to identify specific performance issues\n2. Based on this analysis, it identified multiple optimization opportunities\n3. Performance optimization is a non-trivial task requiring multiple steps\n4. The todo list helps methodically track improvements across different components\n5. This systematic approach ensures all performance bottlenecks are addressed\n\n\n\n## Examples of When NOT to Use the Todo List\n\n\nUser: How do I print 'Hello World' in Python?\nAssistant: In Python, you can print "Hello World" with this simple code:\n\npython\nprint("Hello World")\n\nThis will output the text "Hello World" to the console when executed.\n\n\nThe assistant did not use the todo list because this is a single, trivial task that can be completed in one step. There's no need to track multiple tasks or steps for such a straightforward request.\n\n\n\n\nUser: What does the git status command do?\nAssistant: The git status command shows the current state of your working directory and staging area. It displays which changes have been staged, which haven't, and which files aren't being tracked by Git. This is a fundamental command for understanding the current state of your repository before making commits.\n\n\nThe assistant did not use the todo list because this is an informational request with no actual coding task to complete. The user is simply asking for an explanation, not for the assistant to perform multiple steps or tasks.\n\n\n\n\nUser: Can you add a comment to the calculateTotal function to explain what it does?\nAssistant: Sure, let me add a comment to the calculateTotal function to explain what it does.\n* Uses the Edit tool to add a comment to the calculateTotal function \n\n\nThe assistant did not use the todo list because this is a single, straightforward task confined to one location in the code. Adding a comment doesn't require tracking multiple steps or systematic organization.\n\n\n\n\nUser: Run npm install for me and tell me what happens.\nAssistant: I'll run the npm install command for you.\n\nExecutes: npm install*\n\nThe command completed successfully. Here's the output:\n[Output of npm install command]\n\nAll dependencies have been installed according to your package.json file.\n\n\nThe assistant did not use the todo list because this is a single command execution with immediate results. There are no multiple steps to track or organize, making the todo list unnecessary for this straightforward task.\n\n\n\n## Task States and Management\n\n1. Task States: Use these states to track progress:\n - pending: Task not yet started\n - in_progress: Currently working on (limit to ONE task at a time)\n - completed: Task finished successfully\n - cancelled: Task no longer needed\n\n2. Task Management:\n - Update task status in real-time as you work\n - Mark tasks complete IMMEDIATELY after finishing (don't batch completions)\n - Only have ONE task in_progress at any time\n - Complete current tasks before starting new ones\n - Cancel tasks that become irrelevant\n\n3. Task Breakdown:\n - Create specific, actionable items\n - Break complex tasks into smaller, manageable steps\n - Use clear, descriptive task names\n\nWhen in doubt, use this tool. Being proactive with task management demonstrates attentiveness and ensures you complete all requirements successfully.\n\n","parameters":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"todos":{"description":"The updated todo list","type":"array","items":{"type":"object","properties":{"content":{"description":"Brief description of the task","type":"string"},"status":{"description":"Current status of the task: pending, in_progress, completed, cancelled","type":"string"},"priority":{"description":"Priority level of the task: high, medium, low","type":"string"},"id":{"description":"Unique identifier for the todo item","type":"string"}},"required":["content","status","priority","id"],"additionalProperties":false}}},"required":["todos"],"additionalProperties":false}}},{"type":"function","function":{"name":"todoread","description":"Use this tool to read your todo list","parameters":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false}}}],"tool_choice":"auto","stream":true,"stream_options":{"include_usage":true}},"statusCode":400,"responseHeaders":{"cache-control":"no-cache","content-security-policy":"default-src 'none'; sandbox","content-type":"text/plain; charset=utf-8","copilot-edits-session":"1763646719.29b1b1754f9906385cbc1c5c2fa2367c316f5ff7c5a0d1033fd88549140b92df","date":"Thu, 20 Nov 2025 13:51:59 GMT","strict-transport-security":"max-age=31536000","transfer-encoding":"chunked","x-content-type-options":"nosniff","x-github-backend":"Kubernetes","x-github-request-id":"1E92:297C54:6A114:78C6C:691F1CFC","x-request-id":"00000-f9b70014-0262-40e7-8920-7f8d6f2a77d0"},"responseBody":"{"error":{"message":"invalid request body","code":"invalid_request_body"}}\n","isRetryable":false,"data":{"error":{"message":"invalid request body","code":"invalid_request_body"}}}} stream errorERROR 2025-11-20T13:51:59 +5ms service=session.processor error=invalid request body process
INFO 2025-11-20T13:51:59 +1ms service=bus type=session.error publishing
INFO 2025-11-20T13:51:59 +1ms service=bus type=message.updated publishing
INFO 2025-11-20T13:51:59 +0ms service=session.compaction pruning
Error: invalid request body
INFO 2025-11-20T13:51:59 +1ms service=session.prompt sessionID=ses_55e76d60cffeJVf3hWB58JDeok cancel
INFO 2025-11-20T13:51:59 +0ms service=bus type=session.status publishing
INFO 2025-11-20T13:51:59 +0ms service=bus type=session.idle publishing
`
@aadishv commented on GitHub (Nov 20, 2025):
As noted in https://github.com/zed-industries/zed/issues/43024#issuecomment-3553584508, this is due to Zed's and OpenCode's implementations of the Copilot completions API not implementing Gemini thought signatures (which only became mandatory for 3 Pro), leading to a 4XX status code (often 400 for me). This matches the vast majority of issues in this thread, especially given https://github.com/sst/opencode/issues/4468#issuecomment-3549940643; the others seem to be quota/rate limit related.
rtfeldman has implemented an untested fix in https://github.com/zed-industries/zed/pull/43096, not sure if it works. If I decide to torture my aging computer today, I might clone and try running it to check.
The AI SDK bump doesn't fix it because that fix was for the official Google provider, which works for Zen and AI Studio API keys but not for Copilot (since Copilot doesn't mirror the Google API, instead implementing the Completions or Responses API -- Completions for this case).
If the Zed fix doesn't work, I spent some time yesterday reverse engineering how VSCode does it with the Copilot API. I have quite a bit of schoolwork today (🥲) but if I have time I'll write up my findings and publish them. From my initial explorations it's quite complex; I don't know enough exactly how opencode handles the Copilot provider, but it's possible that this is nontrivial to implement using the OpenAI-compatible AI SDK provider.
@rekram1-node commented on GitHub (Nov 20, 2025):
Yeah although this feels like something the ai sdk people may solve for for us or we will need to find a hack work around for time being.
The openrouter people have their own ai sdk package and it works for interlevened thinking models, may be able to use that.
But there are other providers like copilot that are serving interlevened thinking through an openai compatible interface and the ai sdk doesnt handle that
Im releasing a fix for openrouter because they just got this working, Ill try to attack this one next if it is easy
Otherwise we may need to make our own provider for copilot or setup some hack to get this working
@aadishv commented on GitHub (Nov 21, 2025):
Okay my minimal reverse-engineering is done in https://github.com/aadishv/vscre, I also describe a minimal pattern that I think is needed to implement.
Of particular interest for OpenCode:
Not sure if this requires a break from how the OpenAI provider does things. I'd love to try to implement this myself but it seems a little too complex 🥲
@chubes4 commented on GitHub (Nov 30, 2025):
Also experiencing this same issue. Would love to use this model in Opencode via Copilot.
@weiro2020 commented on GitHub (Dec 2, 2025):
i am having this same error, using the latest version of opencode 1.0.128 login with github copilot pro account.
@rekram1-node commented on GitHub (Dec 2, 2025):
yeah ill be looking at this shortly, going to close out some smaller bugs that relate to installing and then can fix these bigger ones hopefully tmr
@dkEwenSELLITTO commented on GitHub (Dec 3, 2025):
Same error on
❯ opencode --version
1.0.128
MacOS 26.1
but I don't see any error with this command :
opencode run hello --print-logs --model github-copilot/gemini-3-pro-previewI just get errors after a tool use
@rekram1-node commented on GitHub (Dec 3, 2025):
yep known issue
@aadishv commented on GitHub (Dec 10, 2025):
It mysteriously seems to work for me now, even though it doesn't seem there have been any changes on OpenCode side that could have fixed it. Might just be that Copilot loosened their APIs a little although that still doesn't make much sense (as how else are they getting the thought signatures to give Google?). I'll look into it some more but we can probably close this issue now.
[screenshot from OC 1.0.142]
@rekram1-node commented on GitHub (Dec 10, 2025):
Yeah idk either but it does work
@aadishv commented on GitHub (Dec 10, 2025):
okay it works on my clone where I'm very sure it wasn't working previously so definitely a change on the Copilot API side. I'm still curious about how they have this implemented but, oh well, it works :)
@rekram1-node would you prefer I still make a PR just to implement thinking blocks for Copilot models?
@rekram1-node commented on GitHub (Dec 10, 2025):
@aadishv well let's talk through it, is it a huge change? what do u need to set to get reasoning to come back?
@aadishv commented on GitHub (Dec 10, 2025):
Yeah that's the biggest thing that is making me unsure. it requires basically cloning the entire openai compatible /chat/completions implementation, like we've already done for /responses. the modifications for thinking are very minimal its basically +1-1
@rekram1-node commented on GitHub (Dec 10, 2025):
What's the change tho? What did you need to set?
@aadishv commented on GitHub (Dec 10, 2025):
requires adding this to the chunk schema:
and this to the doStream function (I haven't updated doGenerate yet):
@aadishv commented on GitHub (Dec 10, 2025):
Okay just added it to doGenerate as well, it's very similar changes to the relevant schemas and methods
@rekram1-node commented on GitHub (Dec 10, 2025):
Hm ig guess u can pr it, kinda annoying we need a whole fork of compatible provider too.
@aadishv commented on GitHub (Dec 10, 2025):
yeah definitely, i'll make a pr, you can choose whether to merge or not :)
@jcubic commented on GitHub (Dec 10, 2025):
Do other methods in Copilot have reasoning? I use Sonnet 4.5 most of the time. And thinking toggle does nothing (at least it used to). Can Copilot models even use reasoning? I'm not sure which models are reasoning and which are not.
@aadishv commented on GitHub (Dec 10, 2025):
I'm pretty sure that Sonnet and Opus are ran without thinking, Gemini 3 Pro is with auto reasoning, and GPT-5.1 family is with medium. Codex models also think (afaik) but I'm not sure if their traces are accessible via the responses API