Skip to content

Use mock keychain on macOS to suppress Safe Storage dialog#17

Merged
danipen merged 1 commit into
mainfrom
fix-macos-keychain-dialog
Jun 3, 2026
Merged

Use mock keychain on macOS to suppress Safe Storage dialog#17
danipen merged 1 commit into
mainfrom
fix-macos-keychain-dialog

Conversation

@danipen

@danipen danipen commented Jun 3, 2026

Copy link
Copy Markdown
Owner

Summary

On macOS, the password-store=basic switch is a no-op — Chromium's OSCrypt always uses the Keychain there regardless of the flag. That's why the "GitGrove wants to use your confidential information" / Safe Storage password dialog kept appearing on every launch of ad-hoc-signed builds (each version gets a fresh code signature, so the keychain ACL never matches and the grant can't persist).

This adds use-mock-keychain on darwin, which makes OSCrypt use an in-process mock keychain and never touch the real one. Verified: with it set, the "GitGrove Safe Storage" Keychain entry is no longer created or read.

GitGrove keeps no secrets (recents are plaintext JSON), so opting out of the OS secret store is safe.

Changes

  • Add use-mock-keychain switch when process.platform === 'darwin'.
  • Expand the comment to explain why both flags are needed and which platform each covers.

🤖 Generated with Claude Code

The `password-store=basic` switch is a no-op on macOS — OSCrypt always
uses the Keychain there regardless of the flag, so the "GitGrove Safe
Storage" password dialog kept appearing on ad-hoc-signed builds.

Add `use-mock-keychain` on darwin so OSCrypt uses an in-process mock
keychain and never touches the real one. GitGrove keeps no secrets
(recents are plaintext JSON), so this is safe.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@danipen danipen merged commit a8cbcfd into main Jun 3, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant