fix(mac-compat): bypass keyring auth check hang and link macOS Library/Keychains to isolated home

This commit is contained in:
2026-07-18 23:23:40 +09:00
parent fc24af4683
commit 36b3910ff2
2 changed files with 12 additions and 1 deletions
+8
View File
@@ -838,6 +838,14 @@ provision_isolation() {
for f in antigravity-oauth-token installation_id settings.json; do
if [ -e "$HOME/.gemini/antigravity-cli/$f" ]; then ln -sfn "$HOME/.gemini/antigravity-cli/$f" "$root/.gemini/antigravity-cli/$f"; seeded="${seeded:+$seeded,}.gemini/antigravity-cli/$f"; fi
done
# On macOS, seed ~/Library/Keychains to allow isolated agy to query Keychain Access credentials
if [ "$(uname)" = "Darwin" ]; then
mkdir -p "$root/Library"
if [ -d "$HOME/Library/Keychains" ]; then
ln -sfn "$HOME/Library/Keychains" "$root/Library/Keychains"
seeded="${seeded:+$seeded,}Library/Keychains"
fi
fi
;;
hermes)
mkdir -p "$root/.hermes"
@@ -89,7 +89,10 @@ if [ "$AGENT" = "claude" ]; then
exit 1
fi
elif [ "$AGENT" = "agy" ]; then
if ! agy models >/dev/null 2>&1; then
# Fast, non-blocking check: if token or credentials exist on disk, assume authenticated to prevent keyring hang
if [ -f "$HOME/.gemini/oauth_creds.json" ] || [ -f "$HOME/.gemini/antigravity-cli/antigravity-oauth-token" ]; then
true
elif ! agy models >/dev/null 2>&1; then
echo "ERROR: agy is not authenticated. Please log in first." >&2
exit 1
fi