JupyterLab extension
Claude Code, in your notebook.
A JupyterLab extension built for agentic AI — first-class Claude Code, with GitHub Copilot, Ollama, and OpenAI-compatible models as drop-in alternates. Skills, Plugins, MCP, and admin policy included.
Works with
Claude Code, first
Sessions, Skills, Plugins, and MCP — all from JupyterLab.
Run Claude Code as a first-class provider for chat, agent runs, and notebook editing. Resume any transcript from the launcher. Manage Skills and Plugins from the UI. Agent mode edits, runs, and fixes cells without leaving the notebook.
Read more →
Bring any other model
GitHub Copilot, Ollama, OpenAI-compatible — same chat surface.
Sign in to Copilot once and use any of its chat or completion models. Point Ollama at a local model you already pulled. Wire NBI to any OpenAI- or LiteLLM-compatible endpoint with a base URL, model ID, and key.
Compare providers →{
"chat_model": {
"provider": "openai-compatible",
"model": "gpt-oss-120b",
"base_url": "https://gateway.internal/v1",
"api_key": "sk-..."
},
"inline_completion_model": {
"provider": "ollama",
"model": "qwen2.5-coder:7b"
}
}Extend it
MCP servers, Claude Skills, and Plugins — managed from the lab.
Expose your own tools, databases, and APIs over the Model Context Protocol. Author Skills inline or import from GitHub. Sync an org-wide manifest so every user in the lab lands with the same set.
Skills, Plugins, MCP →
For administrators
Pin the provider. Lock the endpoint. Ship to your team.
Environment-variable policies set the provider, model, and endpoints — useful for managed JupyterHub deployments. Each policy is a force-on / force-off / user-choice triad, surfaced in Settings as a locked control. Org-managed Skills sync from a manifest you control.
Admin and policy →# Pin the Claude provider and a specific model.
export NBI_CHAT_MODEL_PROVIDER=anthropic
export NBI_CLAUDE_CHAT_MODEL=claude-sonnet-4-6
# Force-on Claude mode; users can't turn it off.
export NBI_CLAUDE_MODE_POLICY=force-on
# Disable user-driven GitHub Skill imports
# (org manifest still works).
export NBI_ALLOW_GITHUB_SKILL_IMPORT=falseFirst run
Install and try it in five minutes.
NBI installs into any JupyterLab 4 environment. Restart the lab and the chat sidebar appears on the left.
pip install notebook-intelligence
- Install.
pip install notebook-intelligenceinto the same env as your JupyterLab. - Restart JupyterLab. The NBI sidebar appears on the left.
- Pick a provider. Open Settings → NBI and configure Claude Code, Copilot, Ollama, or an OpenAI-compatible endpoint.
- Send your first prompt. Or hit Cmd+I inside a code cell for inline chat.