diff --git a/litellm/router.py b/litellm/router.py index a98631b7f97..c18dfea1a36 100644 --- a/litellm/router.py +++ b/litellm/router.py @@ -13716,8 +13716,6 @@ class Router: self._stamp_or_clear_metadata_key(request_kwargs, "model_group", bound_model) return bound_registered_model - if self._request_header(request_kwargs, "x-app") != "cli": - return registered_model_name if self._select_pre_routing_strategy(registered_model_name, request_kwargs) is None: return registered_model_name await self._claude_code_session_router_cache.async_set_cache( diff --git a/tests/unit/test_router/test_router.py b/tests/unit/test_router/test_router.py index d4f9924dd13..0aedfce3598 100644 --- a/tests/unit/test_router/test_router.py +++ b/tests/unit/test_router/test_router.py @@ -11515,15 +11515,16 @@ class TestClaudeCodeSubagentSessionRouterBinding: } @pytest.mark.asyncio - async def test_subagent_concrete_model_uses_the_main_sessions_router(self): + @pytest.mark.parametrize("app", ["cli", "cli-bg"]) + async def test_subagent_concrete_model_uses_the_main_sessions_router(self, app): router = self._router() await router.acompletion( model="smart-router", messages=[{"role": "user", "content": "main turn"}], - **self._request_kwargs(), + **self._request_kwargs(app=app), ) - subagent_kwargs = self._request_kwargs(agent_id="agent-1234") + subagent_kwargs = self._request_kwargs(app=app, agent_id="agent-1234") response = await router.acompletion( model="expensive-model",