Cursor carries context through rules you write: Project Rules, User Rules and AGENTS.md files. Its current docs have no page on the Memories feature it launched in 2025. Dray saves your Cursor CLI sessions to your Dray account, where every agent you connect can search them.
Project Rules are “stored in .cursor/rules, version-controlled and scoped to your codebase”. Each one is an .mdc file with frontmatter; a plain .md file in that folder is ignored. Cursor docs: rules
A rule can be Always Apply, Apply Intelligently, Apply to Specific Files or Apply Manually. Cursor applies Team Rules, then Project Rules, then User Rules, and User Rules don’t apply to Inline Edit (Cmd/Ctrl+K). Cursor docs: rules
User Rules set in Cursor Settings are stored on your Cursor account, apply to all your projects and sync when you sign in on another machine. Rule files in ~/.cursor/rules stay on that machine. Cursor help: rules
Team Rules are managed from the dashboard on Team and Enterprise plans. AGENTS.md works in the project root and in nested folders. .cursorrules is legacy and will be deprecated. Cursor docs: rulesCursor help: rules
The CLI agent uses the same rules system as the editor, and also reads AGENTS.md and CLAUDE.md at the project root. Cursor docs: CLI
Cursor 1.0, released on 4 June 2025, added Memories as a beta: facts Cursor remembered from conversations, stored per project. Cursor’s current docs have no Memories page, and its old address now leads to Rules. Cursor changelog 1.0Cursor docs: rules
Cursor Automations, its cloud agents, keep a memory of their own: notes the agent reads and writes across runs of the same automation, kept outside its working files (MEMORIES.md by default). It is on by default. Cursor docs: automations
Where your history lives
In the CLI, agent ls lists previous chats and agent resume picks up the latest. --resume [chatId] opens a specific chat, and /resume, /fork and /rename work inside a session. Cursor docs: CLI overview
Cursor’s docs don’t say where the editor stores chat history. They do say checkpoints are stored locally and separate from Git. Cursor docs: agent
What Dray adds
Dray uses Cursor’s own hooks: it pairs your prompt with the agent’s reply and saves both to your Dray account. A prompt still waiting for its answer is sent ahead of the reply.
Setup writes the hooks to ~/.cursor/hooks.json and adds Dray’s memory tools to ~/.cursor/mcp.json, which is kept readable only by you because it holds Dray’s key. Dray: connect
Anything in the text that looks like a key or password is removed on your computer before it is sent. Dray: connect
Cursor’s rules are instructions you write, and User Rules sync only within Cursor. Dray keeps the conversations, and Cursor can search what you saved from your other agents and web chats.
Setup adds Dray’s commands to ~/.cursor/skills: /link links this chat with your other chats, /link CODE joins a link another chat made, /unlink leaves it, and /dray-status checks what Dray has saved. Dray: connect
Set it up
One command sets up Cursor and the other agents it finds on your computer. It needs Node.js 18 or later on macOS or Linux, and no Chrome extension.
Terminal
curl -fsSL https://api.withdray.com/cli/install.sh | sh
Your browser opens Dray. Use the same Dray account as your web chats and choose Connect coding agents. This approves the computer.
Setup lists the agents it found, all ticked. Untick any you want to leave out with the arrow keys and space, then press Enter.
Restart Cursor to use it.
The CLI asks once per project before it uses Dray’s tools: cursor-agent mcp enable dray.
To set up Cursor on its own, or add it later:
Terminal
dray setup --agents cursor
Cursor’s docs call its CLI agent; Dray’s setup messages call it cursor-agent. Cursor docs: CLI overview
Memory tools only, by hand
Add this to ~/.cursor/mcp.json for every project, or .cursor/mcp.json for one. Connecting this way does not save your sessions.
Cursor opens the sign-in page the first time it connects. In the Cursor CLI, sign in with agent mcp login dray.
Limits
No history import. Dray reads nothing from disk for Cursor, so only sessions after setup are saved. Dray: connect
Print-mode runs (cursor-agent -p) fire no hooks, and messages you queue while the agent is working skip them, so neither is saved. Dray: connect
No images come from Cursor, whose hooks don’t pass them. Dray: connect
Cloud agents are not saved: Cursor doesn’t run user-level hooks (~/.cursor/hooks.json) there. Cursor docs: hooks
If saving stops, for example when your sign-in expires, Cursor has nowhere to show Dray’s notice. dray status shows the last problem.
By default, Cursor asks for approval before it uses MCP tools. Cursor docs: MCP
Not saved: tool calls, command output, file contents, the agent’s reasoning, subagent threads, and the narration before a turn’s last tool call. Dray: connect
This computer’s sign-in lasts about 90 days. After that, new sessions wait on your computer until you sign in again. Dray: connect
Uploading and learning are separate steps, so a new session may take a while to show up in a search. Saved sessions count toward your plan’s monthly allowance like any other messages. Dray: connect
How Claude Code remembers between sessions with CLAUDE.md and auto memory, where it keeps transcripts, and what Dray saves for your other agents to search.
OpenCode follows the AGENTS.md rules you write and keeps your sessions on disk. See where they live, and what Dray saves for your other agents to search.