Cursor Plugin
Thecursor-opensync-plugin syncs your Cursor AI coding sessions to OpenSync. It reads Cursor’s agent transcripts and conversation history, then pushes them to your dashboard.
Source identifier: cursor
Installation
Install globally with npm:Setup
Generate an API key
Log in to opensync.dev, go to Settings, and click Generate API Key. Copy the key (starts with
osk_).Run login
- Convex URL:
https://polished-penguin-622.convex.cloud(for hosted) or your self-hosted URL - API Key: The key you copied from Settings
Config file
Credentials are stored in~/.cursor-sync/config.json:
Commands
cursor-sync login
Stores your Convex URL and API key.cursor-sync status
Shows connection info and sync stats:cursor-sync sync
Manually triggers a sync of all sessions.cursor-sync logout
Clears stored credentials.How syncing works
- Cursor stores conversation data in its workspace and agent transcript files.
- The plugin reads Cursor’s session data, parsing prompts, responses, tool calls, and model metadata.
- Each session is pushed to
/sync/sessionwithsource: "cursor". - Messages are pushed to
/sync/messagepreserving the full conversation flow. - Deduplication uses
externalIdfrom Cursor’s internal session identifiers.
What gets synced
| Data | Synced | Notes |
|---|---|---|
| User prompts | Yes | Full text of all user messages |
| Assistant responses | Yes | Complete model responses |
| Model name | Yes | Whatever model Cursor used (GPT-4o, Claude, etc.) |
| Token counts | Yes | Per-message and per-session |
| Tool calls | Yes | File edits, terminal commands, searches |
| File context | Limited | File references are included, but full file contents are not synced |
| Cost estimate | Yes | Based on the model used |
File contents referenced in conversations are not synced to protect sensitive code. Only file paths and the conversational text are sent.
Supported models
Cursor supports multiple models. All are synced with their respective pricing:| Model | Provider | Input (per 1M) | Output (per 1M) |
|---|---|---|---|
| gpt-4o | OpenAI | $2.50 | $10.00 |
| gpt-4o-mini | OpenAI | $0.15 | $0.60 |
| claude-sonnet-4-20250514 | Anthropic | $3.00 | $15.00 |
| claude-3-5-haiku | Anthropic | $1.00 | $5.00 |
| o3-mini | OpenAI | $1.10 | $4.40 |
Troubleshooting
Sessions not syncing
- Make sure Cursor is not actively writing to the session files during sync. Close Cursor or wait for a pause.
- Check plugin status:
cursor-sync status - Verify the Cursor data directory is accessible.
- Run
cursor-sync syncto force a manual push.
Partial sessions
Very long Cursor sessions may be truncated during sync. This is a known limitation for sessions with hundreds of messages. The most recent messages are prioritized.Authentication errors
- Re-run
cursor-sync loginwith your current API key. - Check that the API key is still active in the dashboard Settings.