Connecting Cursor
Using a different agent? See Connecting Claude Code, Connecting OpenCode, or Connecting Codex CLI.
How It Works
When you run ./install.sh --target=cursor, it handles the full connection setup:
- Instance selection — Choose Tandemu Cloud or provide a self-hosted URL
- Browser authorization — Your browser opens to the Tandemu dashboard. Log in and click Allow.
- Auth saved — Token and org info saved to
~/.config/tandemu/cursor-auth.json - Universal env loader installed —
~/.config/tandemu/lib/tandemu-env.sh(shared across every agent) - MCP registered —
~/.cursor/mcp.jsongets atandemuentry for the OpenMemory MCP server - Personality rule —
~/.cursor/rules/tandemu.mdcis installed globally - Skills installed —
/morning,/finish,/pause,/create,/standupcopied into~/.cursor/commands/as native slash commands
There’s no per-editor plugin to package — Cursor reads slash commands and rules directly from those well-known paths.
Installation Methods
Install script
git clone https://github.com/sebastiangrebe/tandemu.git
cd tandemu
./install.sh --target=cursorThe installer authenticates you and configures everything.
Multiple agents at once
./install.sh --target=cursor,codex # comma-separated
./install.sh --target=all # everything detected
./install.sh # auto-detect installed agents and promptUsing the skills
Open Cursor in any project. In Composer / Agent mode, type:
/morningCursor reads ~/.cursor/commands/morning.md and runs the skill — same /morning → /finish flow as Claude Code and OpenCode. The five slash commands available:
/morning— Pick a task and start working/finish— Complete the task, measure work, send telemetry/pause— Pause the current task for later/create— Create a new task in your ticket system/standup— Generate a team standup report
Cursor specifics: The skill markdown’s
allowed-toolsfrontmatter is a Claude Code concept and is ignored by Cursor — Cursor uses its own Agent mode permissions, which means you may be asked to approve individual shell commands the first time they run.AskUserQuestion(a Claude Code built-in) degrades to a plain chat question on Cursor; the data flow is identical, just no structured picker UI.
Configuration Files
~/.config/tandemu/cursor-auth.json
Authentication and API config:
{
"auth": { "token": "eyJhbG..." },
"user": { "id": "uuid", "email": "you@company.com", "name": "Your Name" },
"organization": { "id": "uuid", "name": "Acme Engineering" },
"team": { "id": "uuid", "name": "Frontend Team" },
"api": { "url": "https://api.tandemu.dev" }
}~/.config/tandemu/lib/tandemu-env.sh
The universal env loader. Sourced by every skill at the top of its first bash block. Reads cursor-auth.json, exports TANDEMU_TOKEN, TANDEMU_API, TANDEMU_TASKS_DIR, TANDEMU_OTEL_ENDPOINT, and the team IDs. Shared with the Claude Code and Codex installs — single source of truth.
~/.cursor/mcp.json
OpenMemory MCP entry, deep-merged with any existing config:
{
"mcpServers": {
"tandemu": {
"url": "https://memory.tandemu.dev/mcp/tandemu/sse/<your-user-id>",
"headers": { "Authorization": "Bearer <token>" }
}
}
}Memory tools (add_memory, search_memories, get_memories, update_memory, delete_memory) become available to the Cursor agent automatically.
~/.cursor/rules/tandemu.mdc
Global rule with the Tandemu personality. Cursor loads it on every session, so the agent uses your name and matches your communication style without per-project configuration.
~/.cursor/commands/
The five slash commands as native Cursor custom commands. Filenames are morning.md, finish.md, pause.md, create.md, standup.md.
~/.config/tandemu/active-tasks/
Branch-keyed active task files (tandemu-active-task-<branch-slug>.json). Universal location used by every agent.
Reconnecting
If your token expires (30 days) or you need to switch organizations, run the installer again:
./install.sh --target=cursorIt detects existing config and re-authorizes.
Troubleshooting
Slash commands don’t appear — Restart Cursor after install so it picks up new files in ~/.cursor/commands/.
Skill asks for shell approval on every command — That’s Cursor’s Agent-mode permission model, not a Tandemu issue. Enable “Auto-approve safe commands” in Cursor settings if you want fewer prompts.
Memory tools missing in agent chat — Check ~/.cursor/mcp.json has the tandemu entry. Restart Cursor so the MCP client reconnects.
“Could not reach Tandemu API” — Check that your Tandemu instance is running and the URL in ~/.config/tandemu/cursor-auth.json is correct.
Token expired — Run ./install.sh --target=cursor again to re-authorize.