<h3 dir="auto">System info</h3>
<ul dir="auto">
<li>Playwright Version: [v1.35.0]</li>
<li>Operating System: [Windows 10, possibly All]</li>
<li>Browser: [Edge, possibly All]</li>
<li>Other info: node v20.2.0, npm 9.6.6</li>
</ul>
<h3 dir="auto">Source code</h3>
<p dir="auto">No source is needed. It is clear after using "npm install"</p>
<ul dir="auto">
<li>[x ] I provided exact source code that allows reproducing the issue locally.</li>
</ul>




<p dir="auto"><strong>Steps</strong></p>
<p dir="auto">I am new to both versions and have no idea how they differ (except the former won't need me to install any browser, latter download all major ones upon installation)</p>
<p dir="auto">I stumbled upon the issue because I was trying to convert some python code to javascript and it imports "playwright", now "@playwright/test".</p>
<p dir="auto">But using "npm init playwright" initializes with a base test suite using "@playwright/test", not "playwright".</p>
<p dir="auto">With a naive approach, I did "npm install playwright" to continue my conversion. But it seems these two packages, however both the latest, are not playing along fine about which one will use the name.</p>
<p dir="auto">Both packages add "playwright-core" scripts into the binary folder, and both insist on using the same "playwright" script name for themselves; one points to <code class="notranslate">$basedir/../@playwright/test/cli.js</code> and the other points to <code class="notranslate">$basedir/../playwright/cli.js"</code></p>
<p dir="auto">The main issue here also has many other occurrences associated with this message: <code class="notranslate">Please install @playwright/test package before running</code>. This happens because installing "playwright" overrides the scripts for "@playwright/test".</p>
<p dir="auto">They both work fine if they are used only as imports since both packages have their own unique directories. the problem arises when one tries to use scripts from the command line as <code class="notranslate">npx playwright ...</code></p>
<p dir="auto"><strong>Expected</strong></p>
<p dir="auto">Both packages are at "1.35.00" version. In this case, I would expect "@playwright/test" to use another script name, or both packages to use a unified script to suit them both.</p>
<p dir="auto"><strong>Actual</strong></p>
<p dir="auto">Installation order determines which one will use the "playwright" name for the scripts to run from terminal.<br>
Also causes this problem: <code class="notranslate">Please install @playwright/test package before running</code></p>
<h3 dir="auto">System info</h3>
<ul dir="auto">
<li>Playwright Version: [v1.XX]</li>
<li>Operating System: [All, Windows 11, Ubuntu 20, macOS 13.2, etc.]</li>
<li>Browser: [Chromium]</li>
<li>Other info:</li>
</ul>
<h3 dir="auto">Source code</h3>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I provided exact source code that allows reproducing the issue locally.</li>
</ul>




<p dir="auto"><strong>Link to the GitHub repository with the repro</strong></p>
<p dir="auto">[https://github.com/your_profile/playwright_issue_title]</p>
<p dir="auto">browser = playwright.chromium().launch<br>
(new BrowserType.LaunchOptions().setArgs(Arrays.asList("--disable-notifications")).setHeadless(false));</p>
<p dir="auto">Actual: Location notification still displayed in headless(false) mode but in headless(true) mode</p>