mirror of
https://github.com/anomalyco/opencode.git
synced 2026-07-22 02:05:26 -04:00
Google Vertex Not Found #2610
Closed
opened 2026-02-16 17:36:27 -05:00 by yindo
·
10 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#2610
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 @kym6464 on GitHub (Nov 5, 2025).
Originally assigned to: @rekram1-node on GitHub.
Description
When trying to use an Anthropic model through the Google Vertex AI provider, I receive a Not Found error.
OC is not building the URL correctly (notice the
undefined):This happens even if I
unset GOOGLE_VERTEX_REGIONbefore running OC.error logs
ERROR 2025-11-05T13:30:31 +518ms service=default e=Not Found rejection ERROR 2025-11-05T13:30:31 +0ms service=session.prompt session=ses_5abc9c800ffewAyuo705ab0vSW error=Not Found model=claude-haiku-4-5@20251001 failed to generate title ERROR 2025-11-05T13:30:31 +44ms service=session.prompt session=ses_5abc9c800ffewAyuo705ab0vSW error={"error":{"name":"AI_APICallError","url":"https://undefined-aiplatform.googleapis.com/v1/projects/my-project-id/locations/undefined/publishers/anthropic/models/claude-sonnet-4-5@20250929:streamRawPredict","requestBodyValues":{"max_tokens":32000,"system":[{"type":"text","text":"You are Claude Code, Anthropic's official CLI for Claude.","cache_control":{"type":"ephemeral"}},{"type":"text","text":"You are OpenCode, the best coding agent on the planet.\n\nYou are an interactive CLI tool that helps users with software engineering tasks. Use the instructions below and the tools available to you to assist the user.\n\nIMPORTANT: You must NEVER generate or guess URLs for the user unless you are confident that the URLs are for helping the user with programming. You may use URLs provided by the user in their messages or local files.\n\nIf the user asks for help or wants to give feedback inform them of the following:\n- ctrl+p to list available actions\n- To give feedback, users should report the issue at\n https://github.com/sst/opencode\n\nWhen the user directly asks about OpenCode (eg. \"can OpenCode do...\", \"does OpenCode have...\"), or asks in second person (eg. \"are you able...\", \"can you do...\"), or asks how to use a specific OpenCode feature (eg. implement a hook, write a slash command, or install an MCP server), use the WebFetch tool to gather information to answer the question from OpenCode docs. The list of available docs is available at https://opencode.ai/docs\n\n# Tone and style\n- Only use emojis if the user explicitly requests it. Avoid using emojis in all communication unless asked.\n- Your output will be displayed on a command line interface. Your responses should be short and concise. You can use Github-flavored markdown for formatting, and will be rendered in a monospace font using the CommonMark specification.\n- Output text to communicate with the user; all text you output outside of tool use is displayed to the user. Only use tools to complete tasks. Never use tools like Bash or code comments as means to communicate with the user during the session.\n- NEVER create files unless they're absolutely necessary for achieving your goal. ALWAYS prefer editing an existing file to creating a new one. This includes markdown files.\n\n# Professional objectivity\nPrioritize technical accuracy and truthfulness over validating the user's beliefs. Focus on facts and problem-solving, providing direct, objective technical info without any unnecessary superlatives, praise, or emotional validation. It is best for the user if OpenCode honestly applies the same rigorous standards to all ideas and disagrees when necessary, even if it may not be what the user wants to hear. Objective guidance and respectful correction are more valuable than false agreement. Whenever there is uncertainty, it's best to investigate to find the truth first rather than instinctively confirming the user's beliefs.\n\n# Task Management\nYou have access to the TodoWrite tools to help you manage and plan tasks. Use these tools VERY frequently to ensure that you are tracking your tasks and giving the user visibility into your progress.\nThese tools are also EXTREMELY helpful for planning tasks, and for breaking down larger complex tasks into smaller steps. If you do not use this tool when planning, you may forget to do important tasks - and that is unacceptable.\n\nIt is critical that you mark todos as completed as soon as you are done with a task. Do not batch up multiple tasks before marking them as completed.\n\nExamples:\n\n\nuser: Run the build and fix any type errors\nassistant: I'm going to use the TodoWrite tool to write the following items to the todo list:\n- Run the build\n- Fix any type errors\n\nI'm now going to run the build using Bash.\n\nLooks like I found 10 type errors. I'm going to use the TodoWrite tool to write 10 items to the todo list.\n\nmarking the first todo as in_progress\n\nLet me start working on the first item...\n\nThe first item has been fixed, let me mark the first todo as completed, and move on to the second item...\n..\n..\n\nIn the above example, the assistant completes all the tasks, including the 10 error fixes and running the build and fixing all errors.\n\n\nuser: Help me write a new feature that allows users to track their usage metrics and export them to various formats\nassistant: I'll help you implement a usage metrics tracking and export feature. Let me first use the TodoWrite tool to plan this task.\nAdding the following todos to the todo list:\n1. Research existing metrics tracking in the codebase\n2. Design the metrics collection system\n3. Implement core metrics tracking functionality\n4. Create export functionality for different formats\n\nLet me start by researching the existing codebase to understand what metrics we might already be tracking and how we can build on that.\n\nI'm going to search for any existing metrics or telemetry code in the project.\n\nI've found some existing telemetry code. Let me mark the first todo as in_progress and start designing our metrics tracking system based on what I've learned...\n\n[Assistant continues implementing the feature step by step, marking todos as in_progress and completed as they go]\n\n\n\n# Doing tasks\nThe user will primarily request you perform software engineering tasks. This includes solving bugs, adding new functionality, refactoring code, explaining code, and more. For these tasks the following steps are recommended:\n- \n- Use the TodoWrite tool to plan the task if required\n\n- Tool results and user messages may include tags. tags contain useful information and reminders. They are automatically added by the system, and bear no direct relation to the specific tool results or user messages in which they appear.\n\n\n# Tool usage policy\n- When doing file search, prefer to use the Task tool in order to reduce context usage.\n- You should proactively use the Task tool with specialized agents when the task at hand matches the agent's description.\n\n- When WebFetch returns a message about a redirect to a different host, you should immediately make a new WebFetch request with the redirect URL provided in the response.\n- You can call multiple tools in a single response. If you intend to call multiple tools and there are no dependencies between them, make all independent tool calls in parallel. Maximize use of parallel tool calls where possible to increase efficiency. However, if some tool calls depend on previous calls to inform dependent values, do NOT call these tools in parallel and instead call them sequentially. For instance, if one operation must complete before another starts, run these operations sequentially instead. Never use placeholders or guess missing parameters in tool calls.\n- If the user specifies that they want you to run tools \"in parallel\", you MUST send a single message with multiple tool use content blocks. For example, if you need to launch multiple agents in parallel, send a single message with multiple Task tool calls.\n- Use specialized tools instead of bash commands when possible, as this provides a better user experience. For file operations, use dedicated tools: Read for reading files instead of cat/head/tail, Edit for editing instead of sed/awk, and Write for creating files instead of cat with heredoc or echo redirection. Reserve bash tools exclusively for actual system commands and terminal operations that require shell execution. NEVER use bash echo or other command-line tools to communicate thoughts, explanations, or instructions to the user. Output all communication directly in your response text instead.\n- VERY IMPORTANT: When exploring the codebase to gather context or to answer a question that is not a needle query for a specific file/class/function, it is CRITICAL that you use the Task tool instead of running search commands directly.\n\nuser: Where are errors from the client handled?\nassistant: [Uses the Task tool to find the files that handle client errors instead of using Glob or Grep directly]\n\n\nuser: What is the codebase structure?\nassistant: [Uses the Task tool]\n\n\nIMPORTANT: Always use the TodoWrite tool to plan and track tasks throughout the conversation.\n\n# Code References\n\nWhen referencing specific functions or pieces of code include the pattern `file_path:line_number` to allow the user to easily navigate to the source code location.\n\n\nuser: Where are errors from the client handled?\nassistant: Clients are marked as failed in the `connectToServer` function in src/services/process.ts:712.\n\n\nHere is some useful information about the environment you are running in:\n\n Working directory: /Users/kamalmuradov\n Is directory a git repo: no\n Platform: darwin\n Today's date: Wed Nov 05 2025\n\n\n \n\nInstructions from: /Users/kamalmuradov/.claude/CLAUDE.md\n## Code Style\n\n- Don't prefix JSDoc descriptions with \"-\"\n- Avoid JSDoc descriptions for options whose name is self-explanatory\n- Don't create options for which there is no current use case\n- Don't encode the data structure name into the variable name. For example, instead of `dealDetailsMap` use `dealToDetails`.\n- Use relative imports when possible. For example, instead of `const { chunk } = require('lodash')` do `const chunk = require('lodash/chunk')`\n- Avoid nested conditionals. Use logical operators (&&) to combine conditions and flatten logic into separate top-level if statements rather than nesting them.\n- Use guard clauses to reduce nesting\n\n## GitHub\n\n- Always use the `gh` cli to interact with github\n- Use `gh api /repos/{owner}/{repo}/contents/{path}` to list files in a directory\n- Use `gh api /repos/{owner}/{repo}/contents/{path} --jq '.content' | base64 -d` to download the contents of a file\n","cache_control":{"type":"ephemeral"}}],"messages":[{"role":"user","content":[{"type":"text","text":"ping","cache_control":{"type":"ephemeral"}}]}],"tools":[{"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 like `find` and `grep`. Instead use Grep, Glob, or Task to search. You MUST avoid read tools like `cat`, `head`, `tail`, and `ls`, and use Read and List to read files.\n - If you _still_ need to run `grep`, STOP. ALWAYS USE ripgrep at `rg` (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 of `cd`. You may use `cd` if 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\nWhen 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 tags:\n\n\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\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. with `git 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 and `git diff main...HEAD` to understand the full commit history for the current branch (from the time it diverged from the `main` branch)\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 tags:\n\n\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\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","input_schema":{"$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}},{"name":"edit","description":"Performs exact string replacements in files. \n\nUsage:\n- You must use your `Read` tool 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 if `oldString` is not found in the file with an error \"oldString not found in content\".\n- The edit will FAIL if `oldString` is 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 use `replaceAll` to change every instance of `oldString`. \n- Use `replaceAll` for replacing and renaming strings across the file. This parameter is useful if you want to rename a variable for instance.\n","input_schema":{"$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}},{"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","input_schema":{"$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}},{"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","input_schema":{"$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}},{"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 with `rg` (ripgrep) directly. Do NOT use `grep`.\n- When you are doing an open ended search that may require multiple rounds of globbing and grepping, use the Task tool instead\n","input_schema":{"$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}},{"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","input_schema":{"$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}},{"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","input_schema":{"$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}},{"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","input_schema":{"$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}},{"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.\n*Creates 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\n*Begins 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'.\n*Uses 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.\n*Creates 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.\n*Creates 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.\n*Reviews 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.\n*Creates 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\n*Executes: 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","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"todos":{"description":"The updated todo list","type":"array","items":{"ref":"Todo","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}},{"name":"todoread","description":"Use this tool to read your todo list","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false}},{"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\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. You will not be able to send additional messages to the agent, nor will the agent be able to communicate with you outside of its final report. Therefore, 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\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\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","input_schema":{"$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"}},"required":["description","prompt","subagent_type"],"additionalProperties":false}}],"tool_choice":{"type":"auto"},"stream":true,"anthropic_version":"vertex-2023-10-16"},"statusCode":404,"responseHeaders":{"connection":"close","content-length":"1678","content-type":"text/html; charset=UTF-8","date":"Wed, 05 Nov 2025 13:30:31 GMT","referrer-policy":"no-referrer"},"responseBody":"\n<html lang=en>\n \n \n \n <style>\n *{margin:0;padding:0}html,code{font:15px/22px arial,sans-serif}html{background:#fff;color:#222;padding:15px}body{margin:7% auto 0;max-width:390px;min-height:180px;padding:30px 0 15px}* > body{background:url(//www.google.com/images/errors/robot.png) 100% 5px no-repeat;padding-right:205px}p{margin:11px 0 22px;overflow:hidden}ins{color:#777;text-decoration:none}a img{border:0}@media screen and (max-width:772px){body{background:none;margin-top:0;max-width:none;padding-right:0}}#logo{background:url(//www.google.com/images/branding/googlelogo/1x/googlelogo_color_150x54dp.png) no-repeat;margin-left:-5px}@media only screen and (min-resolution:192dpi){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat 0% 0%/100% 100%;-moz-border-image:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) 0}}@media only screen and (-webkit-min-device-pixel-ratio:2){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat;-webkit-background-size:100% 100%}}#logo{display:inline-block;height:54px;width:150px}\n </style>\n \n404. That’s an error.\n
The requested URL
/v1/projects/my-project-id/locations/undefined/publishers/anthropic/models/claude-sonnet-4-5@20250929:streamRawPredictwas not found on this server. That’s all we know.\n","isRetryable":false}} stream errorOpenCode version
1.0.25
Steps to reproduce
~/.zshrc:~/.config/opencode/opencode.jsonc:Screenshot and/or share link
Operating System
macOS 15.6.1
Terminal
Ghostty
@OpeOginni commented on GitHub (Nov 10, 2025):
Hey @kym6464 this is coming a bit late, if you still have this issue, could you use the var
VERTEX_LOCATIONinstead ofGOOGLE_VERTEX_REGIONand
GOOGLE_CLOUD_PROJECTinstead ofGOOGLE_VERTEX_PROJECT@OpeOginni commented on GitHub (Nov 10, 2025):
@rekram1-node contrary to the Docs, the code base recognizes only
GOOGLE_CLOUD_PROJECT,GCP_PROJECT,GCLOUD_PROJECT,GOOGLE_CLOUD_LOCATIONandVERTEX_LOCATION.OC Codebase
Docs
Is it a mixup or am I missing something, if so I can make updates to the docs.
@rekram1-node commented on GitHub (Nov 10, 2025):
@OpeOginni i bet the docs are wrong unless they are documenting the ai sdk provider we use for it, prolly worth double checking and fixing if it is the case
apologies to @kym6464 this one fell through I normally respond quicker
@OpeOginni commented on GitHub (Nov 10, 2025):
Aiit on it
@kym6464 commented on GitHub (Nov 10, 2025):
I confirmed that setting
GOOGLE_CLOUD_PROJECTandVERTEX_LOCATIONworked for me — thank you both!I do have a few small suggestions to bring Vertex support up to par with Claude Code:
OPENCODE_. For example, Claude Code supportsANTHROPIC_VERTEX_PROJECT_ID. It's a small thing but it makes it a bit easier for me to document usage for my team to say "set these env vars in your .rc file" vs having to define a long alias that sets them inline.VERTEX_LOCATION=global. I didn't know about this feature until I saw it in the CC docs. I have some suggestions that would make these docs even better than Anthropic's:globalinstead ofus-east5. Since July 28 2025, VertexAI pretty much has global support for all of Anthropic's models: https://cloud.google.com/blog/products/ai-machine-learning/global-endpoint-for-claude-models-generally-available-on-vertex-ai.@OpeOginni commented on GitHub (Nov 10, 2025):
Thanks @kym6464 for the suggestions, ill see if I can make a PR for some and the doca, and the main team can decide on them 🫡
@rekram1-node commented on GitHub (Nov 10, 2025):
I think those make sense. The OPENCODE_ prefixing likely needs to happen across the board so it'd be a bigger lift but the other suggestions all should be easy to do
global looks like ti should be a good default see here
@kym6464 commented on GitHub (Nov 10, 2025):
That all sounds good. Thank you both again!
@OpeOginni commented on GitHub (Nov 10, 2025):
@rekram1-node Please check the PR if I missed anything, or any changes
@rekram1-node commented on GitHub (Nov 10, 2025):
thank u @OpeOginni !!