# O3-mini in agent mode fails function calls (credits dump)

**URL:** <https://forum.cursor.com/t/o3-mini-in-agent-mode-fails-function-calls-credits-dump/49612>\
**Category:** Bug Reports\
**Created:** [February 10, 2025, 10:06am UTC](https://forum.cursor.com/t/o3-mini-in-agent-mode-fails-function-calls-credits-dump/49612 "2025-02-10T10:06:10Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![trubear1010](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/trubear1010/32/25684_2.png) [@trubear1010](https://forum.cursor.com/u/trubear1010)\
**Post date:** [February 10, 2025, 10:06am UTC](https://forum.cursor.com/t/o3-mini-in-agent-mode-fails-function-calls-credits-dump/49612/1 "2025-02-10T10:06:10Z")

</div>

When using o3-mini in composer (agent mode), it often will say “I will make these changes” and stop generating after that sentence.

From there, it may take multiple requests to get it to make the changes it proposed. I’ve found prompts like “Implement the changes” work 50% of the time. Other times, it again returns a text response with no action taken.

This issue burns a TON of usage and dilutes the model’s context with unnecessary requests, making it hard to work with and less effective than it can be.

P.S. There’s also a formatting issue, where o3-mini will write code formatted as plain text.

---

<div class="post-metadata">

**Author:** ![mtin79](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/mtin79/32/5058_2.png) [@mtin79](https://forum.cursor.com/u/mtin79)\
**Post date:** [February 10, 2025, 3:53pm UTC](https://forum.cursor.com/t/o3-mini-in-agent-mode-fails-function-calls-credits-dump/49612/2 "2025-02-10T15:53:14Z")

</div>

same here. i start to doubt its o3-mini (high), maybe rather medium and the hidden cursor instructions seem not adjusted.

---

<div class="post-metadata">

**Author:** ![maxmini1](https://avatars.discourse-cdn.com/v4/letter/m/a5b964/32.png) [@maxmini1](https://forum.cursor.com/u/maxmini1)\
**Post date:** [February 10, 2025, 8:22pm UTC](https://forum.cursor.com/t/o3-mini-in-agent-mode-fails-function-calls-credits-dump/49612/3 "2025-02-10T20:22:23Z")

</div>

burns usage? isnt o3-mini free to use?

---

<div class="post-metadata">

**Author:** ![saketsarin](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/saketsarin/32/25671_2.png) [@saketsarin](https://forum.cursor.com/u/saketsarin)\
**Post date:** [February 10, 2025, 9:07pm UTC](https://forum.cursor.com/t/o3-mini-in-agent-mode-fails-function-calls-credits-dump/49612/4 "2025-02-10T21:07:22Z")

</div>

i think the system commands for o3-mini are a bit different, and cursor has not adjusted to them properly yet

i’m facing the same issue with gemini pro too but other models seem to work fine. maybe they’ll fix this in a future update

---

<div class="post-metadata">

**Author:** ![mxcoppell](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/mxcoppell/32/27877_2.png) [@mxcoppell](https://forum.cursor.com/u/mxcoppell)\
**Post date:** [February 11, 2025, 1:29am UTC](https://forum.cursor.com/t/o3-mini-in-agent-mode-fails-function-calls-credits-dump/49612/5 "2025-02-11T01:29:21Z")

</div>

Not only o3-mini, the integration of other reasoning models is not great either (meaning pretty much useless in development). Don’t think it’s models’ issues. This needs to be addressed by Cursor or any other AI coding IDEs.

---

<div class="post-metadata">

**Author:** ![condor](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/condor/32/73148_2.png) [@condor](https://forum.cursor.com/u/condor)\
**Post date:** [February 11, 2025, 1:34am UTC](https://forum.cursor.com/t/o3-mini-in-agent-mode-fails-function-calls-credits-dump/49612/6 "2025-02-11T01:34:13Z")

</div>

Yes every model/provider has a bit different requirements and handling.

While the APIs are nowadays almost standard, the models are not.

As we know there are not just differences in context length but also how certain prompts (including Cursor internal system prompts) cause different behavior in different models. That is why Cursor team often reports they are testing new experimental models and have to adjust their internal pre-processing to gain better results.

Luckily some of those changes are done on Cursor server side which dispatches requests to the LLMs and does pre-processing like indexed docu selection or other parts that use Cursor created LLM models which reduce load on the heavier models by preparing the input.

You can notice similar behavior on other AI tools like Perplexity or Claude Chat / ChatGPT from OpenAI when they search the web before processing results by LLM.

Unfortunately there is one part that we do not see but which can cause issues, when AI providers adjust their model behavior and pre-prompts or processing like monitoring or feedback loops, parameter optimization, dynamic routing to different server configurations, distillation/quantization/precision adjustments for faster inference, adjusting concurrency limits per server,…  
On that part Cursor has no influence.

I have had great experience with several of the reasoning models, through Cursor and also coding unrelated tools. Current reasoning models are not always well reasoning. DL-R1 often takes data passed from RAG (search/index,…) as more correct than the user prompt, even you tell it what the facts are. The ‘thinking’ process, if you ever read it, can be a mess.

That means that its usage as coding tool is also impacted by such issues. It just handles prompts differently than a non-reasoning conversational LLM.

Hope also that Cursor team can tweak the process and prompts for better output.

---

<div class="post-metadata">

**Author:** ![garfieldmax](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/garfieldmax/32/16974_2.png) [@garfieldmax](https://forum.cursor.com/u/garfieldmax)\
**Post date:** [February 12, 2025, 6:54am UTC](https://forum.cursor.com/t/o3-mini-in-agent-mode-fails-function-calls-credits-dump/49612/7 "2025-02-12T06:54:48Z")

</div>

Ran into same issues. It says what it will do and doesnt generate code, despite multiple requests to do so.

---

<div class="post-metadata">

**Author:** ![condor](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/condor/32/73148_2.png) [@condor](https://forum.cursor.com/u/condor)\
**Post date:** [February 12, 2025, 7:17am UTC](https://forum.cursor.com/t/o3-mini-in-agent-mode-fails-function-calls-credits-dump/49612/8 "2025-02-12T07:17:51Z")

</div>

It has been mentioned by Cursor team that they are working on better integration of o3-mini for such cases.

---

<div class="post-metadata">

**Author:** ![eonus01](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/eonus01/32/21249_2.png) [@eonus01](https://forum.cursor.com/u/eonus01)\
**Post date:** [February 16, 2025, 8:27am UTC](https://forum.cursor.com/t/o3-mini-in-agent-mode-fails-function-calls-credits-dump/49612/9 "2025-02-16T08:27:31Z")

</div>

I noticed that as of yesterday, O3-mini in cursor (composer agent) has gotten a lot better in tool calling and usually can do a chain of fixes. I feel the number of times I have to say “proceed” and “use diff edit” has now been reduced by 90%. This makes the model a lot more usable now, in fact sometimes I prefer it over Sonnet when I notice that Claude is going in loops.

---

<div class="post-metadata">

**Author:** ![system](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/system/32/99069_2.png) [@system](https://forum.cursor.com/u/system)\
**Post date:** [December 21, 2025, 8:56am UTC](https://forum.cursor.com/t/o3-mini-in-agent-mode-fails-function-calls-credits-dump/49612/10 "2025-12-21T08:56:44Z")

</div>

This topic was automatically closed 22 days after the last reply. New replies are no longer allowed.
