Skip to main content

jupyter-aiterminal

AI Terminal for JupyterLab. Mixed AI and Command cells in a notebook-like workspace, saved as .agentnb files.

What it does

  • AI cells send natural language to the Claude Agent SDK on the Jupyter server (Read / Write / Edit / Bash / Glob / Grep). Markdown in the reply is rendered.
  • Command cells run non-interactive bash with a persistent cwd and streaming output.
  • New workspaces appear in the file browser as Untitled.agentnb. Content autosaves. Closing the tab closes the document; a full Jupyter refresh only restores tabs that were still open.

It does not include a classic SSH terminal or interactive TUI (vim / ssh / full-screen apps).

Security warning

This extension gives the AI agent and every Command cell the ability to run arbitrary commands as the Jupyter server user. Treat access to it as equivalent to a shell on that machine.

  • The agent runs with permission_mode: bypassPermissions and holds Read, Write, Edit, Bash, Glob, and Grep. There is no per-command confirmation prompt.
  • Command cells execute arbitrary bash in a long-lived shell, as the user running Jupyter.
  • policy.py blocks apt/yum/dnf and curl | sh style installs. That is a guardrail against careless damage, not a sandbox — it does not constrain what the agent can do.
  • Any user who can authenticate to the Jupyter server can reach this extension.

Recommended precautions:

  • Never expose a Jupyter server running this extension to an untrusted network, and do not share an instance with people you would not give a shell.
  • Run it inside a container or VM you are willing to lose.
  • Keep Jupyter's own authentication enabled.

Requirements

  • Python 3.10+
  • JupyterLab 4.5 (4.x <5)
  • claude-agent-sdk
  • A claude CLI on the Jupyter server PATH
  • An Anthropic-compatible API (official Anthropic or a local relay)

Install

pip

pip install jupyter-aiterminal

Restart JupyterLab after install.

git

pip install "git+https://github.com/wangyusheng1985/jupyter-plugin-aiterminal.git"

from a local clone

git clone https://github.com/wangyusheng1985/jupyter-plugin-aiterminal.git
cd jupyter-plugin-aiterminal
pip install .

Uninstall:

pip uninstall jupyter-aiterminal

Configure

Open Settings → AI Terminal and set:

Setting Meaning
Base URL Anthropic-compatible API root, e.g. https://api.anthropic.com or a relay
Model Model id passed to the Agent SDK
API Token API key / token

All three are required. Empty values produce a config error that points back to Settings. Changing them takes effect the next time you open AI Terminal (a new WebSocket).

The token is stored in JupyterLab user settings on the server (~/.jupyter/lab/user-settings/jupyter-aiterminal/) and is visible in the Settings UI. Do not commit that file. The Agent WebSocket does not send the token to the browser.

Use

  1. Open the Launcher → OtherAI Terminal.
  2. A .agentnb file is created in the current file-browser directory.
  3. Type in a cell. Double-click the prompt (or use the toolbar) to switch AI / Command.
  4. Run with Shift+Enter (run and advance) or the toolbar Run button.
  5. Select text in a cell to show a copy icon at the pointer; click it to copy. Cmd/Ctrl+C / V / X / A work as usual. In command mode, dd deletes the cell.

Command cells share one bash session per tab, so cd persists. AI cells use the server-side Agent SDK, not that bash session.

Develop

jlpm install
jlpm test
jlpm typecheck
jlpm eslint
pytest
python -m build

License

BSD-3-Clause

Release files for jupyter-aiterminal 0.5.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jupyter-aiterminal 0.5.1
File Size Uploaded
jupyter_aiterminal-0.5.1.tar.gz 227.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jupyter-aiterminal 0.5.1
File Interpreter ABI Platform
jupyter_aiterminal-0.5.1-py3-none-any.whl Python 3 none any Details

Total release size: 267.9 kB

Release files / jupyter_aiterminal-0.5.1.tar.gz

Download URL jupyter_aiterminal-0.5.1.tar.gz
Size 227.1 kB
Tags Source
SHA-256 checksum
How to use checksums
48bad79953d6764511002754bf056feeca4b48027c34ffdeaf1286a3126c6e82
BLAKE2b-256 checksum
How to use checksums
72361aea686022dfc232d9cb22a5bc08c131721e0cc2f360fe9e9d6c2285fe90
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.

Transparency log

Release files / jupyter_aiterminal-0.5.1-py3-none-any.whl

Download URL jupyter_aiterminal-0.5.1-py3-none-any.whl
Size 40.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5c964c2ade948716255a0d65d65713a56769b2f472735ef6513272f61f0230ba
BLAKE2b-256 checksum
How to use checksums
44933413978de30a6451159a356676a9db16856dbec7fa0c556190dc12ad0dd9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.

Transparency log

Release history Release notifications | RSS feed

0.6.0

2 release files

0.5.2

2 release files

This release

0.5.1 This release

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page