I started out trying to use my ChatGPT subscription as you describe, but then migrated to Cursor.<p>It suits my workflow a lot better because I can reject suggestions easily, or accept partial diffs. I can approve certain chunks but instruct it to rethink other parts if I think they are a bad approach. This isn’t possible if you are just copypasting chunks of code back and forth between an IDE and browser window.<p>As for the cost, you get 500 “fast” requests per month for Premium models. If you use them up, then you can still use the Premium models, but are placed in a queue so have to wait a bit longer (Cursor refers to these as slow requests). I haven’t been in this situation yet, but I am not a super heavy user.<p>I find the trick is to give simpler requests to the unmetered models, and save the harder requests for the premium models. You can select the model you want to use in the chat or agent box.<p>The model list is here : <a href="https://docs.cursor.com/settings/models" rel="nofollow">https://docs.cursor.com/settings/models</a><p>So, for example, I might give simpler requests that save time or involve boilerplate to Deepseek-v3, gemini-2.5-flash-preview, gpt-4o-mini, or grok3-mini-beta. These are unmetered, so you can use them as much as you like. For requests that are more difficult and require better thought, I would choose something like claude-3.7-sonnet, or gemini-2.5-pro.<p>For context, I prefer the workflow of using Ask (chat) mode and working on a single file at a time. If I want another file to be considered, I refer to it using the @ convention in Cursor to refer to other sources. Others have complained about Cursor skimping on the context window of requests to control costs, so I follow this approach to make sure that the things I specify are considered. The files referenced remain in the context of the chat, so they are included for followup requests.<p>I feel that for those of us with programming experience, using it in a discriminating way is the best approach. It might be disconcerting to see people rage about Cursor on Reddit, but there are a lot of Vibe coders on r/cursor with unrealistic expectations. So they might well only use Agentic mode with vague directions, then rage because they burned through all their credits in a weekend, or had the models erase code because they’re unaware of Version Control. Agentic mode can be useful, but I want to at least glance at every diff to make sure things are going in the right direction.<p>I would suggest the free trial to see if it improves your workflow as much as it did mine. BTW, I find that working in TypeScript is a sweet spot for this, as VSCode and derivatives excel at TS, and when diffs are suggested you get immediate feedback on whether it would break compilation before you’ve even accepted the suggestions.