Recently, while handling a migration of historical WordPress article excerpts, I encountered a relatively minor issue: a Chinese article’s excerpt failed to generate three times in a row because it contained full HTTP and HTTPS addresses, which the program rejected.
I had already pinpointed the problem. I just needed to adjust the excerpt prompt and fix a misclassification logic. I originally planned to hand this off to Codex, but right as I was preparing to submit the instructions, Codex notified me that my message quota was exhausted.
This actually raised a new question for me:
Once Codex shows that the quota is exhausted, does it completely reject all instructions? If I only submit a very small modification task, can it still execute?
So, I took the opportunity to run a practical test.
1. The Cause: A Very Small Code Modification
This issue occurred in my wordpress-ai-excerpt-backfill project.
While batch processing 20 historical articles, 19 completed successfully. Only the Chinese article 5355 failed to generate an excerpt three times in a row. The error returned by the program was:
generated Chinese excerpt contains forbidden markup or payload
After checking the three rejected excerpts, I could see that they were all normal Chinese plain text, containing no HTML, Markdown, code blocks, or hidden characters.
Their only commonality was that they all contained full addresses like the following:
http://api.om.qq.com
https://api.om.qq.com
Further investigation confirmed that the program inherently forbids http:// and https:// from appearing in excerpts. At the same time, the batch processing log had incorrectly categorized this excerpt content validation failure as:
authentication_error
This happened because the error message contained the word forbidden, and the error classifier treated any text containing forbidden as an authentication failure.
Therefore, the actual scope of this modification was very small:
- Explicitly forbid outputting full URLs in the excerpt prompt;
- Remove the overly broad
forbiddenmatching in the authentication classifier; - When the execution status is
excerpt_rejected, prioritize categorizing it asrejected_excerpt_generation; - Add a few targeted tests.
Under normal circumstances, this type of task is well-suited for Codex.
2. Codex Notifies That the Message Quota Is Exhausted
But when I was about to have Codex implement the changes, the interface already displayed:
Your Codex message quota has been used up.
It also notified me that the quota would reset on August 8, 2026, at 15:44.

At that point, it would be about two days before the quota recovered.
Because this modification was so small, I was initially unsure exactly what kind of restriction this was:
- Just a reminder that the regular quota was depleted;
- Still allowing a few lightweight tasks to continue executing;
- Or completely prohibiting any new instructions from being sent to Codex.
To confirm the actual behavior, I still submitted a very clearly scoped, minimal modification instruction to Codex.
This instruction did not require re-investigating the entire repository or running the full test suite; it only specified modifications to a few already-confirmed files.
3. Test Results: Quota Exhaustion Is a Hard Limit
The result was very clear.
Codex did not continue reading files or execute any modifications. Instead, it went straight to the insufficient quota screen, asking me to wait for the quota to reset, upgrade my plan, or purchase additional quota.

This shows that, at least in the scenario I encountered, Codex message quota exhaustion acts as a hard limit.
Even if the task is extremely small—just modifying two pieces of code and running a few targeted tests—it will not continue executing simply because the “usage is low.”
In other words, the quota limit is not dynamically determined based on the complexity of the next task. As long as the current account has reached the message cap, subsequent new instructions will be blocked directly.
This test also answered my original question:
Once the Codex quota is exhausted, you cannot continue using it by submitting a shorter or simpler instruction.
4. Whether to Purchase Additional Quota for This Modification
On the Codex quota page, I saw the option to purchase additional quota.
One option was to buy 1,000 credits, with the page showing a price of PHP 2,260.
However, I did not have a convenient payment method available at the moment, and this was just a very small code modification. Solving payment issues specifically to purchase additional quota for such a temporary task was clearly not cost-effective.
Meanwhile, I also looked into BeWild’s Claude Code / Codex plans. The page offers pay-as-you-go or subscription options, claiming savings of 17%–50% compared to official pricing, with discounts up to 50% off.

From a pricing perspective, these plans might be somewhat attractive in the future, especially when needing long-term, high-frequency use of Claude Code or Codex.
But given my actual situation at the time, there was still no immediate need to purchase.
There were a few main reasons for this.
First, this was just a small-scope modification, not a large development task that absolutely required Codex to complete immediately.
Second, the Codex quota would automatically recover in two days. To shorten this two-day wait, temporarily signing up for another service would mean a mismatch between the effort and the payoff.
Third, using a new third-party solution would require dealing with payment, account integration, usage methods, and potential after-sales issues all over again.
I had recently dealt with a subscription status issue in the BeWild service. Under these circumstances, adding a new paid service for a temporary, minor task was not the most prudent choice right now.
So I ultimately decided:
Not to purchase additional Codex quota for now, and not to immediately sign up for BeWild’s Claude Code / Codex plan.
5. Without Codex, the Code Modification Was Still Completed
This code modification was just the preamble to the whole situation, not the main focus of this article. However, it also shows that when Codex is temporarily unavailable, it does not mean development work has to stop entirely.
After Codex could no longer execute tasks, I switched to having ChatGPT generate a modification script that could be run directly in a standard terminal, based on the investigation results I had already completed.
The first script failed because it used the following in an interactive terminal:
set -euo pipefail
When one of the code snippets failed to match, the Shell exited directly, causing the terminal window to close automatically as well.
I later readjusted the approach:
- No longer enabling
set -ein the current interactive Shell; - Completing match checks for all target code snippets first;
- Only writing to the files all at once after all matches were successful;
- Automatically backing up to
/tmpbefore modifying; - Only modifying the 4 confirmed files;
- Not touching production data or historical state directories.
The modification was ultimately completed successfully, and I ran the relevant tests:
Ran 134 tests in 26.398s
OK
git diff --check also passed smoothly.
Afterwards, I resumed processing the previously failed article 5355. With the new prompt taking effect, GLM generated a compliant excerpt on the first try, and the entire article was processed successfully:
result=completed
category=completed
returncode=0
This modification was ultimately committed and pushed to GitHub:
5052589 fix: 修复摘要 URL 拒绝与错误分类
So, this time I did not stall for two days just because the Codex quota was exhausted.
However, manually executing terminal modification commands is obviously more cautious than letting Codex handle it directly, and it relies more heavily on accurate judgment of the modification scope and code state. For more complex tasks, I still prefer to wait for the Codex quota to recover rather than doing a massive amount of manual substitution.
6. Conclusions from This Quota Test
Through this practical experience, I have gained a clearer understanding of Codex’s quota mechanism.
1. New Tasks Are Directly Blocked After Quota Exhaustion
At least in this test, quota exhaustion was not an ordinary reminder, but an actual execution limit.
No matter how small the task, it will not continue to execute.
2. No Need to Top Up Immediately for a Single Small Fix
Whether to purchase additional quota should be judged based on the task’s importance, the wait time, and future usage.
If it is just a small modification that can be handled manually, and the quota will recover soon, temporarily topping up is usually not cost-effective.
3. Third-Party Pay-As-You-Go Plans Can Be Kept in Mind, But Don’t Need to Be Bought Immediately
BeWild’s Claude Code / Codex plans can serve as a backup option for the future.
But it is only worth seriously calculating the long-term costs when the official quota is frequently insufficient and has clearly impacted continuous development.
4. The Ability to Handle Tasks Without Relying on Codex Is Still Necessary
Codex is great for reading repositories, modifying code, and running tests, but quota, network, or service status can all cause temporary interruptions.
Therefore, you should at least retain the following capabilities:
- Being able to review Git diffs yourself;
- Being able to understand the investigation conclusions provided by Codex;
- Being able to run targeted tests;
- Being able to stop and roll back when a modification fails;
- Being able to distinguish between code files, test files, and runtime state files that should not be committed.
AI programming tools can significantly boost efficiency, but they should not become the only entry point through which work can continue.
7. Summary
This originally started as just a routine fix for a failed excerpt generation, but it also gave me a chance to verify the actual behavior of Codex after quota exhaustion.
The conclusion is straightforward:
Once the Codex message quota is exhausted, it will directly refuse to execute new tasks. Even for a very small modification, you cannot continue using it by reducing the scope of your instructions.
Faced with this situation, you can choose to wait for the quota to recover, purchase additional quota, or temporarily switch to other methods to complete the task.
For my situation this time, waiting two days or completing the modification manually was more appropriate than temporarily solving payment issues to buy a new service. Therefore, I did not purchase additional official quota, nor did I sign up for BeWild’s Claude Code / Codex plan for the time being.
If Codex quota frequently becomes a development bottleneck in the future, it will be more reasonable to evaluate pay-as-you-go or third-party options then.
Until then, the most practical strategy remains:
When Codex has quota, use it to improve efficiency; when Codex is temporarily unavailable, ensure that the project can still move forward safely.

