| title | Install | ||
|---|---|---|---|
| description | Install the QualityLayer App on macOS, Windows or Linux, or the command line on a server, WSL2 or a dev container. | ||
| mdx |
|
import { Card, CardGroup, Steps, Step, Tabs, Tab, Note, Warning, NextSteps } from "@site/src/components/kit";
Install the App on a computer with a screen. On WSL2, a dev container or a server, install the command line and open the App in your browser.
macOS, Windows or Linux, with Git. Any Git repository you work in. A [supported](agents/native.mdx) or [other](agents/other.mdx) agent, signed in and started once. **[Download the App](https://qualitylayer.dev/download)** and open it.Download the App, or install the App and the command line from PowerShell:
irm https://qualitylayer.dev/install.ps1 | iex </Tab>
</Tabs>
Setup adds missing Claude Code, Codex and Grok settings, such as native task tools, commits without attribution and questions that wait for you (full list). Settings you chose stay.
If you have not chosen native permissions, Claude Code starts in Bypass and Codex in Full access, also outside QualityLayer. Choose another mode in Settings › Agents › Edit launch… or in the agent itself.
qualitylayer app opens the same workspace in your browser. Agents run where QualityLayer is installed.
Install QualityLayer where your agent runs. No App is needed there, and you can work only in your agent.
curl -fsSL https://qualitylayer.dev/install.sh | bashThe pages open in your browser; VS Code forwards the port. In the App, add the container as a machine.
To keep QualityLayer and your agent's sign-in when the container is rebuilt, keep them in volumes:
"mounts": [
"source=qualitylayer-${devcontainerId},target=/home/vscode/.qualitylayer,type=volume",
"source=claude-${devcontainerId},target=/home/vscode/.claude,type=volume"
],
"postCreateCommand": "sudo chown vscode ~/.qualitylayer ~/.claude && curl -fsSL https://claude.ai/install.sh | bash && curl -fsSL https://qualitylayer.dev/install.sh | bash"Machines added in Settings › Machines need no port of yours. In a browser, the server listens on port 41888 (41910 on WSL2), or the next free one. Two remote machines cannot both forward to 41888 on your laptop, so give each its own:
qualitylayer settings set cockpit.port 41901 # on the server
qualitylayer app restart
ssh -N -L 41901:127.0.0.1:41901 first-server # on your laptopThen open http://127.0.0.1:41901. QUALITYLAYER_PORT=41901 qualitylayer app restart tries a port once without saving it (Server settings).
In the App, choose Restart and update from Update ready or the bar above the page. Without the App, run qualitylayer update; if a 12.x install finds no update, run the installation command again. Choose Stable or Beta in Settings › About.
qualitylayer uninstall undoes what the installer changed; your plans stay. Add --purge to remove QualityLayer's settings, licence and tasks too.
This works even when the App or command line is blocked or gone. Your plans, logins, licence and tasks stay; add -Purge to remove QualityLayer's settings, licence and tasks too.
& ([scriptblock]::Create((irm https://qualitylayer.dev/install.ps1))) -UninstallTo move your licence, run qualitylayer licence activate <key> on the other computer. A key works on 5 computers (Licence).
If Defender Exploit Guard blocks Setup or removes installed files, check your managed-device policy with IT.
| Fix | How |
|---|---|
| Exclusion (IT) | Exclude %LOCALAPPDATA%\QualityLayer and %USERPROFILE%\.qualitylayer\bin (Intune: Attack Surface Reduction Only Exclusions) |
| File indicator (IT) | Allow the setup file by its SHA-256 from SHA256SUMS on the release page |
| WSL (no IT) | Install in WSL2 |
Then run qualitylayer doctor and open the App once. If code health setup fails because antivirus holds its tools, see Setup under antivirus.
<NextSteps items={[ { title: "Your first task", href: "/docs/first-task", text: "Plan, build and review one small change." }, { title: "Other machines", href: "/docs/machines", text: "Run tasks on a Mac Mini or a server." }, { title: "Supported agents", href: "/docs/agents/native", text: "Models, permissions and reviewers per agent." }, ]} />