Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Agent mode is for cloud coding agents (Jules, Devin, Cursor Cloud) to avoid conflicts with your dev deployment. Local agents don't need this.
.claude/skills/kunanonj-cursor-plugin-convex-rule-local-development-agent-mode/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | -14% | 0% |
| case-02 | ✗→✓ | ▲ Improved | -18% | 0% |
| case-03 | ✗→✓ | ▲ Improved | -9% | 0% |
| case-04 | ✗→✓ | ▲ Improved | -19% | 0% |
| case-05 | ✗→✓ | ▲ Improved | -18% | 0% |
Agent Mode allows cloud-based coding agents to work with Convex without conflicting with your personal development environment.
Purpose: Prevents cloud coding agents from conflicting with your development work.
The Problem: When cloud agents (Jules, Devin, Cursor Cloud Agents) run npx convex dev, they would normally use your default dev deployment. This conflicts with your own changes!
The Solution: Agent mode creates an isolated anonymous development environment for the agent.
Key: If the agent runs locally and you're logged in, it doesn't need agent mode!
Set the environment variable:
bash# .env.local CONVEX_AGENT_MODE=anonymous
Or run directly:
bashCONVEX_AGENT_MODE=anonymous npx convex dev
When a cloud agent runs with CONVEX_AGENT_MODE=anonymous:
npx convex devbash# .env.local (for cloud agent) CONVEX_AGENT_MODE=anonymous # Agent runs this npx convex dev # Creates isolated environment, doesn't touch your dev deployment
For local development (you at your computer):
bash# Just log in normally npx convex dev # This works fine! Uses your dev deployment. # Local agents (Cursor, Claude Code) use this.
You don't need agent mode because:
Perfect for automated environments:
yaml# .github/workflows/test.yml name: Test on: [push] jobs: test: runs-on: ubuntu-latest env: CONVEX_AGENT_MODE: anonymous steps: - uses: actions/checkout@v3 - run: npm install - run: npx convex dev & - run: npm test
⚠️ Agent mode is currently in beta.
Future improvements may include:
No! Just log in normally:
bashnpx convex dev # This is fine for local work
No! Agent mode is for coding agents, not app users.
For anonymous app users, use proper auth with guest/anonymous support.
No! Agent mode is about deployment isolation for agents, not skipping auth in your app.
You still need auth in your functions!
CONVEX_AGENT_MODE=anonymous in agent's environment| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 11,009 | 4,472 | -59% | 1 | 1 | 0% | 2,376 | 2,041 | -14% | 0 | 0 | — |
case-02 | fail→pass | 10,823 | 3,716 | -66% | 1 | 1 | 0% | 2,206 | 1,798 | -18% | 0 | 0 | — |
case-03 | fail→pass | 13,931 | 7,358 | -47% | 1 | 1 | 0% | 2,687 | 2,441 | -9% | 0 | 0 | — |
case-04 | fail→pass | 9,580 | 3,251 | -66% | 1 | 1 | 0% | 1,994 | 1,608 | -19% | 0 | 0 | — |
case-05 | fail→pass | 9,996 | 3,654 | -63% | 1 | 1 | 0% | 2,059 | 1,685 | -18% | 0 | 0 | — |
case-06 | pass→pass | 7,000 | 3,409 | -51% | 1 | 1 | 0% | 1,329 | 1,658 | +25% | 0 | 0 | — |
case-07 | fail→pass | 8,054 | 2,135 | -73% | 1 | 1 | 0% | 1,623 | 1,334 | -18% | 0 | 0 | — |
case-08 | fail→pass | 7,355 | 1,825 | -75% | 1 | 1 | 0% | 1,395 | 1,249 | -10% | 0 | 0 | — |
case-09 | fail→pass | 13,340 | 3,545 | -73% | 1 | 1 | 0% | 2,561 | 1,652 | -35% | 0 | 0 | — |
case-10 | fail→pass | 9,429 | 3,313 | -65% | 1 | 1 | 0% | 1,461 | 1,707 | +17% | 0 | 0 | — |
case-11 | fail→pass | 11,141 | 5,401 | -52% | 1 | 1 | 0% | 2,066 | 2,083 | +1% | 0 | 0 | — |
case-12 | pass→pass | 8,518 | 3,504 | -59% | 1 | 1 | 0% | 1,615 | 1,545 | -4% | 0 | 0 | — |
case-13 | fail→pass | 9,661 | 2,644 | -73% | 1 | 1 | 0% | 1,790 | 1,517 | -15% | 0 | 0 | — |
case-14 | fail→pass | 7,958 | 1,887 | -76% | 1 | 1 | 0% | 1,686 | 1,338 | -21% | 0 | 0 | — |
case-15 | pass→pass | 5,310 | 3,467 | -35% | 1 | 1 | 0% | 1,193 | 1,771 | +48% | 0 | 0 | — |
case-16 | pass→pass | 9,023 | 4,515 | -50% | 1 | 1 | 0% | 1,725 | 1,866 | +8% | 0 | 0 | — |
case-17 | pass→pass | 11,285 | 3,185 | -72% | 1 | 1 | 0% | 1,915 | 1,573 | -18% | 0 | 0 | — |
case-18 | fail→pass | 14,770 | 6,387 | -57% | 1 | 1 | 0% | 2,531 | 2,028 | -20% | 0 | 0 | — |
case-19 | fail→pass | 5,761 | 4,778 | -17% | 1 | 1 | 0% | 1,084 | 1,695 | +56% | 0 | 0 | — |
case-20 | pass→pass | 10,212 | 8,808 | -14% | 1 | 1 | 0% | 2,213 | 3,118 | +41% | 0 | 0 | — |
case-21 | pass→pass | 8,271 | 5,732 | -31% | 1 | 1 | 0% | 1,830 | 2,213 | +21% | 0 | 0 | — |
case-22 | pass→pass | 5,943 | 5,005 | -16% | 1 | 1 | 0% | 1,311 | 2,006 | +53% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +64 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.