Skip to content

Do Codex Rate Limits Apply to CLI, App, and IDE Extensions?

The Problem

I recently got the 2x rate limit boost for Codex and immediately wondered: does this apply separately to the CLI, the App, and my IDE extension? If I use all three, do I get 6x the limits?

The confusion is understandable. OpenAI’s API rate limits are documented separately, and there’s no clear documentation about how subscription-based Codex limits work across interfaces.

Here’s what I initially assumed:

My Wrong Assumption
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Codex CLI │ │ Codex App │ │ IDE │
│ 2x limit │ │ 2x limit │ │ 2x limit │
└─────────────┘ └─────────────┘ └─────────────┘
↓ ↓ ↓
Separate Separate Separate
pool pool pool

This assumption would mean using multiple interfaces gives me multiplied limits. But that’s wrong.

The Reality

OpenAI Support clarified this in a Reddit discussion:

OpenAI Support Quote
"Because this promotion is applied at the plan level for Codex,
it isn't tied to a single interface. As a result, it applies
across Codex experiences, including: Codex App, Codex CLI, IDE extensions"
"These surfaces share the same Codex access under your eligible plan"

The actual architecture looks like this:

How Rate Limits Actually Work
┌─────────────────┐
│ Your Plan │
│ (2x limits) │
└────────┬────────┘
┌────────────┼────────────┐
│ │ │
▼ ▼ ▼
┌───────────┐ ┌───────────┐ ┌───────────┐
│ Codex CLI │ │ Codex App │ │ IDE │
└───────────┘ └───────────┘ └───────────┘
│ │ │
└────────────┼────────────┘
All draw from the SAME pool

This means:

  1. All interfaces share the same rate limit pool
  2. Using CLI + App doesn’t give you 2x limits
  3. The 2x promotion applies to all interfaces, but it’s still one pool
  4. Choose your interface based on workflow, not limits

Why This Matters

A Reddit user pointed out an important distinction:

API vs Subscription Limits
"Your link are API rate limits, which has nothing to do with
what they meant with rate limits for subscriptions"

This highlights a common confusion:

  • API rate limits: Per-key limits for programmatic access
  • Subscription rate limits: Plan-level limits for Codex access

The subscription limits are what most users care about, and these are unified across all interfaces.

Practical Implications

When you hit a rate limit, it doesn’t matter which interface you’re using. You’ve consumed your quota across all of them.

Here’s what this means for daily workflows:

Shared Pool Behavior
CLI usage → consumes from shared pool
App usage → consumes from same shared pool
IDE usage → consumes from same shared pool
─────────────────────────────────────────────
Total used → sum of all interface usage
Remaining → plan limit minus total used

If your plan gives you 100 requests and you use 40 in the CLI, 30 in the App, and 20 in your IDE, you have 10 left across all interfaces.

Common Misconceptions

I see people make these mistakes:

  1. Thinking interfaces have separate quotas - They don’t. One pool.
  2. Switching interfaces to bypass limits - Doesn’t work. Same pool.
  3. Assuming API docs explain subscription limits - They don’t. Different system.
  4. Expecting multiplied limits for multiple interfaces - No multiplication.

The Right Approach

Choose your interface based on what you’re doing:

Interface Selection Guide
CLI → Best for terminal workflows, automation, scripts
App → Best for visual exploration, quick queries
IDE → Best for coding tasks, inline assistance

Don’t spread usage across interfaces hoping for more capacity. Use what fits your workflow.

Summary

In this post, I explained how Codex rate limits work across CLI, App, and IDE extensions. The key point is that all interfaces share the same rate limit pool at the plan level - using multiple interfaces doesn’t multiply your limits.

Final Words + More Resources

My intention with this article was to help others share my knowledge and experience. If you want to contact me, you can contact by email: Email me

Here are also the most important links from this article along with some further resources that will help you in this scope:

Oh, and if you found these resources useful, don’t forget to support me by starring the repo on GitHub!

Comments