Integrations › Cursor
Your .cursorrules stays in sync with every other tool automatically.
Get API Key →Cursor's AI reads your codebase fresh each session. .cursorrules provides static instructions but can't capture dynamic knowledge — what was tried, what failed, what the team decided last week. And it doesn't know what you told Claude Code yesterday.
Static rules vs. live verified memory.
Static file vs. living memory. No contest.
Run vsync or connect via MCP:
npx @verifiedstate/sync start
# That's it. Your .cursorrules syncs with CLAUDE.md automatically.
# Or connect via MCP:
# Cursor Settings → MCP → Add Server
# URL: https://mcp.verifiedstate.ai/mcp
# Header: Authorization: Bearer YOUR_API_KEY{
"receipt_id": "rct_7f3a...",
"assertion": "User prefers dark mode",
"status": "verified",
"confidence": 0.94,
"signature": "ed25519:a8c3f1...",
"verified_at": "2026-04-06T14:32:01Z",
"chain_position": 42
}| Feature | Without | With VerifiedState |
|---|---|---|
| .cursorrules | Static text file, local-only | Auto-synced with CLAUDE.md and every tool |
| Session context | Gone after close | Persisted + queryable |
| Team decisions | In Slack threads | Verified assertions with timestamps |
| What was tried | "I think we tried that" | Receipt proving it |
It complements it. .cursorrules is static. VerifiedState syncs it with CLAUDE.md and adds dynamic memory that grows as you work.
Run npx @verifiedstate/sync start in your project. Or add the MCP server in Cursor settings. Takes 30 seconds.
Yes. vsync watches both files and syncs matching sections bidirectionally. Hash-based loop prevention ensures no infinite cycles.
Free: 50,000 assertions/month. No credit card. No trial expiration.