fix: keep companion sessions by not mocking the macOS keychain#46
Merged
Conversation
Copying the profile carried the cookies over but they came up logged-out: Playwright launches Chrome with --use-mock-keychain by default, which on macOS hands Chrome a mock encryption key. The profile's cookies were encrypted with the real "Chrome Safe Storage" keychain key, so Chrome can't decrypt them and every site looks signed-out. Drop --use-mock-keychain from the persistent launch (copy and --live) so Chrome uses the real keychain and the user's sessions actually carry over.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The profile copy carried cookies over, but sites came up logged-out.
Playwright launches Chrome with
--use-mock-keychainby default. On macOS that hands Chrome a mock encryption key, but the profile's cookies were encrypted with the real Chrome Safe Storage keychain key — so Chrome can't decrypt them and every site looks signed-out. (Same reason--livewould have looked logged-out too.)Fix
Drop
--use-mock-keychainfrom the persistent launch (both the default copy mode and--live) viaignoreDefaultArgs, so Chrome uses the real keychain and the user's sessions decrypt.Testing
tsc+ build clean. Needs a real on-machine check — runzero browser connectand confirm a site you're logged into (e.g. Gmail) shows signed-in. macOS may show a one-time keychain prompt for "Chrome Safe Storage" — Always Allow.🤖 Generated with Claude Code