Hey, thanks for the detailed report with screenshots. I can see the config with Override OpenAI Base URL set to LiteLLM, the 403 Forbidden error, and the gpt-5.5 name collision. A few things are going on here.
The name gpt-5.5 (and anything that contains gpt-5.5) can’t be used as a custom model name. It matches the built-in one and triggers server-side GPT-5.5 routing. That routing only works with the Responses API format (input), not the usual /v1/chat/completions. Because of that, the request to your LiteLLM gets sent in a format that its route may not accept.
Use gpt-5.4 via BYOK, confirmed to work with a custom endpoint.
Use gpt-5.5 without Override Base URL, use Cursor’s native routing.
If you really need your own backend for 5.5, pick a custom model name that does NOT include gpt-5.5 like gpt-55-high and map that same name in your LiteLLM config. Then the request should go to the proxy.
The 403 Forbidden in your case is coming from LiteLLM passthrough, so the request does reach the proxy. Check its access logs. Is the model registered on the proxy, does the virtual key have access to it, and does the /cursor route accept a Responses API payload with input. It’s most likely one of those.
Let me know what the LiteLLM logs show. That’ll make it clearer where it’s failing.