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.6.0

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.6.0
File Size Uploaded
jupyter_aiterminal-0.6.0.tar.gz 295.6 kB Details

Built distribution (wheel)

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

Total release size: 344.4 kB

Release files / jupyter_aiterminal-0.6.0.tar.gz

Download URL jupyter_aiterminal-0.6.0.tar.gz
Size 295.6 kB
Tags Source
SHA-256 checksum
How to use checksums
978bc2daf9f372842c08c8a45df8fad27c5040e87a389f188edadd94d46679f3
BLAKE2b-256 checksum
How to use checksums
d2f89298fe5f1e68c5d24ed441f6a4a324975462363dc420d757515d3cca444f
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 17, 2026.

Transparency log

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

Download URL jupyter_aiterminal-0.6.0-py3-none-any.whl
Size 48.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c7b4417a6647d1238e3f866bfdd6d4f80fbfdc9760c0f5962cec26218cc2e76f
BLAKE2b-256 checksum
How to use checksums
8f595272d5e39f3d2288fa26f7d45923e8738b3d68f627b69b3ad355200cef8f
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 17, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.6.0 This release

2 release files

0.5.2

2 release files

0.5.1

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