open-index/open-npm huggingface dataset:
npm package: @mylesiyabor/claudex
Description: Ink TUI for chatting with Claude Code and Codex CLI from one switchable interface.
Latest version: 0.1.2

# claudex

Ink TUI that lets you chat through either native `claude` or native `codex`, switch the active backend mid-thread, and import Claude JSONL sessions into Codex sessions.

## Install

```bash
cd /Users/myles/Development/Repos/claudex
npm install
npm link
```

## Start

```bash
claudex
claudex --cli claude
claudex resume --cli claude 22ef532e-636f-4666-bf17-ccd272f8877d
claudex resume --cli codex ca36d796-b8cb-46c9-b0d1-6de1d8480dba
```

If you pass a Claude session ID to `claudex resume --cli codex <session>`, it will import that Claude transcript into a new Codex rollout file and then open the Codex side.

Claude imports are compacted so Codex does not start already over context:
- one handoff summary message with source session metadata and archive paths
- the last 120 Claude messages in active Codex context
- the full Claude JSONL transcript archived under `~/.codex/memories/claude/transcripts/`
- Claude markdown memories synced under `~/.codex/memories/claude/`

## In-App Commands

```text
/use claude
/use codex
/resume --cli claude <session-id>
/resume --cli codex <session-id-or-claude-jsonl-path>
/menu
/ids
/sync-memory
/stop
/clear
/help
/exit
```

## One-Shot Import

```bash
claudex import-claude 22ef532e-636f-4666-bf17-ccd272f8877d
```

This prints the generated Codex session ID, writes a compact rollout file under `~/.codex/sessions/YYYY/MM/DD/`, and archives the full Claude JSONL under `~/.codex/memories/claude/transcripts/`.