When multiple cursor ides/sessions are open & when using the BYOK - example opus/sonnet works but every time the chat starts the Override OpenAI Base url turns ON and you have manually turn it off every time.
If you decide to the delete the url from the openai base url, then the errors occur that the model is not available.
In case only 1 session/ide is open - this issue is not present.
Steps to Reproduce
Run BYOK setup in multiple editors at the same
Expected Behavior
For each session/ide open to have it’s own copy of the BYOK and a default configuration.
Operating System
MacOS
Current Cursor Version (Menu → About Cursor → Copy)
Hey, thanks for the report. It seems the issue is with state synchronization between windows. When new Cursor windows open, they temporarily store configuration in memory, which causes conflicts and incorrect initialization of BYOK parameters.
This is a known architectural limitation - full isolation of configuration per window is not implemented yet.
Current recommendations:
Open new sessions with some delay (not simultaneously) to avoid race conditions
Use a single Cursor window with multiple workspaces/folders instead of many windows
After opening each new window, check the BYOK settings before starting work
This has been passed to the engineers as a task for future versions - to implement full configuration separation per window or improve state synchronization.
What’s stopping cursor from reading/moving the BYOK setup in a global json + project json of sorts to act as a single state & extendable state? @deanrie that way it shouldn’t be tied to vscode/have arch limits - no?
global json + .cursor/byok.json that overrides, very similar how .vscode/settings.json and settings in general work? + it’s up to the users to manage it
Good idea with global JSON .cursor/byok.json for overrides. This could solve the sync issue without tying it to architecture.
I’ll pass it to the engineers as a suggestion - sounds like an elegant solution for BYOK in multi-window scenarios. Similar to .vscode/settings.json where global settings merge with local ones.