Files
shannon/docs/platforms.md
george-keygraphandClaude Opus 5 692440135a docs: mark native Windows as community-supported, WSL2 behaves like Linux
Per the Aug 27 CI/CD integration sync: WSL2 stays fully supported (it
behaves like Linux); native Windows moves from "not supported" to
community-supported, meaning contributions are welcome but Keygraph does
not actively develop or test against it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-31 10:19:30 -07:00

2.3 KiB

Platforms and Networking

This guide covers platform-specific notes and Docker networking behavior.

Windows

Shannon on Windows is supported through WSL2, which behaves like Linux for everything below. Native Windows, including Git Bash, is community-supported: contributions are welcome, but Keygraph does not actively develop or test against it.

Ensure WSL2

wsl --install
wsl --set-default-version 2

# Check installed distros.
wsl --list --verbose

# If you do not have a distro, install one.
wsl --list --online
wsl --install Ubuntu-24.04

# If your distro shows VERSION 1, convert it to WSL2.
wsl --set-version <distro-name> 2

Install Docker Desktop on Windows and enable the WSL2 backend under Settings > General > Use the WSL 2 based engine.

Run Shannon inside WSL:

npx @keygraph/shannon setup
npx @keygraph/shannon start -u https://your-app.com -r /path/to/your-repo

Source-build equivalent:

git clone https://github.com/KeygraphHQ/shannon.git
cd shannon
cp .env.example .env
./shannon start -u https://your-app.com -r /path/to/your-repo

To access the Temporal Web UI, run ip addr inside WSL to find your WSL IP address, then navigate to http://<wsl-ip>:8233 in your Windows browser.

Windows Defender may flag exploit code in reports as false positives. Add an exclusion for the Shannon directory or use Docker/WSL2 isolation.

Linux

Linux works with native Docker. Depending on your Docker setup, you may need sudo. If output files have permission issues, ensure your user has access to the Docker socket and workspace directory.

macOS

macOS works with Docker Desktop installed.

Testing Local Applications

Docker containers cannot reach localhost on your host machine. Use host.docker.internal instead:

npx @keygraph/shannon start -u http://host.docker.internal:3000 -r /path/to/repo

Source-build equivalent:

./shannon start -u http://host.docker.internal:3000 -r /path/to/repo

Custom Hostnames

If your local stack uses custom hostnames mapped in /etc/hosts, Shannon forwards those entries into the worker container at scan start.

To disable forwarding:

export SHANNON_FORWARD_HOSTS=false

In source-build mode, you can also add this to .env:

SHANNON_FORWARD_HOSTS=false