Skip to main content
Managing Sessions & Changes

Session Management

Overview

Every time you run Qoder CLI, it creates a session that records the complete history of the conversation—your inputs, Qoder's responses, and tool calls. Sessions can be continued, resumed, named, branched, and cleared, allowing you to flexibly switch between different tasks and pick up where you left off after an interruption. Sessions are isolated and stored per project. Each session has a unique session ID, and session logs are saved in project-organized directories under the User Configuration Directory (default ~/.qoder/projects/<项目>/<session-id>.jsonl).

New Session

Running qodercli directly in the project root directory starts a new session, and the system automatically generates a session ID:
qodercli
In an interactive session, use /new to start a brand new session; /clear clears the Conversation History and also starts a new session, both achieving similar results.

Naming Sessions

Use -n (--name) to set an easily recognizable display name for a session:
qodercli -n "Refactor login"
You can also use /rename to rename the current session from within the session.

Specifying a Session ID

Use --session-id to specify a session ID, making it easy for scripts or automated workflows to reference a fixed session:
qodercli --session-id 00000000-0000-0000-0000-000000000000

Continue and Resume

Continuing the Most Recent Session

Use -c (--continue) to directly continue the most recent session for the current project:
qodercli -c

Resuming a Specific Session

Use -r (--resume) to resume a previous session by its ID:
qodercli -r <session-id>
Running qodercli --resume without an ID opens the Session Browser, allowing you to select the session to resume from a list. In an interactive session, the /resume command also opens the Session Browser; /continue continues the most recent session.

Forking Sessions

Use --fork-session to fork a resumed session into a new branch instead of continuing the original session. This allows you to explore different directions from a historical point while keeping the original session intact:
qodercli -r <session-id> --fork-session
In an interactive session, you can also use /branch to create a branch from the current session.

Exporting Sessions

Use /export to export the current conversation to a file or copy it to the clipboard for sharing, archiving, or further analysis elsewhere:
/export

Listing and Deleting

Use --list-sessions to list currently available sessions:
qodercli --list-sessions
Use --delete-session to delete a session by its list index:
qodercli --delete-session <index>

Session Storage Location

Session logs are isolated by project and saved under the User Configuration Directory:
~/.qoder/projects/<processed-project-path-name>/<session-id>.jsonl
~/.qoder/projects/<processed-project-path-name>/<session-id>/state.json
Within this directory, .jsonl stores the conversation logs, and state.json stores the session state. The User Configuration Directory defaults to ~/.qoder and can be customized via the QODER_CONFIG_DIR Environment Variable.

Commands and Arguments Quick Reference

Command / ArgumentDescription
qodercliCreate a new session
-c, --continueContinue the most recent session
-r, --resume [id]Resume a specific session; opens the Session Browser if no ID is provided
-n, --name <name>Set the session display name
--session-id <id>Use a specified session ID
--fork-sessionCreate a branch from a resumed session
--list-sessionsList available sessions
--delete-session <index>Delete a session by index
/newStart a new session within a session
/clearClear the Conversation History and start a new session
/renameRename the current session
/branchCreate a branch from the current session
/resume, /continueResume / continue a session
/exportExport the current conversation