[BUG] Can't run puppeteer: Permission denied (1100)
Resolved 💬 3 comments Opened Dec 20, 2025 by vjeux Closed Feb 14, 2026
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
I want to run puppeteer to have Claude test the website I'm building. Running it on the command line works just fine but running it in Claude triggers a permission error.
I found the same issue on Codex by @YusukeIwaki which also is an issue in Claude: https://github.com/openai/codex/issues/8011
What Should Happen?
$ node test1.mjs
Title: test
Error Messages/Logs
⏺ Bash(node test1.mjs)
⎿ Error: Exit code 1
file:///Users/vjeux/random/motion-renderer/node_modules/@puppeteer/browsers/lib/esm/launch.js:329
reject(new Error([
^
Error: Failed to launch the browser process: Code: null
stderr:
[1220/154016.526456:ERROR:third_party/crashpad/crashpad/util/mach/bootstrap.cc:65] bootstrap_check_in org.chromium.crashpad.child_port_handshake.44005.40869916.BVGXFCNPONTRBMEV: Permission denied (1100)
[1220/154016.526956:ERROR:third_party/crashpad/crashpad/util/file/file_io.cc:103] ReadExactly: expected 4, observed 0
Steps to Reproduce
Create a Node project and install puppeteer-core:
npm init -y
npm i puppeteer-core@24.33.0
Create test1.mjs:
import puppeteer from 'puppeteer-core';
(async () => {
const browser = await puppeteer.launch({ channel: 'chrome', headless: true });
const page = await browser.newPage();
await page.setContent('<title>test</title>');
console.log(`Title: ${await page.title()}`);
await browser.close();
})();
Start claude in the directory.
Ask it for the following:
Run: node test1.mjs
Claude Model
None
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.0.61 (Claude Code)
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
_No response_
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗