Codex Usage
QuotaLint
QuotaLintExperimental · Updated September 21, 2026

Lint it before you start. Protect it while it runs.

QuotaLint uses Jev to judge task risk, then watches your actual Codex quota locally so the task does not die before validation. It flags vague scope, bundled deliverables, open-ended iteration and missing stopping conditions, hands you the bounded task to paste into Codex, and tells you when to stop expanding and keep the rest for tests.

A free Mac app that reads your current Codex quota on your own machine, lints the task before you spend anything, and protects the finish while it runs. Press ⌥⌘L to open it from anywhere.

macOS 13+ · Apple Silicon · Python 3 and the Codex CLI required

QuotaLint
Task
Redesign the marketing site
Current quota · read on your Mac
5-hour
18%
Weekly
62%
SCOPE DOWN
5-hour quota is tight at 18%. Resets in 1h 52m.
Task lints
Scope is undefined
Fix: Choose one page, component, workflow, or other bounded surface.
No stopping condition
Fix: Add one concrete validation step and tell the agent to stop after it passes.
Recommended task shape
Scope
One page, component, or workflow
Stop
After the first validated implementation
DeferSecondary surfacesBroad refactors

Illustrative rendering of the QuotaLint window.

The missing decision

Quota tells you how much is left. It does not tell you whether to start.

Knowing you have 22% left does not answer the question actually in front of you. Is this a typo fix, a safe medium implementation, or a multi-step migration that dies halfway through and leaves the branch in pieces? The meter reports the fuel. It says nothing about the distance.

Most of the distance comes from how the task is written. “Redesign the site” has no edge and no finish line, so the agent keeps going until the window runs out. Those are the things QuotaLint flags.

ESLint for expensive coding-agent tasks

It doesn't rewrite your prompt. It points at the parts likely to waste the window and gives a concrete fix for each. A well-bounded task with healthy quota comes back with no lints at all.

  • Scope is undefined

    Fix: Choose one page, component, workflow, or other bounded surface.

  • Several deliverables in one task

    Fix: Pick one deliverable for this run and queue the rest.

  • Open-ended iteration risk

    Fix: Choose one implementation direction and stop after one validated pass.

  • No stopping condition

    Fix: Add one concrete validation step and tell the agent to stop after it passes.

  • Validation surface is broad

    Fix: Narrow the change and name one explicit validation path.

  • Architecture is unsettled

    Fix: Have the agent write a short plan and settle the design before implementing.

  • Migration or data risk

    Fix: Separate the migration from feature work and validate it on its own.

  • Depends on external systems

    Fix: Confirm access and availability before the agent starts.

Then it makes a call, using the tightest quota window you have. Every call comes with a recommended task shape (scope, direction, what to preserve, how to validate, when to stop) and a short list of what to defer.

START NOW

Bounded enough to run against the quota you have.

SCOPE DOWN

The intent is clear, but narrow the task before you run it.

PLAN FIRST

The real risk is unsettled design, not size. Plan before code.

WAIT FOR RESET

Not enough quota to reach a useful stopping point. The lints still apply.

On Mac

No quota entry. QuotaLint already knows.

The Mac app ships with its own local quota helper. It reads your current Codex windows the moment you open it, and hands that state to the check for you. You describe the task. That is the whole workflow.

Download QuotaLint for Mac
Filled in for you
  • 5-hour remaining %
  • Time until the 5-hour reset
  • Weekly remaining %
  • Time until the weekly reset
  • Pressure state

You supply: the task description.

How it works

  1. 1
    Lint the task

    QuotaLint catches vague scope, bundled deliverables, open-ended iteration, missing stopping conditions and other quota-wasting patterns, then reads them against the window you have left.

  2. 2
    Run the bounded version

    Copy the quota-safe task packet straight into Codex: your task exactly as written, plus only the constraints the lints justify.

  3. 3
    Protect the finish

    Protected Run watches your quota locally and warns when it is time to stop expanding scope and keep the rest for validation.

Protected Run keeps enough headroom to validate

Press Start Protected Run after you paste the task. The Mac app rereads your quota locally once a minute and tells you only when the validation reserve gets tighter. A risky migration reaches “stop expanding” sooner than a clean rename at the same quota, because the reserve follows the task's risk. It does not launch or read Codex, and it is a heuristic, not a quota-cost estimate.

  • COMFORTABLE
    Room for implementation and validation.
  • KEEP HEADROOM
    Finish the current unit before starting another.
  • VALIDATION AT RISK
    Stop expanding scope.
  • VALIDATION ONLY
    No new implementation. Test and checkpoint.

Task-risk judgments are powered by Jev from TypeSafe; the lints, task shape, call, task packet and validation reserve are fixed rules on top of those judgments. QuotaLint is an experimental task-fit assessment — not an exact quota-cost predictor, not an OpenAI feature or endorsed product, not a prompt writer, and not an agent.

What actually leaves your machine

Reading your quota stays on your machine. The check is the one part that does not: it makes a request only after you open QuotaLint, enter a task, and press Check task. Nothing is sent before that.

Sent for a check
  • The task description you typed
  • Coarse quota state
Never sent
  • Repository contents
  • File paths
  • Codex conversation history
  • Credentials
  • Diagnostics
  • Account identifiers

The task text lives in that window only and is never written to disk. Protected Run and the outcome you record when a run ends stay on your Mac: no task text is stored and nothing about them is sent. Full detail in what this site sends and stores.

Not on a Mac? Run a manual check in your browser.

The web checker runs the same judgment, but a browser cannot read your local Codex state, so you supply the quota numbers yourself — from /status in the Codex CLI.

Open web checker

Finish before your quota does.

Download the free Mac app and lint the task before you spend the quota.

From the maker of Codex Usage.