| name | codexplusplus-launcher |
| description | Enhanced launcher for Codex App that unlocks plugins, enables session deletion, exports conversations, and syncs provider sessions via CDP injection |
| triggers | ["how do I set up Codex++ to enhance my Codex App","install and configure the Codex++ launcher","enable session deletion in Codex App","unlock plugins in Codex API key mode","export Codex conversations to markdown","sync provider sessions in Codex++","troubleshoot Codex++ not launching","configure Codex++ settings and features"] |
Codex++ Launcher Skill
Skill by ara.so — Codex Skills collection.
Codex++ is an external enhancement launcher for Codex App that doesn't modify the original installation. It uses Chromium DevTools Protocol (CDP) to inject enhancement scripts that unlock plugins in API key mode, enable session deletion, export conversations to Markdown, sync provider sessions, and add a timeline view.
Installation
Windows
Quick setup using batch script:
git clone https://github.com/BigPizzaV3/CodexPlusPlus.git
cd CodexPlusPlus
setup.bat
Command line installation:
python -m pip install -e .
python -m codex_session_delete setup
python -m codex_session_delete launch
After setup, double-click Codex++.lnk on the desktop to launch.
macOS
python -m pip install -e .
python -m codex_session_delete setup
python -m codex_session_delete launch
Key Commands
Launch and Setup
python -m codex_session_delete launch
python -m codex_session_delete launch --debug-port 9229 --helper-port 57321
python -m codex_session_delete launch \
--app-dir "C:/Program Files/WindowsApps/OpenAI.Codex_xxx/app"
python -m codex_session_delete setup
python -m codex_session_delete remove
python -m codex_session_delete remove --remove-data
Updates
python -m codex_session_delete check-update
python -m codex_session_delete update
Windows Auto-Watcher (Optional)
Automatically intercept Codex launches and use Codex++ instead:
python -m codex_session_delete watch-install
python -m codex_session_delete watch-remove
python -m codex_session_delete watch-disable
python -m codex_session_delete watch-enable
Core Features
1. Plugin Unlock in API Key Mode
When using API Key authentication, Codex App normally disables plugin access. Codex++ unlocks this functionality.
How it works:
- Injects
renderer-inject.js via CDP
- Patches frontend to enable plugin UI
- Allows force-installation of special plugins
2. Session Deletion
Codex natively only allows archiving. Codex++ adds true deletion with undo support.
Features:
- Delete button appears on hover in session list
- Confirmation dialog before deletion
- Undo capability via local backup
- SQLite database cleanup
Data locations:
~/.codex/state_5.sqlite
~/.codex-session-delete/backups/
3. Markdown Export
Export conversations with local rollout data and timestamps.
Access:
- Click
Codex++ menu → Export conversation
- Exports current session to timestamped
.md file
4. Provider Sync
Syncs session metadata when switching model providers to prevent conversation loss.
Enable in settings:
- Click
Codex++ menu
- Open settings panel
- Enable "Provider 同步" (Provider Sync)
- Restart Codex++
What it syncs:
- Rollout files
- SQLite thread records
- Project path cache
Backup location:
~/.codex/backups_state/provider-sync/
5. Conversation Timeline
Shows a right-sidebar timeline of user questions with timestamps and summaries.
Usage:
- Automatically appears in conversation view
- Hover for message summary
- Click to jump to message
Configuration
Settings Panel
Access via Codex++ menu in the top menu bar.
Available settings:
- Enable/disable Provider Sync
- Configure auto-launch behavior
- View backend status (green/red indicator)
- Check version and updates
Environment Variables
export HTTP_PROXY="http://127.0.0.1:7897"
export HTTPS_PROXY="http://127.0.0.1:7897"
python -m codex_session_delete launch
On Windows PowerShell:
$env:HTTP_PROXY="http://127.0.0.1:7897"
$env:HTTPS_PROXY="http://127.0.0.1:7897"
python -m codex_session_delete launch
Programmatic Launch
from codex_session_delete.launcher import launch_codex_with_cdp
launch_codex_with_cdp(
app_dir="C:/Program Files/WindowsApps/OpenAI.Codex_1.2024.xxx/app",
debug_port=9229,
helper_port=57321,
user_data_dir=None
)
Project Structure
codex_session_delete/
cli.py # CLI entry point
launcher.py # Launch Codex with CDP injection
cdp.py # CDP communication and bridge
helper_server.py # Local helper HTTP server
storage_adapter.py # SQLite deletion/undo operations
provider_sync.py # Provider metadata sync
settings_store.py # Settings persistence
windows_installer.py # Windows shortcuts and uninstaller
macos_installer.py # macOS app bundle generation
watcher.py # Windows auto-watcher (optional)
inject/
renderer-inject.js # Frontend injection script
tests/ # Test suite
Common Patterns
Custom Installation Path
python -m codex_session_delete launch \
--app-dir "/custom/path/to/Codex/app"
Proxy Configuration for GitHub Resources
python -m codex_session_delete launch
export HTTP_PROXY="http://127.0.0.1:7897"
export HTTPS_PROXY="http://127.0.0.1:7897"
python -m codex_session_delete launch
Backup and Recovery
from codex_session_delete.storage_adapter import LocalStorageAdapter
adapter = LocalStorageAdapter()
adapter.delete_session(session_id="abc123")
adapter.undo_delete(session_id="abc123")
Provider Sync Automation
from codex_session_delete.provider_sync import ProviderSync
sync = ProviderSync()
sync.sync_all_providers()
Development
Setup Development Environment
git clone https://github.com/BigPizzaV3/CodexPlusPlus.git
cd CodexPlusPlus
python -m pip install -e .[test]
python -m pytest -q
Testing CDP Injection
import asyncio
from codex_session_delete.cdp import CDPClient
async def test_injection():
client = CDPClient(port=9229)
await client.connect()
await client.inject_script("console.log('Test injection');")
await client.close()
asyncio.run(test_injection())
Troubleshooting
Codex++ Doesn't Launch
Check logs:
type %USERPROFILE%\.codex-session-delete\launcher.log
cat ~/.codex-session-delete/launcher.log
Common issues:
- Codex App not installed
- Port 9229 already in use
- Python environment not accessible
- Codex path changed after update
Solution:
python -m codex_session_delete launch --app-dir "path/to/Codex/app"
Codex++ Menu Not Appearing
Verify launch method:
- Must launch from
Codex++ shortcut, not original Codex
- Check if Codex is running with
--remote-debugging-port=9229
Check CDP connection:
curl http://127.0.0.1:9229/json
Plugin Loading Failed or GitHub Resource Errors
Cause: Network cannot reach GitHub directly.
Solutions:
python -m codex_session_delete launch
export HTTP_PROXY="http://127.0.0.1:7897"
export HTTPS_PROXY="http://127.0.0.1:7897"
python -m codex_session_delete launch
curl --proxy http://127.0.0.1:7897 https://github.com
Sessions Disappear After Provider Switch
Enable Provider Sync:
- Click
Codex++ menu
- Open settings panel
- Enable "Provider 同步"
- Restart Codex++
Manual sync:
python -m codex_session_delete launch
Port Already in Use
python -m codex_session_delete launch \
--debug-port 9230 \
--helper-port 57322
netstat -ano | findstr :9229
lsof -i :9229
Watcher Not Working (Windows)
Check watcher status:
type %USERPROFILE%\.codex-session-delete\watcher.log
python -m codex_session_delete watch-remove
python -m codex_session_delete watch-install
SQLite Database Locked
Cause: Codex is still running or file is locked.
Solution:
taskkill /F /IM Codex.exe
killall Codex
python -m codex_session_delete launch
Data Locations Reference
~/.codex/state_5.sqlite
~/.codex-session-delete/backups/
~/.codex/backups_state/provider-sync/
~/.codex-session-delete/launcher.log
%USERPROFILE%\.codex-session-delete\watcher.log
~/.codex-session-delete/settings.json
Security Notes
- Codex++ runs a local HTTP helper server (default port 57321)
- Only accepts connections from
localhost by default
- Does not expose delete/undo endpoints to prevent accidental triggers
- All operations require CDP bridge authentication
- No modification of original Codex App files
- Backups are stored locally and not transmitted