Installation
SignalPilot is a Jupyter Lab extension with AI agent capabilities. Install it in under 2 minutes with a single command — no manual setup required.
What You’re Installing
SignalPilot is a Jupyter Lab extension (soon VSCode) that provides:Agentic Harness
Long-running agent with analyst-in-the-loop approval
Multi-Source Context
Connects to dbt, databases, Slack, Jira, query history via MCP
Memory & Hooks
Institutional knowledge retention + safety guardrails
Skills & Rules
Custom analysis patterns + team coding standards
The SignalPilot Installer: uvx CLI
The uvx CLI is a bootstrap installer (not the product itself) that:
- Creates your workspace (
~/SignalPilotHome) - Installs isolated Python 3.12 + Jupyter Lab + SignalPilot extension
- Sets up data science packages (pandas, numpy, matplotlib, plotly)
- Launches Jupyter with SignalPilot pre-configured
Quick Install (Recommended)
Prerequisites: macOS, Linux, or Windows (WSL) • Internet connection Don’t have uv? Install it first (takes seconds):Run the installer
Expected Output
Expected Output
Closed terminal or browser? Relaunch anytime
Closed terminal or browser? Relaunch anytime
Option 1: Using uvx (recommended)Option 2: Manual activation
Jupyter Lab opens automatically
Your browser opens at
http://localhost:8888You’ll see the SignalPilot panel in the left and right sidebar with:- Chat interface for agent interaction
- DB, Folder, MCP connectors and explorers
- Plan approval UI (analyst-in-the-loop)
- Skills & Rules editor
Start your first investigation
Use local files: Type
@ in the chat to mention CSV, Excel, or data files from:~/SignalPilotHome/data/(home workspace)./data/(current working project directory)
Launching Jupyter Lab Anytime
Once installed, you can launch Jupyter Lab anytime with:- Opens Jupyter Lab in
~/SignalPilotHomeworkspace - Uses home environment from
~/SignalPilotHome/.venv - SignalPilot extension is pre-loaded
- Opens browser at
http://localhost:8888
Working elsewhere? Use
uvx signalpilot lab to open Jupyter in your current directory with the home environment.Pass custom Jupyter Lab arguments
Pass custom Jupyter Lab arguments
You can pass any Jupyter Lab flags after the command:All standard
jupyter lab arguments work.Manual Installation Methods
If you can’t useuvx or prefer manual setup with pip, conda, or uv:
- Manual with uv
- Manual with pip/conda
- uv tool install
Working in Different Modes
SignalPilot offers three ways to launch Jupyter Lab:Default Mode: Current directory + Home environment
- Opens Jupyter Lab in your current directory
- Uses home environment from
~/SignalPilotHome/.venv - Perfect for quick exploration without setting up new environment
Home Mode: SignalPilotHome workspace + Home environment
- Opens Jupyter Lab in
~/SignalPilotHomedirectory - Uses home environment from
~/SignalPilotHome/.venv - Default workspace with all your skills, rules, and team notebooks
Project Mode: Current directory + Local environment
- Opens Jupyter Lab in your current directory
- Uses local
.venvin that directory (fails if missing) - Great for project-specific work with custom dependencies
- A
.venvmust exist in current directory - Must have
jupyterlabandsignalpilot-aiinstalled
Keeping SignalPilot Updated
SignalPilot automatically checks for updates when you launch Jupyter Lab. When an update is available, you’ll see a notification: For minor updates:Manual upgrade commands
Manual upgrade commands
Upgrade the home environment:Upgrade a project’s local environment:What gets updated:
signalpilotCLI toolsignalpilot-aiJupyter extension- Core dependencies
- Preserves your workspace and configuration
Disable auto-update checks
Disable auto-update checks
Update checks happen in the background and never slow down Jupyter startup.To disable them, edit
~/SignalPilotHome/.signalpilot/config.toml:Managing Python Packages
SignalPilot uses uv for fast, reliable package management.Why uv? 10-100x faster than pip/conda, better dependency resolution, and native integration with SignalPilot kernel.
Add a package
Remove a package
List installed packages
Install from requirements.txt
Troubleshooting
Jupyter Lab won't start
Jupyter Lab won't start
Symptoms: Browser doesn’t open or shows connection errorSolutions:Still not working? Check troubleshooting guide for detailed solutions.
SignalPilot extension not showing
SignalPilot extension not showing
Symptoms: No SignalPilot panel in Jupyter Lab sidebarSolutions:Expected output:
MCP server connection failed
MCP server connection failed
Symptoms: “Cannot connect to MCP server” error in chatSolutions:Note: MCP servers start automatically with Jupyter Lab. If issues persist, check firewall settings.
Permission denied errors
Permission denied errors
Symptoms: Cannot create Important: Never run SignalPilot with
~/SignalPilotHome directorySolutions:sudo — this can cause permission issues later.uv not found
uv not found
Symptoms:
uvx: command not foundSolutions:Full Troubleshooting Guide
Detailed solutions for installation, networking, and runtime issues