Session2md is a standalone Tauri desktop app for browsing local AI CLI conversations and exporting them as Markdown.
Session2md is based on the open-source CC Switch project. It is maintained as a separate project, with a focused scope for browsing, managing, and exporting local sessions.
Session2md discovers sessions from these local tools:
- Codex
- Claude Code
- Gemini CLI
- Grok Build
- OpenCode
- OpenClaw
- Hermes
- Pi
- MiniMax Code
- DeepSeek Harness
- Kimi Code
- ZCode
- Qoder CLI
- WorkBuddy
- Qwen Work
- Antigravity CLI
- Cursor
- Kilo Code
- Cline
- Goose
- Zed
- MiMo Code
- Reasonix
- Continue
- Crush
- TeleAgent
For each discovered session you can:
- Browse the conversation and its table of contents.
- Search session IDs, titles, summaries, project directories, and source paths.
- Filter by provider and switch between a flat list or provider/project-directory groups.
- Copy the project directory, source path, or an available provider resume command.
- Export the loaded conversation to a Markdown file through the native save dialog.
- Delete supported legacy-provider sessions, or select multiple sessions and whole directory groups. Newly added read-only providers do not expose deletion.
Session2md reads the providers' local session stores. It does not connect to CC Switch, run a proxy, upload session content, or start/resume a CLI session. A displayed resume command is only copied to the clipboard when requested.
Deletion is available only for providers marked as deletable in the app and is explicit and destructive. After confirmation, Session2md performs provider-specific cleanup in the selected local session file or database; deleted sessions cannot be recovered by the app. Back up important data before using deletion. The app also stores its own language, theme, and directory-override settings separately. Markdown export writes only the file chosen in the native save dialog.
By default, Session2md follows each provider's normal local directory. Open Settings → Advanced to inspect or override the directory used for any provider, then refresh the session list. Overrides are useful for portable setups or alternate profiles. Codex also respects CODEX_HOME, Hermes respects HERMES_HOME, OpenCode respects XDG_DATA_HOME, and MiniMax Code respects MINIMAX_DATA_DIR and MAVIS_DATA_DIR when no override is configured.
Packaged builds for macOS, Linux, and Windows are published on the Releases page.
Prerequisites: Node.js, pnpm, Rust, Cargo, and the Tauri prerequisites.
pnpm install
pnpm devRun the relevant checks before submitting changes:
pnpm typecheck
pnpm format:check
pnpm test:unit
cargo fmt --check --manifest-path src-tauri/Cargo.toml
cargo check --manifest-path src-tauri/Cargo.tomlBuild an installable bundle with:
pnpm tauri buildBug reports and focused pull requests are welcome. See CONTRIBUTING.md and CODE_OF_CONDUCT.md.
Thank you to the CC Switch maintainers and all CC Switch contributors for the original open-source Tauri architecture, provider integrations, and session-browser foundations on which Session2md builds. We also welcome contributions to the Session2md repository.
Session2md's support for reading Agent session histories, including DeepSeek Harness, was implemented with reference to Nwflower/dsh-chat-import. We thank its authors and contributors.
MIT © Jason Young