Skip to main content

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
Product vs Installer: The Jupyter extension is the product. The CLI just installs it in one command.
Prerequisites: macOS, Linux, or Windows (WSL) • Internet connection Don’t have uv? Install it first (takes seconds):
Then install SignalPilot:
1

Run the installer

Time: ~2 minutesWhat gets created:
Option 1: Using uvx (recommended)
Option 2: Manual activation
2

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
When creating notebooks, always use the default Python 3 kernel. SignalPilot uses this kernel and may not work with other kernels due to missing system variables.
3

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)
Add more folders: Use the File Scanner in the left sidebar to index additional directories.Or jump to the 5-minute quickstart tutorial.

Launching Jupyter Lab Anytime

Once installed, you can launch Jupyter Lab anytime with:
What this does:
  • Opens Jupyter Lab in ~/SignalPilotHome workspace
  • Uses home environment from ~/SignalPilotHome/.venv
  • SignalPilot extension is pre-loaded
  • Opens browser at http://localhost:8888
uvx signalpilot home is shorthand for uvx signalpilot lab --home
Working elsewhere? Use uvx signalpilot lab to open Jupyter in your current directory with the home environment.
You can pass any Jupyter Lab flags after the command:
All standard jupyter lab arguments work.

Manual Installation Methods

If you can’t use uvx or prefer manual setup with pip, conda, or uv:
When to use: Corporate environments, custom Python setup, or full control
1

Install uv

2

Create workspace and install packages

3

Launch Jupyter Lab

Opens at http://localhost:8888
Next time: Just activate and run:

Working in Different Modes

SignalPilot offers three ways to launch Jupyter Lab:

Default Mode: Current directory + Home environment

What this does:
  • Opens Jupyter Lab in your current directory
  • Uses home environment from ~/SignalPilotHome/.venv
  • Perfect for quick exploration without setting up new environment
If you have a local .venv with jupyter, you’ll see a red warning prompting you to use --project flag.

Home Mode: SignalPilotHome workspace + Home environment

What this does:
  • Opens Jupyter Lab in ~/SignalPilotHome directory
  • Uses home environment from ~/SignalPilotHome/.venv
  • Default workspace with all your skills, rules, and team notebooks
Shorthand for uvx signalpilot lab --home

Project Mode: Current directory + Local environment

What this does:
  • Opens Jupyter Lab in your current directory
  • Uses local .venv in that directory (fails if missing)
  • Great for project-specific work with custom dependencies
Requirements:
  • A .venv must exist in current directory
  • Must have jupyterlab and signalpilot-ai installed
Create a project environment:

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:
For major updates:
Upgrade the home environment:
Upgrade a project’s local environment:
What gets updated:
  • signalpilot CLI tool
  • signalpilot-ai Jupyter extension
  • Core dependencies
  • Preserves your workspace and configuration
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

Symptoms: Browser doesn’t open or shows connection errorSolutions:
Still not working? Check troubleshooting guide for detailed solutions.
Symptoms: No SignalPilot panel in Jupyter Lab sidebarSolutions:
Expected output:
Symptoms: “Cannot connect to MCP server” error in chatSolutions:
Note: MCP servers start automatically with Jupyter Lab. If issues persist, check firewall settings.
Symptoms: Cannot create ~/SignalPilotHome directorySolutions:
Important: Never run SignalPilot with sudo — this can cause permission issues later.
Symptoms: uvx: command not foundSolutions:

Full Troubleshooting Guide

Detailed solutions for installation, networking, and runtime issues

Next Steps

5-Minute Quickstart

Complete your first investigation with real data

Connect a Database

PostgreSQL, Snowflake, BigQuery, Databricks

dbt Integration

Connect dbt Cloud or Core for lineage awareness

Key Concepts

Understand agents, memory, hooks, skills, and rules