> ## Documentation Index
> Fetch the complete documentation index at: https://docs.runlayer.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Windows Subsystem for Linux coverage

> What AI Watch Detect scans inside WSL, when each scan runs, and the current limits

AI Watch Detect can inventory AI tooling inside Windows Subsystem for Linux (WSL) from a Windows endpoint. File-based checks use read-only operations through the distro's Windows share. Optional runtime checks execute fixed, read-only inventory commands inside running distros.

## Coverage matrix

| Signal                                                                                        | Running distro | Stopped distro                          | Required setting   | Method                                                       |
| --------------------------------------------------------------------------------------------- | -------------- | --------------------------------------- | ------------------ | ------------------------------------------------------------ |
| Distro name, WSL version, and state                                                           | Yes            | Yes                                     | Always on          | Windows WSL inventory and registry metadata                  |
| Known client configuration, state, skills, plugins, and agent definitions in a reachable home | Yes            | Best effort when the share is reachable | Always on          | File reads through the WSL share                             |
| AI client CLI binaries                                                                        | Yes            | No                                      | Always on          | File-presence checks in user and system binary roots         |
| Python and pipx-installed AI clients                                                          | Yes            | Best effort when the share is reachable | Always on          | Python package metadata under reachable homes                |
| Container-runtime file signals                                                                | Yes            | No                                      | Always on          | Checks Docker and Podman data directories and sockets        |
| Project MCP configurations, skills, and agent definitions                                     | Yes            | Best effort when the share is reachable | `DetectContainers` | Bounded project walk under reachable homes                   |
| Running Docker and Podman containers                                                          | Yes            | No                                      | `DetectContainers` | Fixed `docker ps` and `podman ps` commands inside the distro |
| Running AI clients, MCP servers, and agents                                                   | Yes            | No                                      | `DetectProcesses`  | Fixed process-table command inside the distro                |

File access and command failures are isolated per distro. A failed or unreachable distro does not stop the Windows host scan. AI Watch records whether each distro was successfully reached and preserves the time of its last successful scan so stale inventory is distinguishable from current inventory.

WSL registrations are scoped to a Windows user. An all-users scan can inspect a user's distros only while it can obtain that user's live Windows token; a logged-off user's WSL inventory may therefore remain at its last known state.

## File scan scope

For each reachable WSL distro, Detect checks:

* User homes under `/home/*` and `/root` when accessible
* Common user binary locations, including pipx, uv, npm, Cargo, and version-manager layouts
* System binary locations under `/usr/local/bin`, `/usr/bin`, `/snap/bin`, the default Nix profile, and known `/opt/<tool>/bin` paths
* Exact supported-client configuration, skill, plugin, and agent-definition paths
* Docker signals at `/var/lib/docker`, `/var/run/docker.sock`, and `/run/docker.sock`
* Podman storage at `/var/lib/containers`

Detect does not execute files found through the Windows share. CLI presence is based on an allowlisted binary name at a known path; Python tool identity comes from package metadata. WSL symlink behavior over the Windows share is not reliable enough for a general binary-shim sweep.

## Runtime checks

In-distro execution happens only for distros reported as running and only when the corresponding setting is enabled:

* `DetectContainers` runs bounded, read-only Docker and Podman container inventory commands.
* `DetectProcesses` runs a bounded process-table inventory command. Arguments are redacted before submission under the same rules as native Windows process discovery.

AI Watch never invokes a shell or executes a path discovered during the file scan. Commands use fixed argument lists, bounded output, and a timeout of five seconds for process inventory or 10 seconds for container inventory. One failed runtime or distro is skipped without failing later checks.

The `docker-desktop` distro is excluded from in-distro container and process checks because Docker Desktop containers are already visible through the Windows host runtime. The internal `docker-desktop-data` distro is excluded from WSL inventory.

## Limits

* At most 16 WSL distros are processed per scan.
* CLI binary checks process at most four homes per distro.
* Direct Python and npm package checks process at most four WSL homes per scan.
* CLI binary presence checks are limited to 10 seconds and 4,096 candidate paths per distro.
* Process inventory commands are limited to five seconds; container inventory commands are limited to 10 seconds. Both have a 512 KB output cap.
* The optional WSL project walk has a 30-second base budget plus 10 seconds per reachable home, capped at 300 seconds and 128 matched files.
* WSL project walking remains part of `DetectContainers`; enabling process discovery alone does not enable it.

See [Detect](/shadow-ai/detect) for the rest of the scan scope and [Deploy AI Watch](/shadow-ai/deploy) to manage process and container discovery settings.
