Hi, I tried to host n8n8 locally in my Docker and added Pupeteer-based step in my workflow. But every time I try to run this step I get this error
*
Problem in node ‘Puppeteer Enhanced‘*
Failed to launch local browser: Could not find Chrome (ver. 148.0.7778.97). This can occur if either 1. you did not perform an installation before running the script (e.g. npx puppeteer browsers install chrome) or 2. your cache path is incorrectly configured (which is: /home/node/.cache/puppeteer). For (2), check out our guide on configuring puppeteer at Configuration | Puppeteer.. Check executablePath (‘auto-detect’) or ensure Chromium is installed.
At the same time the log for my Docker container shows this output
n8n-main | Puppeteer node: Launching local browser
n8n-main | Error
n8n-main | Error
n8n-main | at ExecuteContext.execute (/home/node/.n8n/nodes/node_modules/@wtyeung/n8n-nodes-puppeteer/nodes/Puppeteer/Puppeteer.node.ts:746:10)
n8n-main | at WorkflowExecute.executeNode (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+exporter-trace-otlp_cf5896492347c4895f0373f4acc773d7/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1053:8)
n8n-main | at WorkflowExecute.runNode (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+exporter-trace-otlp_cf5896492347c4895f0373f4acc773d7/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1327:11)
n8n-main | at /usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+exporter-trace-otlp_cf5896492347c4895f0373f4acc773d7/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1778:27
n8n-main | at /usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+exporter-trace-otlp_cf5896492347c4895f0373f4acc773d7/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:2474:11
n8n-main |
Can you check whether that binary actually exists inside the container?
docker exec -it <container> which chromium
docker exec -it <container> which google-chrome-stable
If only Chromium is present, try changing:
ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium
and rebuild the image.
The error message suggests Puppeteer is trying to find a specific Chrome version in its cache rather than using the system installed browser, so it would also be useful to know which settings you’re using in the Puppeteer node (especially the Browser Type and Executable Path settings). Hey @Jekylls
Microsoft Windows [Version 10.0.19045.6456]
(c) Microsoft Corporation. All rights reserved.
C:\Users\jima>docker exec -it n8n-main which chromium
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug n8n-main
Learn more at
C:\Users\jima>docker exec -it n8n-main which google-chrome-stable
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug n8n-main
Learn more at
C:\Users\jima>
The fact that both commands return nothing is a bit… It suggests either:
The image currently running in n8n-main was built before Chromium was added to the Dockerfile, or
Chromium was not installed successfully during the image build.
Could you run:
docker exec -it n8n-main sh
and then inside the container:
chromium --version
ls -l /usr/bin/chrom*
env | grep PUPPETEER
Also, after updating the Dockerfile, did you rebuild the image with docker compose build --no-cache (or equivalent) and recreate the container?
Right now the Puppeteer error says it can’t find Chrome 148 in its cache, but the checks above suggest the container may not actually have a browser binary available on the PATH at runtime.
time=“2026-06-22T18:45:40+03:00” level=warning msg=“No services to build”
This means your docker-n8n-3.yml compose file has no build: directive, so Docker never actually used your Dockerfile. It’s just pulling the stock n8n image from Docker Hub, which has no Chrome in it.
To fix it, open docker-n8n-3.yml and update your n8n service to point at your Dockerfile:
services:
n8n:
build:
context: .
dockerfile: Dockerfile # or whatever you named it
After that, re-run the chromium --version check and it should be found. Also make sure PUPPETEER_EXECUTABLE_PATH is set to /usr/bin/chromium (not google-chrome-stable) since that’s what you’re actually installing.