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.1.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.1.0
File Size Uploaded
jupyter_aiterminal-0.1.0.tar.gz 187.1 kB Details

Built distribution (wheel)

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

Total release size: 226.0 kB

Release files / jupyter_aiterminal-0.1.0.tar.gz

Download URL jupyter_aiterminal-0.1.0.tar.gz
Size 187.1 kB
Tags Source
SHA-256 checksum
How to use checksums
7e127c54073b42a66b41623250ef2efe1b717e59afb26a5dd48368babd77125a
BLAKE2b-256 checksum
How to use checksums
fb9610700f09e7c0e4952e7ddb229f9823cbfa4f53350bb898409b7557e05816
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 14, 2026.

Transparency log

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

Download URL jupyter_aiterminal-0.1.0-py3-none-any.whl
Size 38.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2a813c49ffc2ca27462a0826695a8a8edd03b1f951fb5853c2f191fb82b1847e
BLAKE2b-256 checksum
How to use checksums
41f30600b82ac330490a6126a04c2a4eafdaf1ba9a5a7d78da358a437168b79e
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 14, 2026.

Transparency log

Release history Release notifications | RSS feed

0.6.0

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

This release

0.1.0 This release

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