Claude for Chrome extension triggers repeated macOS Gatekeeper warnings for .node files

Resolved 💬 6 comments Opened Dec 20, 2025 by BaruchEric Closed Feb 14, 2026

Description

When enabling the Claude for Chrome extension (v1.0.36), macOS Gatekeeper repeatedly blocks dynamically extracted .node files with warnings like:

".7fd3df5f3ffdfd77-00000000.node" Not Opened Apple could not verify ".7fd3df5f3ffdfd77-00000000.node" is free of malware that may harm your Mac or compromise your privacy.

Environment

  • macOS: Darwin 25.3.0 (Sequoia)
  • Chrome Extension: Claude for Chrome (Beta) v1.0.36
  • Extension ID: fcoeoabgfenejglbffodgkkbkcdhcgfn
  • Claude Code CLI: 2.0.74
  • Architecture: Apple Silicon (arm64)

Steps to Reproduce

  1. Install Claude Code CLI
  2. Install Claude for Chrome extension from Chrome Web Store
  3. Enable the extension
  4. Gatekeeper warning popup appears immediately

Behavior

  • The .node filename has a different hash each time (e.g., .7fd3df7f1bf9ba2f-00000000.node, .7fd3df5f3ffdfd77-00000000.node)
  • Clicking "Done" and then "Allow Anyway" in System Settings → Privacy & Security does not persist
  • The warning reappears with a new hash on each attempt (tested 10+ times)
  • The native host works correctly when run from Terminal directly

Root Cause Analysis

The native messaging host at ~/.claude/chrome/chrome-native-host executes the Claude Code binary with --chrome-native-host flag. The binary appears to extract native .node modules at runtime (likely from a pkg/nexe bundle), and these extracted files:

  1. Have dynamically generated filenames with unique hashes
  2. Are not code-signed
  3. Trigger Gatekeeper on each extraction

The main Claude Code binary is properly signed by Anthropic (Developer ID Application: Anthropic PBC), but the extracted .node files are not.

Attempted Workarounds (None Worked)

  • Clearing quarantine attributes (xattr -rd com.apple.quarantine) from all Claude directories
  • Clearing quarantine from /var/folders temp directories
  • Ad-hoc code signing the binary
  • Reinstalling Claude Code
  • Repeatedly clicking "Allow Anyway" in System Settings (10+ times)

Expected Behavior

The Claude for Chrome extension should work without triggering Gatekeeper warnings, similar to how the CLI works when run from Terminal.

Suggested Fix

  1. Pre-sign the native .node modules that get extracted at runtime, OR
  2. Use a bundling approach that embeds native modules without runtime extraction, OR
  3. Extract to a consistent location that can be pre-approved

---
🤖 Generated with Claude Code

View original on GitHub ↗

This issue has 6 comments on GitHub. Read the full discussion on GitHub ↗