Skip to content

Remove built-in Playwright MCP support - #57521

Merged
pelikhan merged 6 commits into
mainfrom
copilot/remove-builtin-support-playwright-mcp
Sep 1, 2026
Merged

Remove built-in Playwright MCP support#57521
pelikhan merged 6 commits into
mainfrom
copilot/remove-builtin-support-playwright-mcp

Conversation

Copilot AI commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

Playwright now supports only the built-in CLI integration. mode: mcp produces actionable migration guidance; workflows requiring MCP must configure a custom server.

  • Compiler

    • Default Playwright to CLI mode.
    • Reject mode: mcp.
    • Remove MCP rendering, registration, inspection, container handling, and engine expansion.
    • Remove MCP-only arguments and version metadata.
  • Migration guidance

    • Document equivalent playwright-cli commands.
    • Explain local server access through localhost.
    • Document explicit custom MCP configuration:
mcp-servers:
  playwright:
    command: npx
    args:
      - --yes
      - "@playwright/mcp@0.0.79"
      - --no-sandbox
    allowed:
      - browser_navigate
      - browser_snapshot
  • Version tracking

    • Track only @playwright/cli.
    • Stop tracking the Playwright MCP package and container image.
  • Repository updates

    • Update schemas, generated reference material, workflows, fixtures, and affected tests for CLI-only behavior.


✨ PR Review Safe Output Test - Run 33454421932

Warning

Firewall blocked 2 domains

The following domains were blocked by the firewall during workflow execution:

  • clients2.google.com
  • mtalk.google.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "clients2.google.com"
    - "mtalk.google.com"

See Network Configuration for more information.

💥 [THE END] — Illustrated by Smoke Claude · claude · sonnet46 · 64.2 AIC · ⌖ 18.7 AIC · ⊞ 7.2K ·
Comment /smoke-claude to run again


Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • github.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "github.com"

See Network Configuration for more information.

Generated by 👨‍🍳 PR Sous Chef · pi · gpt54 · 9.36 AIC · ⌖ 8.59 AIC · ⊞ 8.9K ·
Comment /souschef to run again


Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • github.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "github.com"

See Network Configuration for more information.

Generated by 👨‍🍳 PR Sous Chef · pi · gpt54 · 25.2 AIC · ⌖ 8.59 AIC · ⊞ 8.9K ·
Comment /souschef to run again

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI requested a review from pelikhan August 31, 2026 23:27
@pelikhan
pelikhan marked this pull request as ready for review August 31, 2026 23:43
Copilot AI balanced review requested due to automatic review settings August 31, 2026 23:43
@github-actions

github-actions Bot commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

🧠 Matt Pocock Skills Reviewer has completed the skills-based review. ✅

🧠 Reviewed using Matt Pocock's skills by Matt Pocock Skills Reviewer

@github-actions

github-actions Bot commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

Test Quality Sentinel completed test quality analysis.

Test Quality Sentinel skipped because pre-fetch PR data was unavailable: unable to fetch test file diff

🧪 Test quality analysis by Test Quality Sentinel

@github-actions

github-actions Bot commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

PR Code Quality Reviewer completed the code quality review.

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • github.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "github.com"

See Network Configuration for more information.

🔎 Code quality review by PR Code Quality Reviewer

@github-actions

github-actions Bot commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

⚠️ Security scanning failed for Ponytail Reviewer. Review the logs for details.

Lean already. Ship.

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • ab.chatgpt.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "ab.chatgpt.com"

See Network Configuration for more information.

Generated by Ponytail Reviewer for #57521

@github-actions

github-actions Bot commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

Design Decision Gate 🏗️ completed the design decision gate check. See the comment below for the result and any generated ADR draft.

Warning

Firewall blocked 2 domains

The following domains were blocked by the firewall during workflow execution:

  • github.com
  • proxy.golang.org

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "github.com"
    - "proxy.golang.org"

See Network Configuration for more information.

🏗️ ADR gate enforced by Design Decision Gate 🏗️

@github-actions

Copy link
Copy Markdown
Contributor

Comment Memory

reviewed_at: 2026-08-31T23:47:48Z
review_event: COMMENT
top_themes:
  - Playwright MCP removal is internally consistent
  - No blocking regression found in changed lines
files_reviewed:
  - pkg/parser/mcp.go
  - pkg/workflow/playwright_validation.go
  - pkg/workflow/playwright_cli.go
  - pkg/workflow/mcp_renderer_builtin.go
  - pkg/workflow/tools_types.go
  - pkg/workflow/args.go
  - pkg/workflow/codex_engine.go
  - pkg/workflow/mcp_setup_generator.go
  - pkg/workflow/mcp_environment.go
  - pkg/workflow/mcp_detection.go
  - pkg/workflow/copilot_engine_tools.go
  - pkg/workflow/mcp_cli_mount.go
  - pkg/workflow/playwright_validation_test.go
  - pkg/workflow/codex_playwright_test.go
comment_count: 0

Note

This comment is managed by comment memory.

It stores persistent context for this thread in the code block at the top of this comment.
Edit only the text inside the backtick fences; workflow metadata and the footer are regenerated automatically.

Learn more about comment memory

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • github.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "github.com"

See Network Configuration for more information.

🔎 Code quality review by PR Code Quality Reviewer · copilot · gpt54 · 68.7 AIC · ⌖ 7.36 AIC · ⊞ 21.8K ·
Comment /review to run again

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This removes the built-in Playwright MCP path consistently and leaves the CLI path as the only first-party integration. I did not find a blocking regression in the changed lines.

Checked themes
  • Playwright mode validation now rejects mode: mcp with migration guidance.
  • MCP server detection/rendering no longer treats built-in Playwright as an MCP server.
  • Copilot/Codex permission plumbing still auto-allows playwright-cli:* only when restricted bash needs it.
  • The remaining @playwright/mcp references I found are outside this diff and belong to generic dependency/runtime parsing tests, not the removed built-in integration.

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • github.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "github.com"

See Network Configuration for more information.

🔎 Code quality review by PR Code Quality Reviewer · copilot · gpt54 · 68.7 AIC · ⌖ 7.36 AIC · ⊞ 21.8K
Comment /review to run again

@github-actions

Copy link
Copy Markdown
Contributor
🏗️ ADR required — draft added for PR #57521

I added a draft ADR at docs/adr/57521-remove-built-in-playwright-mcp-support.md because this PR requires ADR enforcement and no existing ADR was found in the PR body or docs/adr/ on the branch.

Evidence used

  • adr-prefetch-summary.json: default_business_additions = 212, so this PR exceeds the 100-line default business-logic threshold.
  • pr.json title/body: the PR explicitly changes the product decision from supporting built-in Playwright CLI + MCP modes to CLI-only with custom MCP configuration required.
  • pr.diff: removes built-in MCP-specific rendering/tool registration/container/image tracking and changes docs/tests/generated workflows to reject mode: mcp.

Inferred decision captured in the draft

  • Decision: remove built-in Playwright MCP support and make built-in tools.playwright always use @playwright/cli.
  • Driver: simplify the built-in integration and stop maintaining MCP-specific compiler/runtime behavior.
  • Alternatives considered: keep both built-in modes; keep built-in MCP but deprecate it first.
  • Consequences: simpler built-in compiler behavior, but a breaking migration for workflows currently using mode: mcp.

Next action

Please review and refine the ADR’s rationale/trade-offs, then keep it with the PR before merge.

Warning

Firewall blocked 2 domains

The following domains were blocked by the firewall during workflow execution:

  • github.com
  • proxy.golang.org

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "github.com"
    - "proxy.golang.org"

See Network Configuration for more information.

🏗️ ADR gate enforced by Design Decision Gate 🏗️ · pi · gpt54 · 27.6 AIC · ⌖ 11.6 AIC · ⊞ 9.8K ·
Comment /review to run again

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Skills-Based Review 🧠

Applied /codebase-design — commenting on two correctness issues and one minor cleanup opportunity. Overall this is a clean, well-scoped removal with good test hygiene and excellent migration documentation.

📋 Key Themes & Highlights

Issues Found

  1. Schema/compiler mismatch (pkg/parser/schemas/main_workflow_schema.json L4777): "enum": ["cli", "mcp"] still allows "mcp" — IDE autocompletion will suggest a value the compiler then rejects. Remove "mcp" from the enum.

  2. Flag inconsistency in migration docs (docs/src/content/docs/reference/playwright.md L26 vs L72): browser_evaluate is documented with --expression in the code example but --function in the migration table. One of them is wrong and will cause immediate failures for migrating users.

  3. Minor redundant dispatch (pkg/parser/mcp.go): extractBuiltinMCPTools calls processBuiltinMCPTool which re-checks toolName == "github" — double dispatch left over from the playwright removal. Low risk but worth cleaning up for readability.

Positive Highlights

  • ✅ Compiler rejects mode: mcp with a detailed, actionable error message including a documentation link — excellent UX for migration.
  • ✅ 2564 deletions vs 360 additions: extremely clean removal with no orphaned stubs.
  • playwright_validation_test.go covers all meaningful cases (nil, false, empty map, cli, CLI, mcp, expressions) after the refactor.
  • ✅ The custom MCP server snippet in the docs (mcp-servers.playwright) gives a copy-pasteable escape hatch for users who genuinely need MCP.
  • (nolint/redacted):largefunc annotations on the unchanged inspection flow are accurate and add no technical debt.

🧠 Reviewed using Matt Pocock's skills by Matt Pocock Skills Reviewer · copilot · sonnet46 · 95.3 AIC · ⌖ 15.3 AIC · ⊞ 7.6K
Comment /matt to run again

Comments that could not be inline-anchored

pkg/parser/schemas/main_workflow_schema.json:4777

[/codebase-design] The mode enum still includes &quot;mcp&quot; even though the compiler now rejects it — the schema advertises a value that is illegal at compile time, causing IDE autocompletion to suggest a broken option.

<details>
<summary>💡 Suggested fix</summary>

Change:

&quot;enum&quot;: [&quot;cli&quot;, &quot;mcp&quot;]

to:

&quot;enum&quot;: [&quot;cli&quot;]

This makes the schema the source of truth and prevents IDE tools from suggesting the removed value.

</details>

@copilot please address this.

docs/src/content/docs/reference/playwright.md:72

[/codebase-design] The migration table in browser_evaluate uses --function but the code example 10 lines above uses --expression — these flags are inconsistent and at least one is wrong.

<details>
<summary>💡 Detail</summary>

Line 26: playwright-cli browser_evaluate --expression &quot;document.title&quot;
Line 72: | browser_evaluate | playwright-cli browser_evaluate --function &lt;javascript&gt; |

Verify the correct flag against playwright-cli browser_evaluate --help and align both occurrenc…

pkg/parser/mcp.go:256

[/codebase-design] The extractBuiltinMCPTools function now only handles github, but still iterates over all tools calling processBuiltinMCPTool. The processBuiltinMCPTool call for non-github tool names returns (nil, nil) — dead code path that was only needed for playwright. Consider simplifying by removing the dispatch through processBuiltinMCPTool for non-github tools or tightening the guard condition.

<details>
<summary>💡 Suggested simplification</summary>

In `pkg/par…

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Impeccable Review: Remove built-in Playwright MCP support

Change type: refactor_cleanup — removes MCP mode entirely, makes CLI the only supported integration.

Overall assessment: The removal is well-structured. The compile-time error for mode: mcp with actionable migration guidance is the right pattern. Test updates correctly reflect that all playwright configs now map to CLI mode (since IsCLIMode() returns true for empty or "cli" mode). The docker.go cleanup is clean. The copilot_engine_tools.go fix (using effectiveWorkflowData instead of workflowData) is a correctness improvement bundled naturally with this change.

One non-blocking issue found: browser_evaluate flag inconsistency in the migration docs (inline comment above). The bash usage example uses --expression while the migration table uses --function — one is wrong, and users following the migration guide will encounter a flag error.

No other actionable issues found.

🧵 Reviewed using Impeccable skills by Impeccable Skills Reviewer · copilot · sonnet46 · 94.7 AIC · ⌖ 14.7 AIC · ⊞ 6.2K

| `browser_snapshot` | `playwright-cli browser_snapshot` |
| `browser_take_screenshot` | `playwright-cli browser_take_screenshot --filename <path>` |
| `browser_click` | `playwright-cli browser_click --element <description> --ref <ref>` |
| `browser_evaluate` | `playwright-cli browser_evaluate --function <javascript>` |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

browser_evaluate is documented with two different flags in this same file:

  • Line 26 (bash usage example): playwright-cli browser_evaluate --expression "document.title"
  • Line 72 (migration table): playwright-cli browser_evaluate --function <javascript>

One of these is wrong, and users migrating from MCP mode will follow the migration table at line 72 and get a flag error. Please verify the correct flag name against the @playwright/cli package and fix the inconsistency.

@copilot please address this.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Migration commands are invalid, and custom mcp-servers.playwright configurations are misclassified and removed for Codex.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

Removes built-in Playwright MCP support and makes @playwright/cli the sole built-in browser integration.

Changes:

  • Removes Playwright MCP rendering, registration, containers, arguments, and version metadata.
  • Adds CLI-default behavior and migration validation.
  • Updates schemas, documentation, workflows, fixtures, and tests.
File summaries
File Description
pkg/workflow/version_field_test.go Tests CLI version parsing.
pkg/workflow/tools_types.go Defaults Playwright to CLI mode.
pkg/workflow/tools_types_test.go Updates config parsing tests.
pkg/workflow/tools_parser.go Removes MCP argument parsing.
pkg/workflow/testdata/TestWasmGolden_CompileFixtures/smoke-copilot.golden Updates compiled fixture.
pkg/workflow/safe_update_manifest_test.go Removes built-in MCP manifest expectations.
pkg/workflow/repo_config_test.go Replaces Playwright image fixture.
pkg/workflow/README.md Updates generated API reference.
pkg/workflow/playwright_validation.go Rejects removed MCP mode.
pkg/workflow/playwright_validation_test.go Tests migration errors.
pkg/workflow/playwright_tools.go Removes MCP tool inventory.
pkg/workflow/playwright_mcp_integration_test.go Removes MCP integration tests.
pkg/workflow/playwright_cli.go Makes CLI the built-in integration.
pkg/workflow/playwright_cli_test.go Tests omitted-mode behavior.
pkg/workflow/playwright_allowed_domains_secrets_test.go Removes MCP argument tests.
pkg/workflow/non_github_mcp_guard_policy_test.go Removes Playwright guard-policy cases.
pkg/workflow/neutral_tools_test.go Removes MCP expansion expectations.
pkg/workflow/mcp_setup_generator.go Stops MCP registration.
pkg/workflow/mcp_renderer.go Removes Playwright rendering dispatch.
pkg/workflow/mcp_renderer_types.go Removes renderer callback.
pkg/workflow/mcp_renderer_test.go Removes renderer tests.
pkg/workflow/mcp_renderer_factory.go Removes renderer wiring.
pkg/workflow/mcp_renderer_builtin.go Deletes built-in renderer.
pkg/workflow/mcp_playwright_config.go Deletes MCP argument helpers.
pkg/workflow/mcp_manifest.go Removes built-in manifest entry.
pkg/workflow/mcp_logs_upload_test.go Verifies CLI installation.
pkg/workflow/mcp_environment.go Removes MCP-specific environment handling.
pkg/workflow/mcp_detection.go Excludes Playwright from MCP detection.
pkg/workflow/mcp_detection_test.go Updates detection expectations.
pkg/workflow/mcp_config_shared_test.go Removes shared renderer tests.
pkg/workflow/mcp_config_refactor_test.go Removes TOML renderer tests.
pkg/workflow/mcp_config_playwright_renderer.go Deletes MCP configuration renderer.
pkg/workflow/mcp_cli_mount_test.go Tests CLI command mounting.
pkg/workflow/mcp_benchmark_test.go Removes obsolete benchmark.
pkg/workflow/importable_tools_test.go Updates imported-tool expectations.
pkg/workflow/github_disabled_test.go Uses a custom MCP fixture.
pkg/workflow/gemini_engine_test.go Updates CLI permission expectation.
pkg/workflow/engine_helpers_shared_test.go Replaces renderer fixtures.
pkg/workflow/engine_helpers_secrets_test.go Uses a custom MCP fixture.
pkg/workflow/domains.go Updates browser-domain documentation.
pkg/workflow/docker.go Stops collecting Playwright images.
pkg/workflow/data/action_pins.json Removes Playwright image pin.
pkg/workflow/copilot_engine_tools.go Enables CLI shell permission.
pkg/workflow/copilot_engine_tool_arguments_test.go Updates permission tests.
pkg/workflow/codex_playwright_test.go Tests CLI-only Codex behavior.
pkg/workflow/codex_mcp.go Removes MCP rendering branch.
pkg/workflow/codex_engine.go Removes Playwright MCP expansion.
pkg/workflow/claude_tools.go Removes MCP permissions.
pkg/workflow/claude_engine_tools_test.go Updates Claude tool expectations.
pkg/workflow/claude_engine_test.go Updates CLI permission expectation.
pkg/workflow/args.go Removes Playwright argument helpers.
pkg/workflow/args_field_test.go Removes MCP argument tests.
pkg/parser/schemas/main_workflow_schema.json Defines CLI-only configuration.
pkg/parser/mcp.go Removes built-in MCP extraction.
pkg/parser/mcp_test.go Removes extraction tests.
pkg/constants/version_constants.go Removes MCP and browser versions.
pkg/constants/constants.go Removes MCP log-directory constant.
pkg/cli/workflows/test-playwright-args.md Deletes obsolete test workflow.
pkg/cli/mcp_inspect.go Updates built-in descriptions.
pkg/cli/mcp_inspect_playwright_live_integration_test.go Removes live MCP tests.
pkg/cli/mcp_inspect_playwright_integration_test.go Removes inspect tests.
pkg/actionpins/data/action_pins.json Removes mirrored image pin.
docs/src/content/docs/troubleshooting/common-issues.md Replaces MCP troubleshooting guidance.
docs/src/content/docs/reference/playwright.md Adds CLI migration documentation.
docs/src/content/docs/reference/frontmatter-full.md Regenerates frontmatter reference.
docs/public/editor/autocomplete-data.json Updates editor metadata.
.github/workflows/smoke-codex.md Migrates smoke test to CLI.
.github/workflows/smoke-codex.lock.yml Regenerates smoke workflow.
.github/workflows/smoke-claude.lock.yml Removes MCP permissions.
.github/workflows/dependabot-go-checker.md Tracks only the CLI package.
.github/workflows/dependabot-go-checker.lock.yml Regenerates dependency checker.
.github/workflows/cli-version-checker.md Removes MCP/browser tracking.
.github/workflows/cli-version-checker.lock.yml Regenerates version checker.
.github/workflows/blog-auditor.lock.yml Removes MCP permissions.
.github/workflows/archivx-agentic-workflows-analyzer.lock.yml Removes MCP permissions.
.github/aw/syntax-tools-imports.md Updates tool syntax guidance.
.github/aw/actions-lock.json Removes Playwright image pin.
.changeset/remove-playwright-mcp.md Records the breaking change.
Review details

Suppressed comments (1)

docs/src/content/docs/reference/playwright.md:72

  • These mappings retain MCP browser_* names, which are not @playwright/cli subcommands. The migration table must use the CLI command surface or migrated workflows will fail immediately.
| `browser_navigate` | `playwright-cli browser_navigate --url <url>` |
| `browser_snapshot` | `playwright-cli browser_snapshot` |
| `browser_take_screenshot` | `playwright-cli browser_take_screenshot --filename <path>` |
| `browser_click` | `playwright-cli browser_click --element <description> --ref <ref>` |
| `browser_evaluate` | `playwright-cli browser_evaluate --function <javascript>` |
  • Files reviewed: 79/79 changed files
  • Comments generated: 7
  • Review effort level: Balanced

Comment on lines +175 to +176
playwright-cli browser_navigate --url "https://example.com"
playwright-cli browser_snapshot
Comment thread .github/workflows/smoke-codex.md Outdated
playwrightMCP["args"] = playwrightConfig.Args
}
result.raw["playwright"] = playwrightMCP
delete(result.raw, "playwright")
Comment on lines 4772 to +4773
"mode": {
"description": "Integration mode: 'cli' (recommended) installs @playwright/cli via npm for token-efficient CLI invocations \u2014 use playwright-cli commands in bash and localhost to reach local servers; 'mcp' (deprecated) runs a Docker-based MCP server. Must be a literal value; GitHub Actions expressions are rejected.",
"description": "Integration mode. Only 'cli' is supported. The compiler rejects the removed 'mcp' value with migration guidance. Must be a literal value; GitHub Actions expressions are rejected.",
```

CLI mode installs `@playwright/cli` as a global npm package on the runner. The agent invokes `playwright-cli <command>` from bash:
The compiler installs `@playwright/cli` as a global npm package on the runner. The agent invokes `playwright-cli <command>` from bash:
// IsCLIMode returns true when the Playwright tool uses the supported CLI mode.
func (p *PlaywrightToolConfig) IsCLIMode() bool {
return p != nil && strings.EqualFold(p.Mode, "cli")
return p != nil && (p.Mode == "" || strings.EqualFold(p.Mode, "cli"))
"mode": {
"type": "string",
"desc": "Integration mode: 'cli' (recommended) installs @playwright/cli via npm for token-efficient CLI invocations — use play...",
"desc": "Integration mode.",
@gh-aw-bot

Copy link
Copy Markdown
Collaborator

@copilot this PR is ready for the next forward-progress pass. Please run the pr-finisher skill, address any outstanding reviewer feedback, and refresh the branch if needed before re-requesting review.

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • github.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "github.com"

See Network Configuration for more information.

Generated by 👨‍🍳 PR Sous Chef · pi · gpt54 · 10.3 AIC · ⌖ 8.6 AIC · ⊞ 9.2K ·
Comment /souschef to run again

Copilot AI and others added 2 commits September 1, 2026 00:18
…wright

Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com>
Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com>

Copilot AI commented Sep 1, 2026

Copy link
Copy Markdown
Contributor Author

@copilot this PR is ready for the next forward-progress pass. Please run the pr-finisher skill, address any outstanding reviewer feedback, and refresh the branch if needed before re-requesting revie...

Addressed the outstanding reviewer feedback: fixed the migration docs/troubleshooting/smoke test to use real @playwright/cli commands instead of MCP tool names, re-admitted the legacy args schema field so mode: mcp configs still surface the actionable migration error, fixed parsePlaywrightTool to avoid misclassifying custom mcp-servers.playwright entries as the built-in CLI tool (which also fixes the Codex custom-server-drop issue), and removed mcp from the editor autocomplete enum. All changes are pushed and tests pass.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Warning

Firewall blocked 2 domains

The following domains were blocked by the firewall during workflow execution:

  • clients2.google.com
  • mtalk.google.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "clients2.google.com"
    - "mtalk.google.com"

See Network Configuration for more information.

💥 [THE END] — Illustrated by Smoke Claude · claude · sonnet46 · 64.2 AIC · ⌖ 18.7 AIC · ⊞ 7.2K
Comment /smoke-claude to run again

@@ -0,0 +1,5 @@
---
"gh-aw": major

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This changeset correctly marks this as a major change. Removing built-in Playwright MCP support is a breaking change for existing users who rely on tools.playwright with mode: mcp.

@@ -0,0 +1,50 @@
# ADR-57521: Remove Built-in Playwright MCP Support

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great addition of an ADR document for this architectural decision. Consider adding a section on rollback strategy for users who cannot migrate immediately.

@pelikhan

pelikhan commented Sep 1, 2026

Copy link
Copy Markdown
Collaborator

@copilot add blog post explaining the reason for this: cli way is more secure and more token efficient

@pelikhan

pelikhan commented Sep 1, 2026

Copy link
Copy Markdown
Collaborator

@copilot review all agentic workflows in this repo and apply migration to cli.

Add codemod that removes the tools.mode:cli since it is now the default.

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>

Copilot AI commented Sep 1, 2026

Copy link
Copy Markdown
Contributor Author

@copilot add blog post explaining the reason for this: cli way is more secure and more token efficient

Added docs/src/content/docs/blog/2026-09-01-why-playwright-cli-replaces-playwright-mcp.md, explaining that CLI mode avoids loading MCP tool schemas into context (token efficiency) and collapses the Docker container/image/args surface into a single npm package (smaller attack surface), with a pointer to the explicit mcp-servers.playwright config for anyone who still needs full MCP.

…e repo workflows

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>

Copilot AI commented Sep 1, 2026

Copy link
Copy Markdown
Contributor Author

@copilot review all agentic workflows in this repo and apply migration to cli.

Add codemod that removes the tools.mode:cli since it is now the default.

Added playwright-cli-mode-removal codemod (registered in gh aw fix) that removes the redundant tools.playwright.mode: cli since CLI is now the only built-in Playwright integration and the default when omitted. Applied it to migrate all 15 repository workflows still setting mode: cli explicitly, and recompiled their lock files. Done in bdf9a14.

@gh-aw-bot

Copy link
Copy Markdown
Collaborator

@copilot this PR is ready for the next forward-progress pass.

You already replied after the last sous-chef nudge and pushed follow-up changes, but the PR is still blocked.

Please run the pr-finisher skill, make sure the remaining maintainer/reviewer requests are fully addressed, refresh the branch if needed, and re-request review when done.

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • github.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "github.com"

See Network Configuration for more information.

Generated by 👨‍🍳 PR Sous Chef · pi · gpt54 · 27.8 AIC · ⌖ 8.67 AIC · ⊞ 9K ·
Comment /souschef to run again

Copilot AI commented Sep 1, 2026

Copy link
Copy Markdown
Contributor Author

@copilot this PR is ready for the next forward-progress pass.

You already replied after the last sous-chef nudge and pushed follow-up changes, but the PR is still blocked....

Verified again: all specific reviewer requests raised so far (invalid migration commands, schema args handling, Codex custom mcp-servers.playwright preservation, tools_types.go mode misclassification, autocomplete mcp enum) are already fixed in commits 9257b45/0341a5a, and the codemod + blog post requests are done in 8600192/bdf9a14. All CI checks on the head commit are green. No further code changes are needed at this time; the PR is waiting on maintainer review approval.

@gh-aw-bot

Copy link
Copy Markdown
Collaborator

@copilot this PR is ready for the next forward-progress pass.

You already replied after the last sous-chef nudge and indicated the remaining work is done, but the PR is still blocked pending maintainer follow-up.

Please run the pr-finisher skill, confirm the outstanding maintainer requests are fully reflected in the branch, and re-request review if anything still needs a maintainer decision.

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • github.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "github.com"

See Network Configuration for more information.

Generated by 👨‍🍳 PR Sous Chef · pi · gpt54 · 25.2 AIC · ⌖ 8.59 AIC · ⊞ 8.9K ·
Comment /souschef to run again

@pelikhan
pelikhan merged commit 7206a58 into main Sep 1, 2026
36 of 37 checks passed
@pelikhan
pelikhan deleted the copilot/remove-builtin-support-playwright-mcp branch September 1, 2026 02:59
Copilot stopped work on behalf of gh-aw-bot due to an error September 1, 2026 02:59
github-actions Bot added a commit that referenced this pull request Sep 1, 2026
Documents the built-in tools.playwright integration as CLI-only
following removal of built-in Playwright MCP support (#57521), and
adds a Playwright CLI Mode glossary entry with links to the AWF
sandbox policy behavior.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

🎉 This pull request is included in a new release.

Release: v0.88.0

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.

4 participants