Claude Code Usage Limits, Plans, and Pricing
After about a month of continued development using Claude code (CLI), I've needed to upgrade my plan twice. I started with the $20 a month plan, then upgraded to the $100 a month plan, and finally upgraded to the $200 a month plan.
Key Observations
A couple of key observations from this experience:
- Claude will automatically change the model from Opus to Sonnet
- There are significant, noticeable differences between Opus and Sonnet
- Complex, complicated, intricate tasks should be done with Opus
- The /plan command and mode is highly advised
- Steady, long sessions of work require a lot of tokens
Starting with the $20 Plan
Initial Success
When I first started out with the $20 plan, everything was working great. I was still learning how to use Claude code (CLI) on a general level. I didn't run into any usage limitations right away. The initial run of the CLAUDE.md file and project setup wasn't too token intensive. I even refactored the initial architecture.
Hitting the First Limits
As I continued working on the game and adding more functionality, I started running into usage limits. When usage limits are encountered, you'll be restricted from making requests to the model and essentially have to cease work. The account restrictions are lifted within an hour or two and then you can continue.
Moving to the $100 Plan
Growing Complexity
The development progressed and I added more functionality and complexity to the game. At first I was sending prompts to Claude code to generate graphics for the game. I was impressed at what it was able to draw and create. I created five levels of completely unique game graphics with distinct themes, all through the CLI. The process was time consuming with some back and forth and refining of the graphics.
The Decision to Upgrade
At this point I started hitting my usage limit more frequently. I kept having to pause development and wait until the account restrictions were lifted. After about three times of this happening, I'd had enough. I upgraded to the $100 plan.
The $100 Plan Experience
Temporary Relief
Development continued and I didn't run into any more usage limits and account restrictions for a while. The game continued to grow in complexity, functionality, and size. As this happened, I began running into the usage limits and account restrictions again.
Model Downgrades
In addition to getting completely locked out and having to wait hours to resume development, I also started noticing I would have a relatively low number of requests fulfilled by the Opus model. Claude was automatically switching to Sonnet more frequently.
Upgrading to the $200 Plan
Making the Jump
I dealt with the usage limitations, model downgrades, and account restrictions for a few weekends. Then I got to the point where I needed to really get moving through the development process and the $100 just wasn't cutting it. So I upgraded to the $200. I don't think I've ever paid anything close to that for a monthly online service.
Current Experience
I've only had the $200 plan for two days. So far it's going well and I have not run into any usage limits, account restrictions, or lockouts. I've been able to continue development without having to wait for the account restrictions to lift. In addition, I've been generating a substantial amount of complex SVG graphics in Claude.ai while the Claude CLI is working on various tasks related to the code. For my purposes and current needs, the price is worth it.
Plan Management Strategy
Scaling Up and Down
I will most likely downgrade my plan to the $20 version once I'm finished with the development of the game. I want to try Cursor CLI next, so I don't see any reason to keep my $200 Claude plan active if I'm not doing dedicated development.
Recommendations
If you're planning on building a complex application, you will probably need the $200 plan. If possible, pay the fee, then work as much as you can on the app. When the app is done, downgrade your plan until you have substantial work to do again. This approach can help manage costs while ensuring you have the resources when you need them most.