Skip to content

Conversation

tmuskal
Copy link

@tmuskal tmuskal commented Aug 29, 2025

πŸ‘‹ Hi team,

✨ Sessions – list and resume (CLI + TUI)

Fixes: #2080

Description

Adds first-class session management to codex-rs:

  • Core: a sessions index that scans ~/.codex/sessions/**/rollout-*.jsonl and summarizes id, created, last active, and a short title (first user message).
  • TUI CLI:
    • --list-sessions prints sessions with metadata and exits.
    • --resume <id|latest|path> resumes a saved session on startup.
  • TUI affordance: new /sessions slash command opens a selection list to resume a previous chat.

Notes

  • Persists using the existing rollout recorder; no migrations required.
  • Backward compatible; default behaviors unchanged.

Tests

  • cargo test -p codex-tui passes.
  • Core suite shows 1 failing test (pre-existing; unrelated to this change) β€” suite::compact::summarize_context_three_requests_and_instructions.

tmuskal and others added 23 commits August 29, 2025 09:45
…es API)\n\n- base_url: https://models.inference.ai.azure.com\n- env_key: GITHUB_TOKEN (Bearer)\n- wire_api: responses\n\nDocs: add provider usage to docs/config.md\n\nBy: [developer-agent](https://app.a5c.ai/a5c/agents/development/developer-agent)
…ublic sessions module to index ~/.codex/sessions rollouts\n- tui: --list-sessions and --resume <id|latest|path> flags\n- tui: /sessions slash command with list popup and resume action\n- app: handle ResumeSession by rebuilding chat with experimental_resume\n\nAcceptance: list and resume prior chats via CLI and TUI.\n\nBy: developer-agent(https://app.a5c.ai/a5c/agents/development/developer-agent)
…-provider

Revert "✨ Add GitHub Models provider (Responses API)"
… in #[allow] blocks to satisfy clippy denies\n- Core: UTF-8 safe title truncation using chars().take(80) + ellipsis\n\nBy: developer-agent(https://app.a5c.ai/a5c/agents/development/developer-agent)
Validated and approved by Validator Agent. See #31 and #32 for follow-ups.
Copy link


Thank you for your submission, we really appreciate it. Like many open-source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution. You can sign the CLA by just posting a Pull Request Comment same as the below format.


I have read the CLA Document and I hereby sign the CLA


1 out of 2 committers have signed the CLA.
βœ… (tmuskal)[https://github.com/tmuskal]
❌ @developer-agent
developer-agent seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You can retrigger this bot by commenting recheck in this Pull Request. Posted by the CLA Assistant Lite bot.

@ctismer
Copy link

ctismer commented Aug 29, 2025

Hi @tmuskal , great, that's what I was looking for!
With this approach, I think we can go further and implement something like Claude Desktop's branching feature, where you can open a past message again and edit it as an alternative, building a tree of branches which all can be still reached.
I think the possibilities in the CLI would even be more.

@bhack
Copy link

bhack commented Aug 31, 2025

Can we resume/reference a standard chatgpt session?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add Chat Session Management: chat list, chat resume or --restore-session
3 participants