litellm/litellm
Sean Murphy 379af61b4f fix(opencode): send x-opencode-session on every Go request
OpenCode Go now rejects chat, messages and responses requests that lack an x-opencode-session header, answering 400 MissingSessionID. Its docs ask clients to send a stable id per conversation so routing and prompt caching work

The header is added on the chat and messages dispatch, the Go responses config, and the standalone /v1/messages route. A session header the client already sent is kept as it is. Otherwise the id comes from litellm_session_id, which the proxy already derives from Claude Code, Codex and opencode session headers, and then from litellm_trace_id. When neither exists a random id is generated, which gets past the rejection but earns no caching. Zen does not require the header, so its requests are unchanged

The opencode tests now also clear the OPENCODE_* env vars. litellm loads .env at import, so on a machine with an OpenCode key five existing tests picked up that key instead of the one they set
2026-09-12 19:06:07 -07:00
..
a2a_protocol fix(bedrock): sign on a dedicated executor instead of the shared default one 2026-09-09 18:52:00 -07:00
anthropic_interface fix(anthropic_endpoints): return Anthropic type:error envelope for /v1/messages errors 2026-08-31 16:23:36 -07:00
assistants refactor(typing): replace Any with proven types in 89 more backend files 2026-09-02 23:08:42 +00:00
batch_completion
batches Merge pull request #39626 from BerriAI/litellm_batch_ui_logs 2026-09-08 15:19:25 -07:00
caching Merge remote-tracking branch 'origin/litellm_internal_staging' into litellm_redis_pool_timeout_counts_as_timeout 2026-09-12 15:26:08 -07:00
completion_extras fix(router): classify encrypted delegated tasks with native Responses 2026-09-10 12:32:09 -07:00
compression refactor(typing): replace Any with proven types in 89 more backend files 2026-09-02 23:08:42 +00:00
containers Merge remote-tracking branch 'origin/litellm_internal_staging' into litellm_decrease_anys_opus5_r4 2026-09-02 23:32:10 +00:00
endpoints/speech/speech_to_completion_bridge refactor(speech): freeze httpx response header dicts (LIT002) 2026-08-31 21:12:53 -07:00
evals
experimental_mcp_client fix(mcp): bind discovery caching to credentials and active callers 2026-09-11 14:49:00 -07:00
files test(batches): use immutable expectations with explicit test doubles 2026-09-07 16:36:27 -07:00
fine_tuning refactor(typing): replace Any with proven types in 89 more backend files 2026-09-02 23:08:42 +00:00
google_genai refactor(types): replace Any with precise types across 73 modules 2026-09-01 11:05:02 +00:00
images refactor(typing): replace Any with proven types in 89 more backend files 2026-09-02 23:08:42 +00:00
integrations Merge pull request #40772 from BerriAI/litellm_lit6982_bucket_config_includes 2026-09-12 15:21:56 -07:00
interactions refactor(typing): replace Any with proven types in 42 more backend files 2026-09-02 15:35:01 +00:00
litellm_core_utils Merge pull request #39395 from seyeong-han/litellm_meta_muse_voice_realtime 2026-09-12 15:58:24 -07:00
llms fix(opencode): send x-opencode-session on every Go request 2026-09-12 19:06:07 -07:00
models feat(auto-router): show routed model and savings in Claude Code and Codex (#40330) 2026-09-11 12:52:42 -07:00
ocr Merge remote-tracking branch 'origin/litellm_internal_staging' into litellm_ocr_custom_pricing 2026-09-12 15:42:59 -07:00
passthrough fix(passthrough): parse Bedrock stream spend incrementally instead of buffering the whole response (#40724) 2026-09-11 09:53:37 -07:00
proxy feat(opencode): add opencode_go and opencode_zen first-class providers 2026-09-12 19:06:07 -07:00
proxy_auth
rag chore: merge origin/litellm_internal_staging into litellm_decrease_anys_opus5_r4 2026-09-04 18:59:35 -07:00
realtime_api refactor(realtime): move Meta Muse Voice onto BaseRealtimeConfig 2026-09-11 20:12:15 -07:00
repositories feat(auto-router): show routed model and savings in Claude Code and Codex (#40330) 2026-09-11 12:52:42 -07:00
rerank_api fix(rerank): adopt declared authenticating providers in arerank instead of resolving them 2026-09-01 14:47:59 -07:00
responses fix(responses): carry the reasoning summary as an alias, not inside reasoning_effort 2026-09-12 17:49:30 -07:00
router_strategy fix(router): fall back from unhealthy auto-router tier (#40757) 2026-09-11 11:51:55 -07:00
router_utils feat(proxy): expose complexity routing headers (#40792) 2026-09-11 17:14:40 -07:00
rust_bridge refactor(ocr): complete native lifecycle and preserve Azure auth (#40734) 2026-09-12 11:56:49 -07:00
sandbox
search fix(search): forward search-tool params through the router, complete Parallel AI v1 param mapping (#37883) 2026-09-01 21:46:46 -07:00
secret_managers feat(secret_managers): support customer-managed KMS key for virtual keys stored in AWS Secrets Manager (#40475) 2026-09-11 09:54:08 -07:00
skills feat(skills): semantic search over the LiteLLM-hosted skill registry (#39401) 2026-09-07 12:28:38 -07:00
types feat(opencode): add opencode_go and opencode_zen first-class providers 2026-09-12 19:06:07 -07:00
vector_store_files refactor(typing): replace Any with proven types in 42 more backend files 2026-09-02 15:35:01 +00:00
vector_stores Merge remote-tracking branch 'origin/litellm_internal_staging' into litellm_python_version_ci 2026-09-03 00:16:19 -07:00
videos refactor(videos): make video upload param keyword-only on public edit fns 2026-08-24 15:55:07 -07:00
__init__.py feat(opencode): add opencode_go and opencode_zen first-class providers 2026-09-12 19:06:07 -07:00
_internal_context.py fix(proxy): price one cost estimate at one moment 2026-09-07 18:38:12 -07:00
_lazy_imports.py fix(lazy_imports): type import_map as Mapping to stay under the LIT001 budget 2026-09-05 16:12:45 -07:00
_lazy_imports_registry.py feat(opencode): add opencode_go and opencode_zen first-class providers 2026-09-12 19:06:07 -07:00
_logging.py fix(proxy): stop leaking internal exception details to clients (#39380) 2026-09-02 17:32:00 -07:00
_redis.py fix(redis): accept every truthy flag and sign serverless ElastiCache caches 2026-09-10 10:13:03 -04:00
_redis_credential_provider.py fix(redis): accept every truthy flag and sign serverless ElastiCache caches 2026-09-10 10:13:03 -04:00
_service_logger.py chore: merge origin/litellm_internal_staging into litellm_decrease_anys_opus5_r4 2026-09-04 18:59:35 -07:00
_uuid.py
_version.py
anthropic_beta_headers_config.json
anthropic_beta_headers_manager.py
blog_posts.json
budget_manager.py
constants.py feat(opencode): add opencode_go and opencode_zen first-class providers 2026-09-12 19:06:07 -07:00
cost.json
cost_calculator.py chore(cost): drop the section header comment above custom_model_info 2026-09-10 18:10:34 -07:00
exceptions.py Merge pull request #39516 from BerriAI/litellm_vector_store_surface_retrieval_failure 2026-09-11 11:46:42 -07:00
main.py fix(opencode): send x-opencode-session on every Go request 2026-09-12 19:06:07 -07:00
model_prices_and_context_window_backup.json feat(opencode): add opencode_go and opencode_zen first-class providers 2026-09-12 19:06:07 -07:00
policy_templates_backup.json
provider_endpoints_support_backup.json fix(ocr): send each provider a health-check document it accepts 2026-09-04 22:52:12 -07:00
py.typed
router.py feat(proxy): expose complexity routing headers (#40792) 2026-09-11 17:14:40 -07:00
scheduler.py
setup_wizard.py feat(models): add Claude Fable 5.1 across Anthropic, Bedrock, Vertex AI, and Azure AI 2026-09-01 18:07:06 +00:00
timeout.py
utils.py feat(opencode): add opencode_go and opencode_zen first-class providers 2026-09-12 19:06:07 -07:00