jupyterlab_commands_extension
Display all available JupyterLab commands with their full reference IDs and arguments in a dedicated tab. The same tab exposes an allowlist of commands that the jupyterlab-commands CLI can run in the browser from a terminal.
Features
- Command reference tab - Opens a new tab listing every registered JupyterLab command
- Full command IDs - Shows complete command identifiers, for example
iframe:openandfilebrowser:copy - Argument inspection - Displays command arguments extracted from the running application
- Searchable list - Filters commands by command ID, label or description
- Command executor - Runs an allowed command from a terminal through the
jupyterlab-commandsCLI - Allowlist - Restricts the CLI to the command IDs in the
allowedCommandssetting
Requirements
- JupyterLab >= 4.0.0
- Python >= 3.10
Installation
pip install jupyterlab_commands_extension
For a development install from a clone, run make install.
Command line
jupyterlab-commands runs in a terminal of the lab. It finds the running Jupyter server, selects the most recently registered browser tab with the extension active, and asks that tab to run one command. Discovery uses the loopback address by default, and loopback requests bypass any proxy. An explicit --url with JUPYTERLAB_COMMANDS_TOKEN set reaches a remote server. The token is sent in the Authorization header and is never printed.
JUPYTERLAB_COMMANDS_TOKEN=... jupyterlab-commands --url https://remote-host:8888 --list
jupyterlab-commands --help and jupyterlab-commands <command> --help hold the full reference. The two subcommands are list, which prints the allowed command IDs, and execute, which runs one allowed command. --json prints machine-readable output.
Exit codes: 0 success, 2 discovery or usage error, 3 no browser client, 4 command not allowed, 5 execution error.
The browser tab is the executor: the command runs in the lab, not in the terminal.
Allowlist
The allowedCommands setting holds the command IDs the CLI may run. The defaults are docmanager:open, help:open, apputils:notify, notebook:create-new, console:create, terminal:create-new, launcher:create and jupyterlab-commands-reference:open.
The Add to command executor button in the Command Executor column of the reference tab appends that command ID to the setting, and the button then shows Added. The setting can also be edited directly in Settings > Settings Editor > Commands Executor, whose plugin ID is jupyterlab_commands_extension:plugin.
The reference tab opens from the command palette as Show Commands Reference under Help, and carries the text editor icon.
Agent skill
The agent skill at .agents/skills/jupyterlab-commands-extension/SKILL.md tells an AI assistant to read jupyterlab-commands --help first and adds only the rules the help cannot enforce. The wheel installs a copy at <sys.prefix>/share/jupyter/agents/skills/jupyterlab-commands-extension/SKILL.md. No agent reads that directory, so link the copy where agents look.
After pip install, with the Python that runs the lab, link the copy where Claude Code reads skills:
mkdir -p ~/.claude/skills && ln -s "$(python -c 'import sys; print(sys.prefix)')/share/jupyter/agents/skills/jupyterlab-commands-extension" ~/.claude/skills/jupyterlab-commands-extension
From a clone:
mkdir -p ~/.claude/skills && ln -s "$PWD/.agents/skills/jupyterlab-commands-extension" ~/.claude/skills/jupyterlab-commands-extension
Uninstall
pip uninstall jupyterlab_commands_extension
Contributing
If you would like to contribute to this extension, please refer to the Contributing Guide.
Metadata
Release files for jupyterlab-commands-extension 1.0.16
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| jupyterlab_commands_extension-1.0.16.tar.gz | 603.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jupyterlab_commands_extension-1.0.16-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 655.8 kB
Release files / jupyterlab_commands_extension-1.0.16.tar.gz
| Download URL | jupyterlab_commands_extension-1.0.16.tar.gz |
|---|---|
| Size | 603.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b50f032a9477cb740909c57d1a3304e43632dc320009af245eec078c10537233
|
|
BLAKE2b-256 checksum How to use checksums |
0369a8036d3d277e677ae687ac424b9ac12fcdeeed1eb12adb4cb07f2f0b3f79
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.8
|
Release files / jupyterlab_commands_extension-1.0.16-py3-none-any.whl
| Download URL | jupyterlab_commands_extension-1.0.16-py3-none-any.whl |
|---|---|
| Size | 52.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
305e8980da5c5f278db808682c9509c1d8696332b12896c6272da3753e2ee78e
|
|
BLAKE2b-256 checksum How to use checksums |
2f71ba3b9a7935b8120dba0d1ef95c5ce03f2305da73dd79c55db0453efa63c8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.8
|