jupyterlab_codex_extension
Session management for the OpenAI Codex CLI in JupyterLab. Start, resume, fork, switch, and clean up Codex CLI sessions from a side panel - one click lands you in the right terminal with Codex already running, no duplicate tabs, no session-id hunting. The Codex counterpart of jupyterlab_claude_code_extension, with identical functionality wherever the Codex CLI makes it possible.
The extension runs the genuine, unmodified Codex CLI in JupyterLab terminals - every Codex release works the day it lands. The extension owns the JupyterLab side: launching, finding, reusing, and managing sessions.
Features
- Side panel with Favorites, Recent, and All projects, each scrolling independently
- One-click resume - click a row to jump back into that session; a terminal already running that conversation is reused, never duplicated
- Live activity indicator - see which projects have a Codex process running right now, with last-activity times on every row
- Session switcher - list a project's parallel conversations, pick one and the next click resumes exactly that one
- Branch session - fork the current conversation into a new one in its own terminal
- Clean up parallel sessions - remove a project's extra conversations, keeping only the current one; honours JupyterLab's trash setting, archiving conversations when it is on and deleting them permanently when it is off
- Search - fuzzy filter across projects, with presentation modes (session name or relative path)
- Approval bypass - opt-in and off by default: a setting and a matching menu entry launch Codex with
--dangerously-bypass-approvals-and-sandbox, skipping every approval prompt and the sandbox - Auto-disabled when the Codex CLI is not installed
Requirements
- JupyterLab >= 4.0.0
- Python >= 3.10
codexCLI onPATH
Install
To install the extension, execute:
pip install jupyterlab_codex_extension
Developers build and install via the project Makefile:
make install
[!WARNING]
package.jsonpinswebpack: 5.106.0andchalk: 4.1.2in bothresolutionsandoverrides. Do not remove these. webpack>= 5.106.1changed its module-federation share identifier format and crashes the unmaintainedlicense-webpack-plugin(split('=')[1].trim()) that@jupyterlab/builderinjects into every production build; the duplicatechalk@2.4.2pulled byduplicate-package-checker-webpack-plugincrashes on Node 24+ in the build-isolation install. Without the pins,make publishand CI fail onpython -m build.
[!NOTE] Codex mints its own session ids, so a new or forked conversation is identified after launch rather than before it. Everything the Codex CLI cannot express is recorded as a deviation in
docs/acc-crit-jupyterlab-codex-extension.md.
Uninstall
To remove the extension, execute:
pip uninstall jupyterlab_codex_extension
Metadata
Release files for jupyterlab-codex-extension 0.6.12
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_codex_extension-0.6.12.tar.gz | 789.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jupyterlab_codex_extension-0.6.12-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 894.5 kB
Release files / jupyterlab_codex_extension-0.6.12.tar.gz
| Download URL | jupyterlab_codex_extension-0.6.12.tar.gz |
|---|---|
| Size | 789.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
747d51cf3f6f3ac9520ab0269c8cb1a053a0388c94f09061fd1edfae8844f420
|
|
BLAKE2b-256 checksum How to use checksums |
8c296482b20495017facf54bfb6cdcb0c8a828114d92005a84524a83a291564c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.14
|
Release files / jupyterlab_codex_extension-0.6.12-py3-none-any.whl
| Download URL | jupyterlab_codex_extension-0.6.12-py3-none-any.whl |
|---|---|
| Size | 104.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
58aeaf9010a93638c443608f8afb22dbcdfe1206dcd551533234599536670ae3
|
|
BLAKE2b-256 checksum How to use checksums |
7dc4bd62d33b07e506832984cb2610f279b888cf7720ca7aeb2fdeef6b21fd50
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.14
|