Prerequisites
Before installing Shannon, ensure you have the following prerequisites:Required
Docker
Docker
Shannon runs entirely in Docker containers. Install Docker for your platform:
- macOS/Windows: Docker Desktop
- Linux: Docker Engine
AI Provider Credentials
AI Provider Credentials
Shannon requires access to Claude models. Choose one of the following options:Option 1: Anthropic API (Recommended)
- Get your API key from the Anthropic Console
- Set
ANTHROPIC_API_KEYin your.envfile
- Use your Claude Code OAuth token
- Set
CLAUDE_CODE_OAUTH_TOKENin your.envfile
- Configure AWS credentials and Bedrock access
- See AWS Bedrock setup below
- Configure GCP service account with Vertex AI access
- See Google Vertex AI setup below
Recommended
Sufficient Resources
- CPU: 4+ cores recommended
- RAM: 8GB+ recommended
- Disk: 10GB+ free space
Network Access
- Internet access for Docker image downloads
- Access to target application (can be localhost)
- Access to AI provider API endpoints
Installation steps
Configure environment
Create your Edit
.env file from the example:.env and add your credentials:The
CLAUDE_CODE_MAX_OUTPUT_TOKENS=64000 setting is recommended for larger tool outputs and better analysis quality.Prepare repository directory
Create the This is where you’ll clone or symlink the applications you want to test.
repos/ directory for target applications:Platform-specific instructions
macOS
Install Docker Desktop
Download and install Docker Desktop for Mac.
Configure resources
Open Docker Desktop preferences and allocate:
- CPUs: 4 or more
- Memory: 8GB or more
macOS users can test local applications using
host.docker.internal instead of localhost.Windows
Shannon can run on Windows using either Git Bash or WSL2 (recommended).- WSL2 (Recommended)
- Git Bash
Install Ubuntu
If you don’t have a distribution installed:Convert existing WSL1 distributions to WSL2:
Install Docker Desktop
- Download Docker Desktop for Windows
- Enable WSL2 backend in Settings > General > “Use the WSL 2 based engine”
Linux
AI Provider Setup
Anthropic API (Recommended)
The simplest and recommended approach:Get API key
- Sign up at Anthropic Console
- Navigate to API Keys
- Create a new API key
Rate Limits: Anthropic subscription plans reset usage on a rolling 5-hour window. If you hit rate limits, see the rate limit configuration section.
AWS Bedrock
Route requests through Amazon Bedrock:Configure AWS credentials
Create a Bedrock bearer token following AWS documentation.
Shannon uses three model tiers: small (Haiku) for summarization, medium (Sonnet) for security analysis, and large (Opus) for deep reasoning. Set model IDs for your specific AWS region.
Google Vertex AI
Route requests through Google Cloud Vertex AI:Create service account
- Go to GCP Console IAM
- Create a service account with the
roles/aiplatform.userrole - Download the JSON key file
Set
CLOUD_ML_REGION=global for global endpoints, or a specific region like us-east5. Some models may not be available on global endpoints — check the Vertex AI Model Garden for availability.Advanced configuration
Handling rate limits
If using an Anthropic subscription plan, configure extended retry backoff:configs/my-config.yaml
max_concurrent_pipelines controls how many vulnerability pipelines run simultaneously (1-5, default: 5). Lower values reduce API usage spikes but increase wall-clock time.Experimental router mode
Test Shannon with GPT or Gemini models:Troubleshooting
Repository not found
Repository not found
Error:
Repository not found: my-repoSolution: The REPO parameter must be a folder name inside ./repos/, not an absolute path.Temporal not ready
Temporal not ready
Error: Connection errors or “Temporal not ready”Solution: Wait for health check or check logs:Temporal can take 30-60 seconds to fully initialize on first start.
Worker not processing
Worker not processing
Error: Workflow starts but never progressesSolution: Check container status:Ensure the worker container is running. Restart if needed:
Local apps unreachable
Local apps unreachable
Error: Cannot connect to This works on macOS and Windows. On Linux, configure Docker network or use host network mode.
localhost:3000Solution: Docker containers can’t reach host’s localhost. Use host.docker.internal:Permission errors (Linux)
Permission errors (Linux)
Error: Permission denied errors with Docker or output filesSolution: Add your user to the docker group:For output file permissions, ensure proper ownership:
Rate limit errors
Rate limit errors
Error: 429 Rate Limit errors from AnthropicSolution: Configure extended retry and reduce concurrency:Then run:
configs/my-config.yaml
Clean state reset
Clean state reset
Error: Need to completely reset Shannon stateSolution: Full cleanup removes all containers, volumes, and data:This will delete all workflow data, audit logs, and Docker volumes.
Next steps
Quickstart
Run your first pentest with Shannon
Configuration
Configure authentication, 2FA, and testing parameters
Architecture
Learn how Shannon’s multi-agent system works
CLI Reference
Complete command-line interface documentation