Interactive Resume

Resume a prior session directly into the interactive TUI — model, transcript, and conversational memory restored

Resume where you left off, straight from the shell — the interactive TUI opens with your prior model, transcript, and agent memory already loaded.

Diagram

Bare interactive launch

💻 praisonai -c

🔑 Resolve session

⚙️ Restore model

📜 Replay transcript

🧠 Wire agent to store

✅ Ready for next prompt

Quick Start

  1. Resume the most recent session
    bash
    praisonai -c
  2. Resume a specific session id
    bash
    praisonai --session abc12345
  3. Fork a resumed session non-destructively
    bash
    praisonai --fork --session abc12345

How It Works

The bare launch resolves a session, restores its model, replays its transcript, and wires the agent to its store — all before the first prompt.

Diagram
AgentInteractive TUISession Storepraisonai (bare)UserAgentInteractive TUISession Storepraisonai (bare)Userpraisonai -cfind_last_session()session_id + modelAsyncTUIConfig(session_id, model, resume=True)load(session_id)chat historyreplayed transcriptnew prompt(wired to session store)continues the conversation
StepWhat happens
Resolvefind_last_session (for -c) or session_exists_anywhere (for --session <id>) locates the session across project + global stores.
Modelfind_session_model restores the recorded model — resumes stay on the original provider.
ReplayThe transcript is drawn into scrollback with the same renderer as /continue.
WireThe primary agent is wired to the resumed session’s store via apply_cli_session_continuity — follow-up prompts have full conversational memory.
ForkHierarchicalSessionStore.fork_session mints a child id; the resumed launch continues on the fork, leaving the source session unchanged.

If the resume path fails, the launch degrades to a fresh session rather than aborting. The no-flag path (praisonai) is byte-identical to previous versions.


Configuration Options

Bare praisonai accepts:

OptionShortDescription
--continue-cResume the most recent project session.
--session <id>-s <id>Resume a specific session id.
--forkFork the resumed session non-destructively. Requires --continue or --session.

Validation errors (exit 1, parity with run):

  • --fork without --continue / --session → --fork requires --continue or --session to specify which session to fork from
  • --continue + --session together → Cannot use both --continue and --session together

Common Patterns

Resume, then keep working — your next prompt has full memory of prior turns:

bash
praisonai -c
# ❯ (transcript replayed) …
# ❯ now refactor the auth module we discussed

Branch a resumed session to explore an idea without disturbing the original:

bash
praisonai --fork --session abc12345

Hop between sessions from inside the TUI with the extended slash command:

bash
❯ /continue          # most recent session
❯ /continue abc12345 # a specific session id

Best Practices

Use -c for the fastest return

Bare praisonai -c is the shortest path back into your last conversation — no session id lookup, no subcommand.

Fork before branching an idea

Forking preserves the original transcript so you can branch without losing the parent timeline.

Switch sessions without leaving the TUI

The in-TUI /continue command now accepts an optional id — use it to hop between sessions without restarting.

Trust the fresh-session fallback

A failure in the resume path degrades to a fresh session rather than aborting the launch, so -c is always safe to try.


Related