drayGet started

Coding agents Facts checked 12 October 2026

Cursor memory

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.

Get started

Needs macOS or Linux with Node.js 18 or later.

ON THIS PAGE

How Cursor remembers on its own

  • 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: rules Cursor 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.0 Cursor 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
  1. Your browser opens Dray. Use the same Dray account as your web chats and choose Connect coding agents. This approves the computer.
  2. Setup lists the agents it found, all ticked. Untick any you want to leave out with the arrow keys and space, then press Enter.
  3. Restart Cursor to use it.
  4. 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.

mcp.json
{
  "mcpServers": {
    "dray": { "url": "https://mcp.withdray.com/mcp" }
  }
}

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

Sources

Facts checked on 12 October 2026 against these pages.