Hi,
For the last few versions, starting when Grok was available, the behavior in Cursor on macOS has changed. I’m currently on 3.16.17 with ALL models disabled. Previous to this, I had a bunch of models enabled but lived 99% of the time in Auto mode with Composer 2.5 (regular, not fast).
The behaviour now is that new chats default to High and Grok. I keep manually resetting to Auto. Even with that, I’ve been on Pro for 3 days I’m 50% through my allotment. It’s chewing through tokens at a rate similar to Claude did in April, which forced me to switch to Cursor.
- I’ve reinstalled twice.
- It’s repo-independent behaviour
- I had OpenCode scan through all the .cursor directories in my repos and ~./cursor trying to find out if something on my local machine is causing this behaviour:
`No. Nothing in .cursor/ or AGENTS.md forces Cursor to bypass auto mode or pin Grok/HIGH effort. Evidence:
.cursor/settings.json is just {} — empty.
The five .cursor/rules/*.mdc files only use globs + alwaysApply frontmatter (no model:/effort: fields, which is what would force a model/effort): mesh-client-runtime-paths, nomad-hosting-folder-only, reticulum-ratspeak-reference, run-format-on-whitespace, use-i18n-no-hardcoded-english.
No .cursorrules, no .cursor/mcp.json, no model/effort keys anywhere. rg -i "grok" and rg -i "high effort" across the repo (minus node_modules/.git/sidecar) return zero matches.
AGENTS.md (in full) contains no model/effort/auto-mode directives — only coding workflow, testing, and git rules.
.cursor/ is entirely gitignored (.gitignore:10), so this is all local-only, and the debug-*.log files there are the app's own runtime debug logs, not Cursor config.
Global ~/.cursor/agents/ is empty; ~/.cursor/argv.json is stock VS Code flags.`
I then had it scan further, and it found something in Library:
Nothing in the repo or ~/.cursor rules pins a model
.cursor/settings.json — empty {}; the 5 rule .mdc files use only globs/alwaysApply (no model:/effort: frontmatter).
AGENTS.md — no model/effort/auto-mode directives.
~/.cursor/rules/ — stay-on-existing-branch.mdc, preserve-contributor-pr-history.mdc, slm-global.mdc (SuperLocalMemory auto-generated, empty) — none touch models.
~/.cursor/plugins, ~/.cursor/agents — empty; skills-cursor/ and mcps/cursor-app-control — SDK/docs only (the MCP manages rules/workspaces, not models).
~/Library/Application Support/Cursor/User/settings.json — UI prefs only.
The actual forcing config lives in Cursor's state DB:
~/Library/Application Support/Cursor/User/globalStorage/state.vscdb, key cursor/applicationOpenModelAppliedConfig:
{"selectedModels":[{"modelId":"grok-4.6","parameters":[{"id":"effort","value":"high"},{"id":"fast","value":"false"}]}],"maxMode":false}
The key name says it all — it's applied at application open and pins grok-4.6 with effort=high, fast=false (maxMode false). That is exactly what overrides auto mode and forces Grok + HIGH effort globally, independent of any repo rule. Related state: cursor/initialModelState = applied, cursor/lastSingleModelPreference = {"composer":"default",...}, cursor/subagentModelOverrides = {"explore":{"mode":"default"}} (no grok pin).
So this looks like a bug in the code. I’ve never set that, cursor did it somehow. I’m now trying to surgically remove that line.
