I use docker as a desktop environment and it works on zed and windsurf without any issues as I use a fixed mounted home-dir per app.
it was also correctly working using cursor but since some update I need to login myself each time I open cursor (and it loses my setting for the UI-design in cursor too) I still have all my other data correctly like my ssh keys to the servers, which are exclusive to this docker-container keep working. (they are also just saved in this mounted per-app home)
Steps to Reproduce
use cursor in docker (mounted home) → close docker → reopen → login request appears again.
Hey, this isn’t really a Cursor bug. In a Docker container you usually don’t have D-Bus and a keyring daemon like gnome-keyring or kdewallet, which Electron uses to persist secrets via safeStorage. When the keyring isn’t available, tokens are only stored in memory and get lost when the container restarts. SSH keys survive restarts because they’re just files in your mounted home, but login tokens go through secret storage.
Workaround: start Cursor with --password-store=basic. This switches Electron to a simple mode and writes secrets to disk in your mounted home, so your login will survive container restarts.
Two options:
Add the flag to your launch command:
cursor --password-store=basic
Or set it in ~/.config/Cursor/argv.json:
{
"password-store": "basic"
}
Security note: basic is not real encryption, it’s just obfuscation. Secrets on disk are basically plaintext. This is fine for a local dev container, but don’t use this on shared or production machines.
About UI settings getting reset, that’s probably separate. VS Code and Cursor store settings in the user data directory at ~/.config/Cursor/User/. Make sure this path is also inside your mounted home and isn’t wiped when the container is recreated. If you want to pin it explicitly, you can add --user-data-dir=/path/in/mounted/home.