Codex Session History
by @sube-py
List and inspect local Codex session history by reading `~/.codex/session_index.jsonl`, `~/.codex/sessions/`, and `~/.codex/archived_sessions/`. Default to u...
clawhub install codex-session-history📖 About This Skill
name: codex-session-history slug: codex-session-history version: 1.0.0 description: List and inspect local Codex session history by reading
~/.codex/session_index.jsonl, ~/.codex/sessions/, and ~/.codex/archived_sessions/. Default to unarchived sessions in ~/.codex/sessions/. Use when users ask what Codex sessions exist, want each session's id or title, need to know which project or workspace a session belongs to, or want to filter sessions by project name, session id, active versus archived status, or a local time window such as "today from 11:00 to 12:00".
metadata: {"openclaw":{"emoji":"🧭","requires":{"bins":["python3"]},"os":["darwin","linux"]}}
Codex Session History
Overview
Use this skill to enumerate local Codex sessions and map each session to its id, title, project, and workspace path.
Prefer the bundled script so the output stays consistent and works even when session_index.jsonl is incomplete.
Workflow
1. Run the script to collect unarchived sessions by default.
2. Use session_meta.payload.id as the canonical session id.
3. Use session_meta.payload.cwd as the workspace anchor.
4. Derive the project from the Git root when possible; otherwise fall back to cwd.
5. Use session_index.jsonl only as enrichment for thread_name and updated_at.
6. Convert stored UTC timestamps into local time before display and time-window filtering.
7. If no thread_name is available, fall back to the first user message summary.
Commands
List recent sessions:
python3 scripts/list_codex_sessions.py
List active and archived sessions together:
python3 scripts/list_codex_sessions.py --source all
List more rows:
python3 scripts/list_codex_sessions.py --limit 50
Filter by project:
python3 scripts/list_codex_sessions.py --project PlayGround
Filter by a local time window on today's date:
python3 scripts/list_codex_sessions.py --from 11:00 --to 12:00
Filter by a local time window on a specific date:
python3 scripts/list_codex_sessions.py --date 2026-03-19 --from 11:00 --to 12:00
Inspect one session id:
python3 scripts/list_codex_sessions.py --session-id 019ce206-aa11-7c81-a65a-fece3708ecf4 --details
Only show archived sessions:
python3 scripts/list_codex_sessions.py --source archived
Return JSON:
python3 scripts/list_codex_sessions.py --json
Output
Default table columns:
idprojectstarted_atupdated_atsourcetitleWith --details, also show:
matched_frommatched_tocwdproject_pathstarted_atsession_filefirst_user_messageNotes
rg because session_index.jsonl may be incomplete.id and cwd.started_at and updated_at are displayed in local time, not raw Z time.cwd.Script
Use:
python3 scripts/list_codex_sessions.py --help
📋 Tips & Best Practices
rg because session_index.jsonl may be incomplete.id and cwd.started_at and updated_at are displayed in local time, not raw Z time.cwd.