litellm/tests/unit
rj-cairn 295d79fc7d
feat(cli): keep the ChatGPT login with lite codex --subscription (#48741)
* feat(cli): keep the ChatGPT login with lite codex --subscription

`lite codex --subscription` points Codex at a `litellm_subscription` provider with requires_openai_auth on and no env_key, so Codex keeps its own ChatGPT login and the LiteLLM key is sent only in the x-litellm-api-key header from LITELLM_PROXY_API_KEY. OPENAI_API_KEY is left exactly as the user had it, and the pre-launch key check sends the key the same way

`codex_subscription` is a new `lite config` key that turns the flag on by default, like `claude_subscription` does for `lite claude`. The Claude `--settings` overlay now applies to Claude Code only

* fix(cli): leave the Codex Stop hook out of subscription launches and load tomli on Python 3.10

* fix(cli): leave OPENAI_BASE_URL as the user had it with lite codex --subscription

* fix(cli): give lite codex --subscription its own Codex provider id

* test(cli): type the Codex config override helpers

* fix(cli): leave the Codex model list to Codex in subscription mode

---------

Co-authored-by: mateo-berri <277851410+mateo-berri@users.noreply.github.com>
2026-10-28 05:36:26 -07:00
..
a2a_protocol refactor(typing): clear 1181 basedpyright Any errors across 431 files (#47789) 2026-10-24 11:31:09 -07:00
anthropic_interface
batch_completion
batches
caching fix(aiohttp_transport): close an owned aiohttp session when its transport is collected (#48650) 2026-10-27 20:33:03 +00:00
completion_extras
compression
containers refactor(typing): clear 1181 basedpyright Any errors across 431 files (#47789) 2026-10-24 11:31:09 -07:00
db_scripts
decisions feat(hosted_vllm): accept images on decision deployments (#48621) 2026-10-27 12:43:36 -07:00
endpoints
enterprise feat(proxy): per-provider and per-model rpm/tpm requirements for enforce_project_model_quota (#47693) 2026-10-28 05:24:41 -07:00
expected_fine_tuning_api
expected_responses_api_request
experimental_mcp_client fix(mcp): load deprecated package aliases on demand (#48615) 2026-10-27 19:46:19 +00:00
extraction
files
fine_tuning
fixtures
gateway
google_genai fix: preserve media across Responses and Gemini conversions (#48484) 2026-10-27 18:07:10 -07:00
harness
images fix(chatgpt): forward client credentials for image generation (#48522) 2026-10-26 19:37:14 -07:00
integration_support
integrations fix(langfuse otel): emit request metadata under langfuse.observation.metadata and langfuse.trace.metadata on the OTEL v2 Langfuse mapper (#42697) 2026-10-27 18:54:10 -07:00
interactions
litellm_core_utils refactor(fallback-generalizations)!: remove the legacy extends and mixed-rule shim (#48737) 2026-10-28 05:17:28 -07:00
litellm_proxy_extras refactor(proxy-extras): drop the spend-log api_key special case from the row check remedy (#48636) 2026-10-27 20:53:23 +00:00
llms fix(streaming): exact-match the SSE [DONE] marker in BaseModelResponseIterator (#47832) 2026-10-28 05:21:31 -07:00
mcp_client refactor(mcp): drop the experimental label from the MCP server and client paths (#48513) 2026-10-27 17:47:50 +00:00
models
ocr
passthrough
proxy feat(cli): keep the ChatGPT login with lite codex --subscription (#48741) 2026-10-28 05:36:26 -07:00
rag
realtime_api
repositories fix(proxy): reconcile team member total_spend with current cycle spend (#48260) 2026-10-24 17:57:09 -07:00
rerank_api
responses fix(responses): keep every MCP tool round in streaming follow-up input (#47698) 2026-10-28 00:51:10 -07:00
router_strategy fix(router): keep session tier pins coherent across workers (#48645) 2026-10-27 18:22:39 -07:00
router_utils fix(router): continue Responses mid-stream fallbacks on models without assistant prefill (#47672) 2026-10-28 04:34:40 -07:00
rust_bridge refactor(anthropic): rename llms/anthropic/pass_through to llms/anthropic/messages (#48510) 2026-10-27 10:08:25 -07:00
sandbox
search
secret_managers fix(vertex_ai): bound shared credential cache retention (#48442) 2026-10-26 12:56:13 -07:00
skills
systemone fix(databricks): reuse base OAuth for decisions (#48395) (#48527) 2026-10-26 20:18:16 -07:00
telemetry
test_router fix(router): continue Responses mid-stream fallbacks on models without assistant prefill (#47672) 2026-10-28 04:34:40 -07:00
text_completions
tracing
types fix(responses): preserve typed parts when logprobs is omitted (#48686) 2026-10-27 18:33:39 -07:00
vector_stores
videos
__init__.py
AGENTS.md
conftest.py
create_mock_standard_logging_payload.py
test_a2a_registry_lookup.py
test_acompletion_session_reuse_e2e.py
test_add_deployment_no_master_key.py
test_aembedding_session_reuse_e2e.py
test_anthropic_beta_headers_filtering.py
test_anthropic_skills_transformation.py
test_assert_ci_coverage.py
test_assert_workflow_dir_hygiene.py
test_audio_transcription_rust_bridge.py
test_azure_ad_token_credential_resolution.py
test_azure_ai_grok_4_3_model_metadata.py
test_azure_ai_grok_4_6_model_metadata.py
test_baseten_glm_5_3_model_metadata.py
test_batch_completion_models_all_responses.py
test_bedrock_marengo_embed_3_model_metadata.py
test_build_core_distribution.py
test_cerebras_llama_model_metadata.py feat(models): add Cerebras Llama 3.1 hyphenated aliases (cerebras/llama-3.1-8b, cerebras/llama-3.1-70b) (#48157) (#48158) 2026-10-24 17:16:33 -07:00
test_chat_ui_responses_session.py
test_check_licenses.py
test_check_mcp_operation_boundary.py refactor(mcp): drop the experimental label from the MCP server and client paths (#48513) 2026-10-27 17:47:50 +00:00
test_check_migrations_lock_timeout.py
test_check_migrations_no_data_rewrites.py
test_check_openapi_docs.py
test_check_py310_typing_imports.py
test_check_test_quality.py
test_check_type_discipline.py
test_check_unbounded_in_lists.py
test_check_windows_wheel_install.py
test_circleci_path_filter.py refactor(mcp): drop the experimental label from the MCP server and client paths (#48513) 2026-10-27 17:47:50 +00:00
test_circleci_run_migration_tests.py
test_circleci_rust_toolchain.py
test_claude_fable_5_config.py
test_claude_haiku_5_5_config.py
test_claude_opus_4_6_config.py
test_claude_opus_4_8_config.py
test_claude_opus_5_config.py
test_claude_sonnet_5_config.py
test_cloudflare_workers_ai_model_metadata.py
test_completion_timeout_resolution.py
test_component_entrypoint.py
test_compression.py
test_conftest_isolation.py
test_constants.py
test_container_router.py
test_cost_calculation_log_level.py
test_cost_calculator.py test(cost): cover unpriced provider slugs and explicit zero rates (#42467) 2026-10-27 18:00:40 -07:00
test_cost_map_guard.py
test_count_tokens_public_api.py
test_dashscope_image_generation.py
test_daybreak_model_metadata.py
test_deepseek_model_metadata.py
test_default_branch.py
test_detect_changes.py
test_docker_no_network_on_deploy.py
test_dockerfile_apk_repository.py
test_dockerfile_bedrock_realtime_extra.py
test_dockerfile_non_root.py
test_drop_params_env_var.py
test_e2e_egress_sentinel.py
test_eager_tiktoken_load.py
test_elevenlabs_tts_pricing.py
test_empty_mock_response.py fix: honor empty mock completion responses (#48162) (#48266) 2026-10-28 00:56:45 +00:00
test_env_key_doc_gate.py
test_exception_exports.py
test_exception_header_preservation.py
test_exception_mapping_request_attribute.py
test_fake_openai_endpoint.py
test_filter_out_litellm_params.py
test_fireworks_serverless_model_costs.py
test_gate_slot_lock.py
test_gemini_3_1_flash_lite_image_pricing.py
test_gemini_4_argon_model_metadata.py
test_gemini_tts_native_audio_pricing.py
test_get_blog_posts.py
test_git_hooks.py
test_gpt_5_4_model_metadata.py
test_gpt_5_5_model_metadata.py
test_gpt_image_cost_calculator.py
test_gpt_realtime_mode.py
test_groq_streaming_encoding.py
test_guardrail_exception_status_codes.py
test_integration_run.py
test_internal_context.py refactor(mcp): drop the experimental label from the MCP server and client paths (#48513) 2026-10-27 17:47:50 +00:00
test_lazy_imports.py
test_lint_base_counts.py
test_lint_workflow_diff_gates.py
test_litellm_cli.py
test_litellm_overhead.py
test_litellm_params_reserved_keys.py
test_logging.py fix(proxy): keep every startup line JSON when json_logs is on (#47035) 2026-10-27 14:49:07 -07:00
test_lowest_latency_zero_tokens.py
test_main.py fix(bedrock): retry without strict when Bedrock rejects strict tool schemas under drop_params (#48733) 2026-10-28 04:04:39 -07:00
test_main_module_header.py
test_mistral_large_4_model_metadata.py
test_mistral_medium_3_5_model_metadata.py
test_mistral_small_4_0_model_metadata.py
test_mistral_zai_glm_5_2_model_metadata.py
test_model_block_unblock.py
test_model_cost_aliases.py
test_model_param_helper.py
test_model_prices_and_context_window.py fix(cost-map): drop the gpt-5-nano priority input price OpenAI does not sell (#48763) 2026-10-28 03:01:40 -07:00
test_model_response_normalization.py
test_muse_spark_1_1_model_metadata.py
test_muse_spark_1_2_model_metadata.py
test_muse_spark_1_3_model_metadata.py
test_mutation_report.py
test_nested_drop_params.py
test_no_top_level_test_invocations.py
test_non_chat_routes_open_llm_spans.py
test_openai_embedding_encoding_format_default.py
test_openai_record_replay_proxy.py
test_openai_service_tier_long_context_pricing.py
test_openapi_docs_gate.py
test_package_layout.py
test_package_metadata.py
test_pre_commit_lint.py
test_prisma_generate_if_needed.py
test_private_usage_aliases.py refactor(mcp): drop the experimental label from the MCP server and client paths (#48513) 2026-10-27 17:47:50 +00:00
test_process_helpers.py
test_project_alias_tracking.py
test_project_tags_pydantic.py
test_proxy_auth.py
test_pydantic_namespaces.py
test_rag_openai_ingestion.py
test_rate_limit_error_unification.py
test_read_rc_version.py
test_redact_string_in_error_paths.py
test_redis.py
test_redis_credential_provider.py
test_register_model_custom_pricing.py
test_register_model_zero_cost_persistence.py
test_replicate_model_key_format.py
test_responses_api_bridge_non_stream.py
test_responses_id_security.py
test_responses_streaming_container_ownership.py
test_retrieve_batch_bedrock_dispatch.py
test_router_block_helpers.py
test_router_exception_redaction.py
test_router_get_settings.py
test_router_google_genai.py
test_router_model_cost_isolation.py fix(router): keep DB-only deployments priced across price data reloads (#48486) 2026-10-26 17:17:52 -07:00
test_router_order_fallback.py
test_router_per_deployment_num_retries.py
test_router_redis_init.py
test_router_retry_backoff_headers.py
test_router_retry_non_retryable_errors.py
test_router_retry_policy_update.py
test_router_silent_experiment.py
test_router_streaming_fallback_metadata.py
test_router_weighted_failover.py fix(router): let affinity pins yield to deployments that already failed this request (#32309) 2026-10-28 03:24:26 -07:00
test_ruff_strict_gate.py
test_sambanova_model_metadata.py
test_scaledown_model_prices.py
test_scheduler.py
test_secret_redaction.py
test_seed_tracing_fixtures.py
test_select_ui_test_scope.py
test_service_logger.py
test_setup_wizard.py
test_shared_session_integration.py
test_socket_policy.py
test_spend_logs_guard.py ci: spend-logs-guard requires kerry-berri approval on LiteLLM_SpendLogs schema and migration changes (#48518) 2026-10-27 12:49:23 -07:00
test_ssl_verify_unit.py
test_stream_chunk_builder_annotations.py
test_stream_chunk_builder_citations.py
test_stream_chunk_builder_images.py
test_streaming_connection_cleanup.py
test_system_message_format_bug.py
test_test_quality_gate.py
test_thinking_enabled.py
test_together_ai_model_metadata.py refactor(cost-map): drop the legacy max_tokens field in favor of max_input_tokens and max_output_tokens (#48471) 2026-10-26 17:03:05 -07:00
test_tool_loop.py
test_type_check_gate.py
test_type_discipline_gate.py
test_typesafe_model_metadata.py
test_unit_shard_missing_paths.py
test_unit_shard_per_test_timeout.py
test_utils.py refactor(llms): rename model-version transformation files to family names (#48509) 2026-10-26 18:53:16 -07:00
test_utils_get_model_info.py fix(bedrock): price claude_platform calls from their own cost map rows (#48150) 2026-10-24 13:54:18 -07:00
test_utils_get_optional_params.py
test_utils_module_docstring.py
test_uuid_helper.py fix: support Python 3.15 (#48359) 2026-10-26 16:00:11 +00:00
test_vcr_classification.py
test_vcr_conftest_common_banner.py
test_vcr_filters.py
test_vcr_leak_guard.py
test_vcr_redis_persister.py
test_vcr_safe_body_matcher.py
test_version.py
test_vertex_ai_xai_grok_prompt_caching_metadata.py
test_video_generation.py
test_with_dashboard_node.py
test_ws_vcr.py
test_xai_grok_4_3_model_metadata.py
test_xai_responses_auto_routing.py