Skip to content

Document that display-based capture is unavailable on headless - #538

Draft
courtney918 wants to merge 1 commit into
mainfrom
hypeship/headless-visibility-docs
Draft

Document that display-based capture is unavailable on headless#538
courtney918 wants to merge 1 commit into
mainfrom
hypeship/headless-visibility-docs

Conversation

@courtney918

Copy link
Copy Markdown

Summary

Live view and replays are already documented as unavailable on headless. Two other features share the exact same display dependency and don't say so anywhere:

  • the screenshot telemetry category, described as "Periodic screenshots of the session" with no mode caveat
  • computer-controls screenshots

Both can be enabled on a headless session and accepted, but neither can capture the page — there's no display to capture. Someone debugging a headless session reaches for the screenshot category precisely because it looks like the thing that would help, gets nothing back, and has no way to find out why.

This names the common cause once on the headless page, warns on the category row, and points at the framework-level screenshot call that does work headless (Playwright's page.screenshot() renders in the page, so it needs no display).

Separately: introduction/create.mdx describes headful as supporting "live view, replays, and better stealth," which reads as though headful records automatically. It doesn't — recording is an explicit replays.start() / replays.stop() pair. Someone who switches to headful expecting a recording gets none and reasonably concludes headful didn't solve their problem. Made the opt-in explicit there and on the replays page.

Changes

File Change
browsers/headless.mdx Expanded the Info callout to name the shared cause (display capture) and cover the screenshot category and computer controls; added the framework-screenshot workaround and noted every other telemetry category works headless
browsers/telemetry/categories.mdx Marked the screenshot row headful-only; added a Warning explaining why and what to use instead
browsers/replays.mdx Note that recording is opt-in per session
introduction/create.mdx "replays (opt-in per session)", linked to the replays page

Notes

Docs-only, no code changes. The wording deliberately says the category "can't capture the page" and "won't give you usable frames" rather than claiming it emits nothing — the capture path is display-based either way, but I didn't verify whether it errors out or emits an empty frame, and the docs shouldn't assert more than that.

Live view and replays are already documented as headless limitations, but
the screenshot telemetry category and computer-controls screenshots share
the same display dependency without saying so. Name the common cause on
the headless page, warn on the screenshot category row, and point at the
framework-level screenshot call that does work without a display.

Also make replay opt-in explicit, so "headful supports replays" isn't
read as "headful records automatically."
@mintlify

mintlify Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
Kernel 🟢 Ready View Preview Sep 2, 2026, 3:26 PM

💡 Tip: Enable Workflows to automatically generate PRs for you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant