3.16.17 chewing through tokens by ignoring models

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.

Hi there!

We detected that this may be a bug report, so we’ve moved your post to the Bug Reports category.

To help us investigate and fix this faster, could you edit your original post to include the details from the template below?

Bug Report Template - Click to expand

Where does the bug appear (feature/product)?

  • Editor, Tab & Chat (autocomplete, Composer, in-editor agent)
  • Terminal & commands
  • Models, pricing & API keys (availability, Auto/Max, BYOK/Bedrock)
  • MCP & tools
  • Cloud Agents & Automations (cursor.com/agents, scheduled/event)
  • BugBot & Code Review
  • Cursor CLI
  • Cursor Mobile
  • Remote (SSH / Dev Containers / WSL)
  • Account, billing & login
  • Something else…

Describe the Bug
A clear and concise description of what the bug is.


Steps to Reproduce
How can you reproduce this bug? We have a much better chance at fixing issues if we can reproduce them!


Expected Behavior
What is meant to happen here that isn’t working correctly?


Screenshots / Screen Recordings
If applicable, attach images or videos (.jpg, .png, .gif, .mp4, .mov)


Operating System

  • Windows 10/11
  • MacOS
  • Linux

Version Information

  • For Cursor IDE: Menu → About Cursor → Copy
  • For Cursor CLI: Run agent about in your terminal
IDE:
Version: 2.xx.x
VSCode Version: 1.105.1
Commit: ......

CLI:
CLI Version 2026.01.17-d239e66

For AI issues: which model did you use?
Model name (e.g., Sonnet 4, Tab…)


For AI issues: add Request ID with privacy disabled
Request ID: f9a7046a-279b-47e5-ab48-6e8dc12daba1
For Background Agent issues, also post the ID: bc-…


Additional Information
Add any other context about the problem here.


Does this stop you from using Cursor?

  • Yes - Cursor is unusable
  • Sometimes - I can sometimes use Cursor
  • No - Cursor works, but with this issue

The more details you provide, the easier it is for us to reproduce and fix the issue. Thanks!

Hi @rinchen Thank you for the post. I understand why the sudden usage change is concerning. In Cursor 3.16.17, go to Cursor Settings > Agents > Conversation > Default Model and select Last Used. This prevents Cursor from choosing a recommended default when the app opens or a new chat starts.

One separate detail: disabling models under Settings > Models does not restrict Auto’s routing pool. Auto may still route requests through Grok. There currently is not a per-user model exclusion list for Auto (unless you’re on an Enterprise plan).

Let me know any follow-up questions!

Howdy @kevinn - I was already on default and last used. That’s actually the first setting I checked.

Interesting okay, this might be a little longer for me to research and try to replicate.

Sorry. I hope it’s a one-off, but if it’s not, it would be good to find out why at least the toggle didn’t change it. I’ve blown through a third of my Pro account, and I’ve got 27 days left. :cry:

That said, super happy you are responsive here. I left Claude for Cursor because of all the hidden changes, and I’m relieved this wasn’t intentional.