Free tools Windows power users keep installed
One-click scans. No signup required.
To disable Puppeteer’s emulated Bluetooth adapter, call await page.bluetooth.disableEmulation(). This affects Bluetooth emulation, not the computer’s physical Bluetooth radio. The Puppeteer method is marked experimental, so check that it exists in the Puppeteer version installed in your project.
Disable Bluetooth emulation with Puppeteer
Use the Bluetooth interface on the page whose emulated adapter you want to disable:
As an Amazon Associate I earn from qualifying purchases.
await page.bluetooth.disableEmulation();
Puppeteer documents this as the method for disabling the emulated Bluetooth adapter. See the Puppeteer BluetoothEmulation API for the version-specific API reference.
Complete example
const browser = await puppeteer.launch();
try {
const page = await browser.newPage();
// Disable Bluetooth emulation for this browser context.
await page.bluetooth.disableEmulation();
// Continue with the page work that requires emulation to be disabled.
} finally {
await browser.close();
}
This example assumes puppeteer is already imported or required by your project. If your installed version does not expose page.bluetooth.disableEmulation(), use the CDP method below or check compatibility before upgrading.
#1 Best Overall
Disable it through the Chrome DevTools Protocol
If your code already controls Chrome through a CDP session, send the protocol command BluetoothEmulation.disable through a session attached to the page:
const session = await page.createCDPSession();
await session.send('BluetoothEmulation.disable');
Puppeteer documents page.createCDPSession() for attaching a session to a page; the Chrome DevTools Protocol BluetoothEmulation reference describes the command as disabling the BluetoothEmulation domain. This is the lower-level option when using CDP directly. The protocol URL is the rolling “tot” reference, so check the Chrome version you connect to.
Rank #2
Which method should you use?
| Method | Use it when | Compatibility note |
|---|---|---|
page.bluetooth.disableEmulation() |
You want Puppeteer’s Bluetooth-specific wrapper. | The Puppeteer API marks it experimental; availability can depend on the installed version. |
session.send('BluetoothEmulation.disable') |
You already use a page-attached CDP session or want to send the protocol command directly. | Compatibility depends on the connected Chrome and its supported protocol commands. |
For Puppeteer’s CDP session method, see the Puppeteer Page API documentation.
The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Scope and common points of confusion
This does not switch off physical Bluetooth
Both commands control emulated Bluetooth state. They are not documented as controls for the host computer’s Bluetooth radio. To turn off physical Bluetooth, use the operating system or device’s Bluetooth controls.
page.emulate() is a different feature
Puppeteer’s page.emulate(device) shortcut applies a device user agent and viewport; its documentation says it calls Page.setUserAgent() and Page.setViewport(). It is not the Bluetooth emulation control. See the Puppeteer page.emulate() documentation.
Pages in one browser context can share emulation state
The Web Bluetooth specification expects emulated adapters to be isolated per top-level navigable, but Chromium’s current implementation ties the state to the browser context. As a result, pages in the same context may affect one another’s Bluetooth emulation state. If tests need independent state, account for that context scope rather than assuming each page is isolated.
Rank #4
Troubleshooting
page.bluetoothor the method is unavailable: The Puppeteer API is experimental. Verify your installed Puppeteer version and its API reference; use a page-attached CDP session if appropriate.- The CDP command fails: Confirm that the session is attached to the intended page and that the Chrome version you are controlling supports the command. The protocol reference is a rolling version, not a guarantee for every Chrome build.
- Another page’s emulation state changes: Pages sharing a browser context may share Bluetooth emulation state in Chromium. Review how your test creates and reuses browser contexts.
- The computer’s Bluetooth remains on: That is expected; these Puppeteer and CDP methods disable emulation, not the physical radio.
Or skip the browser setup
If your goal is a website screenshot rather than browser automation, ScreenshotNeo can return a screenshot or PDF with one GET request. Its capture process accepts cookie and consent banners like a visitor and removes more than 60 known consent platforms, newsletter popups, and chat widgets; each step can be turned off. Bot checks, blank pages, failed loads, timeouts, and cache hits are not billed, and responses identify the page verdict and billing status. ScreenshotNeo also has an MCP server with screenshot, page-info, and PDF tools for AI agents.
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Example using cURL (replace the URL with the page you need):
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
See the ScreenshotNeo API documentation for request options. The free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000. Sign up for free.
Frequently Asked Questions
Does disabling Bluetooth emulation turn off Bluetooth on my computer?
No. It disables the emulated adapter in Puppeteer or Chrome, not the physical Bluetooth radio.
Is the Puppeteer Bluetooth disable method experimental?
Yes. Puppeteer marks page.bluetooth.disableEmulation() experimental, so check it against your installed version.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




