From 456ad503d1fcae279a8b8639de55ecabe087729e Mon Sep 17 00:00:00 2001 From: Julio Quinteros Pro Date: Sat, 28 Feb 2026 14:48:54 -0300 Subject: [PATCH] fix(mcp): set LITELLM_MASTER_KEY env var in e2e tests to prevent lifespan reset MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The FastAPI lifespan event (proxy_startup_event) re-reads master_key from the LITELLM_MASTER_KEY env var, overriding whatever initialize() set from the YAML config. Without this env var, master_key becomes None, causing all users to be treated as INTERNAL_USER with no MCP server access — resulting in "User not allowed to call this tool" errors. Closes #22330 Co-Authored-By: Claude Opus 4.6 --- tests/mcp_tests/test_proxy_mcp_e2e.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/mcp_tests/test_proxy_mcp_e2e.py b/tests/mcp_tests/test_proxy_mcp_e2e.py index 5aff63a51ef..8287ee4a7ae 100644 --- a/tests/mcp_tests/test_proxy_mcp_e2e.py +++ b/tests/mcp_tests/test_proxy_mcp_e2e.py @@ -35,6 +35,10 @@ def _clear_proxy_database_env() -> typing.Iterator[None]: """Ensure local proxy DB settings don't leak into tests.""" mp = pytest.MonkeyPatch() mp.delenv("DATABASE_URL", raising=False) + # The FastAPI lifespan event (proxy_startup_event) re-reads master_key from + # the LITELLM_MASTER_KEY env var, overriding whatever initialize() set from + # the config file. We must set it here so the lifespan doesn't reset it to None. + mp.setenv("LITELLM_MASTER_KEY", "sk-1234") try: yield finally: