-
Couldn't load subscription status.
- Fork 715
Description
Version
0.16.10
Operating System
macOS
Distribution Method
dmg (Mac OS - Apple Silicon)
Describe the issue
When setting up a GitLab Forge for one project and configuring its token, then switching to another project, GitButler creates another new keychain entry for the switched project that stores the same token as the previous one, even if this project hasn't configured a Forge yet.
At first, I thought this might be a convenient design choice — automatically reusing an existing token to avoid re-entering it sounds reasonable. However, I later realized this is likely a token reuse bug.
Changing the token for one project causes all other projects' corresponding GitLab tokens to change as well, which doesn't make sense when different projects may use different GitLab instance URLs or accounts.
The video showing the reproduction steps is attached below: both demo1 and demo2 projects were removed and re-added before testing.
This bug doesn't just affect two projects — as long as one GitLab Forge is configured, the token eventually spreads to all projects in the list, generating multiple duplicate keychain entries.
Additionally, deleting a GitLab token results in a flood of "No matching entry found in secure storage" errors.
This issue also occurs in the latest nightly build.
How to reproduce (Optional)
Screen.Recording.2025-10-23.at.02.49.32.mov
Expected behavior (Optional)
No response