Skip to main content

Session management for the OpenAI Codex CLI in JupyterLab

Project description

jupyterlab_codex_extension

GitHub Actions npm version PyPI version Total PyPI downloads JupyterLab 4 Brought To You By KOLOMOLO Donate PayPal

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.

Codex Sessions panel

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
  • codex CLI on PATH

Install

To install the extension, execute:

pip install jupyterlab_codex_extension

Developers build and install via the project Makefile:

make install

[!WARNING] package.json pins webpack: 5.106.0 and chalk: 4.1.2 in both resolutions and overrides. Do not remove these. webpack >= 5.106.1 changed its module-federation share identifier format and crashes the unmaintained license-webpack-plugin (split('=')[1].trim()) that @jupyterlab/builder injects into every production build; the duplicate chalk@2.4.2 pulled by duplicate-package-checker-webpack-plugin crashes on Node 24+ in the build-isolation install. Without the pins, make publish and CI fail on python -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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jupyterlab_codex_extension-0.6.12.tar.gz (789.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jupyterlab_codex_extension-0.6.12-py3-none-any.whl (104.7 kB view details)

Uploaded Python 3

File details

Details for the file jupyterlab_codex_extension-0.6.12.tar.gz.

File metadata

File hashes

Hashes for jupyterlab_codex_extension-0.6.12.tar.gz
Algorithm Hash digest
SHA256 747d51cf3f6f3ac9520ab0269c8cb1a053a0388c94f09061fd1edfae8844f420
MD5 985e69ec10605ed4ddd9f88450ed0b1a
BLAKE2b-256 8c296482b20495017facf54bfb6cdcb0c8a828114d92005a84524a83a291564c

See more details on using hashes here.

File details

Details for the file jupyterlab_codex_extension-0.6.12-py3-none-any.whl.

File metadata

File hashes

Hashes for jupyterlab_codex_extension-0.6.12-py3-none-any.whl
Algorithm Hash digest
SHA256 58aeaf9010a93638c443608f8afb22dbcdfe1206dcd551533234599536670ae3
MD5 984646b6d5a11c120d5213edcab80786
BLAKE2b-256 7dc4bd62d33b07e506832984cb2610f279b888cf7720ca7aeb2fdeef6b21fd50

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page