Cursor Chat TransitMove your Cursor chats between workspaces and devices. Export selected conversations or a workspace's chat history to a ZIP archive, then import it into another Cursor workspace. An export includes supported messages, images, plans, canvases, and local conversation state. Importing the same snapshot again keeps the existing copy; importing a changed snapshot creates a separate conversation. Cursor does not provide a way to move chats between workspaces. This extension does. Cursor's chat storage is a private format, not a public contract. A Cursor update can change that format and break export, import, or the ability to continue a chat. There is no promise that a new Cursor build will keep working with the current archive. This is free software. You use it at your own risk. The author is not responsible for what you do with it, or for lost chats, damaged databases, or a Cursor update that stops an archive from importing. Backups are your responsibility. The extension does not make them for you. Features
Requirements and installationYou need a desktop Cursor or VS Code-compatible host with API version 1.125 or later, access to a local Cursor profile, and the Check SQLite with To install a release:
No extension registry is required. To build your own VSIX, see Development. Export chats
The filename includes the workspace or selected chat name and a timestamp. If an export is incomplete, the result identifies the affected chats. Check the operation log before relying on that archive. Import chats
Quit Cursor closes the application through Cursor's own quit action. Cursor still handles confirmation and unsaved-work prompts. The extension does not start Cursor again. If the button is unavailable, quit from the application menu. Imports create new local chat and message IDs and leave existing conversations in place. An import that changes nothing does not need a restart. Manage chatsUse the native Manage chats view to find workspaces and chats, check their data, and delete either individual chats or the local data of an inactive workspace. Checking a workspace selects that workspace’s Cursor data, including its chats. Check the chats themselves to delete history and keep the workspace. Show empty and unavailable workspaces uses the same list. Sort workspaces… orders projects by name or by database activity. When one project has several storages, the one Cursor opens is listed first and labeled. Another storage stays available for export. Export remains in the main transfer view. Export: Recover Text is on by default in User Settings. The ZIP exporter keeps existing message records and can fill absent records with labelled previews or gaps in supported ordered conversations. It never replaces an existing empty message or repairs Cursor rendering. With the option off, available source records are still exported, but no replacement messages are created. The source is unchanged. Import asks for confirmation before publishing incomplete history. Open the imported chat in Cursor to use Cursor's own Export Transcript; this extension does not add a Markdown exporter. Compatibility with Cursor's transcript renderer must be checked on the Cursor version you use. Use checkboxes for bulk deletion. With checked items, the trash action in either a row or the toolbar deletes the checked set. With no checked items, a row action deletes only that row; the toolbar asks for a selection. Native row highlighting does not change the checked set. Before deletion, close other Cursor windows and stop running Agent tasks. Confirm the selection, wait for the result, then use Quit Cursor and reopen the IDE. Chat-only deletion keeps the workspace directory. Delete workspace data removes that workspace’s local Cursor storage and its exclusively owned history; project files, shared agent blobs and the global plans folder stay. Shared history blocks workspace deletion. Select empty workspaces only checks workspaces whose supported indexes have no chat history; it does not delete them, and a chat created afterward blocks that deletion. There is no automatic undo or backup, and the database file is not vacuumed. The operation uses the existing worker and SQLite checks; it does not inspect operating-system processes or automatically quit Cursor. Further readingCounts, format labels, picker filters, archive limits, repeat imports, settings, and troubleshooting are in Usage. Setup and releases are in Development. Storage behavior is in Architecture. MIT, including the original copyright notice and the notice for subsequent work on Cursor Chat Transit. |