Skip to main content
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

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 for the rest of the scan scope and Deploy AI Watch to manage process and container discovery settings.