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/<project>/<session-id>.jsonl).
New Session
Running qoder directly in the project root directory starts a new session, and the system automatically generates a session ID:
/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:
/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:
Continue and Resume
Continuing the Most Recent Session
Use -c (--continue) to directly continue the most recent session for the current project:
Resuming a Specific Session
Use -r (--resume) to resume a previous session by its ID:
qoder --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:
/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:
Listing and Deleting
Use --list-sessions to list currently available sessions:
--delete-session to delete a session by its list index:
Session Storage Location
Session logs are isolated by project and saved under the User Configuration 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 / Argument | Description |
|---|---|
qoder | Create a new session |
-c, --continue | Continue 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-session | Create a branch from a resumed session |
--list-sessions | List available sessions |
--delete-session <index> | Delete a session by index |
/new | Start a new session within a session |
/clear | Clear the Conversation History and start a new session |
/rename | Rename the current session |
/branch | Create a branch from the current session |
/resume, /continue | Resume / continue a session |
/export | Export the current conversation |