ClaudeMods
☰
EN
● — online · Views — times
SponsorsSubmit a project
GitHub repositories · by maseungsidea

resetcoupon-watch

A Claude Code mod that warns you **before a rate-limit reset coupon lapses unused**: Claude's reset grants and Codex's reset credits, with the nearest deadline in KST and its D-day. Read-only and zero model calls: it never redeems a coupon.

maseungsidea@maseungsidea

maseungsidea/ResetCoupon-Watch

image1
Translated

About this mod

Adds a status line (or band in the desktop app) showing the nearest reset coupon deadline in KST with a use-by night, toasts at 72/24/12 hours left, and a /resetcoupon-watch report covering Claude reset grants and Codex reset credits. Read-only and zero model calls; it never redeems a coupon. Installed via the plugin marketplace. Times are KST only and the Claude source uses an undocumented endpoint.

Installation

Check the author's README for the marketplace and plugin name first. Commands may change as the repository evolves.

claude plugin marketplace add maseungsidea/ResetCoupon-Watch
claude plugin install resetcoupon-watch@resetcoupon-watch
Original text / README

ResetCoupon-Watch

A Claude Code mod that warns you before a rate-limit reset coupon lapses unused: Claude's reset grants and Codex's reset credits, with the nearest deadline in KST and its D-day. Read-only and zero model calls: it never redeems a coupon.

The status line: the nearest coupon, when it lapses and the night to use it by

  • Status line: 🎟 reset coupon D-6 · Codex lapses 10-30(Fri) 02:28 KST → use by 10-29(Thu) night · Claude 0 · Codex 2. Under 72 hours left it turns into ⚠️ reset coupon D-1 (30h left) · …. In the desktop app, which folds extra plugin status lines behind +1, the same line is drawn in the band above the prompt instead (it gives way to a survey or another plugin's band).
  • Use-by day, not just the expiry: a coupon that lapses before noon KST is marked use by the night before, since a 01:00 deadline is gone by the time you sit down. The D-day counts to that use-by day.
  • Toasts at 72, 24 and 12 hours left, once each per coupon. A session opened late shows only the nearest threshold it crossed.
  • /resetcoupon-watch: every coupon with its expiry, use-by day and time left, and which source could not be read. It reads both sources afresh when you run it.

The /resetcoupon-watch report: no Claude grant, two Codex credits

The screenshots come from a real Claude Code 2.1.309 terminal session on 2026-10-23, with live data from both sources.

Install

At the prompt of a terminal session:

/plugin install resetcoupon-watch --marketplace maseungsidea/ResetCoupon-Watch

From a shell:

claude plugin install resetcoupon-watch --marketplace maseungsidea/ResetCoupon-Watch

Answer y to add the marketplace, then pick a scope. In the desktop app, go to + → Plugins → Add marketplace.

The language option (en / ko) sets the language of the status line, the report and the toasts.

Where the coupons come from

  • Claude: the reset grants on your account (/api/oauth/usage?cedar_ember=1), read with the session's own sign-in through the mod API ($.session.authorize()). The mod never opens your keychain or credential files. This endpoint is not documented and may change. A refused or empty answer is reported as could not read, not as zero coupons. Redeem a coupon in Claude Code with /limit-reset.
  • Codex: reset credits from codex app-server (account/rateLimits/read), read with Codex's own sign-in. Redeemed credits drop out. An error answer, or a count without the credit list, is reported as could not read. Redeem a credit in Codex with /usage.

Both sources are read when a session starts and then at most once an hour, after a main turn. The last reading is also written to ~/.claude/resetcoupon-watch/passes.json, so a script outside Claude Code (a daily phone push, for example) can use it without touching your credentials.

Why

Reset coupons arrive without much notice and expire on a fixed date. On 2026-10-22 a Claude grant was still unused when it lapsed at 01:00 KST that night. Nothing on screen showed the deadline, and a "10-23" date read like a whole day left. ResetCoupon-Watch keeps the nearest deadline in view and says which night is the last chance.

How it compares

These are the reset coupon tools found on claudemods.dev and GitHub as of 2026-10-23, checked against their source or README.

| | ResetCoupon-Watch | codex-reset-credits-skill | codex-reset-dates | CodexBar | |---|---|---|---|---| | Runs in | Claude Code (mod) | Codex (skill) | a terminal (Node CLI) | the macOS menu bar (app) | | Claude reset grants | yes | no | no | yes | | Codex reset credits | yes | yes | yes | yes | | Deadline shown without asking | yes, status line or band, plus toasts | no, answers when asked | no, prints when run | yes, menu bar | | Credentials | Claude: the session's own sign-in, via the mod API; Codex: Codex's own sign-in, via codex app-server | reads ~/.codex/auth.json | reads ~/.codex/auth.json | keychain access or prompts | | Needs | codex on PATH for Codex | Python | Node | macOS 14+ |

Claude usage mods on claudemods.dev (claude-pacer, agent-usage-guard and similar) watch usage windows, not reset coupons.

In short: CodexBar is the broad one. It shows usage and limits for many providers, coupons included, in its own app. ResetCoupon-Watch does one job inside Claude Code: it keeps the coupon deadline in view, adds a use-by night and toasts, and needs no extra app or keychain prompt.

Who it's for

  • You have Claude or Codex reset coupons and have let one lapse, or nearly did.
  • You work in Claude Code all day and want the deadline where you already look, not in another app.
  • You use both Claude and Codex and want one place for both kinds of coupon.
  • You want nothing done on your behalf. It only reads; redeeming stays your call.

Where it does not fit

  • Times are KST only. The use-by rule (before noon → the night before) is written for that zone.
  • The Claude source is undocumented. If the endpoint changes, the Claude side shows could not read until the mod is updated.
  • It reads only while Claude Code is open. The cache file lets an outside script cover the gaps, but such a script is not included.
  • API-key sessions have no reset grants, so only the Codex side applies there.
  • Codex needs the codex CLI on PATH. Without it the Codex side shows could not read.

Validation

claude plugin test runs 10 tests:

  • KST labels and the use-by night, checked against real expiries (the Claude grant that lapsed 2026-10-23 01:00 KST, and Codex credits lapsing 10-30 and 11-07).
  • D-day counting.
  • Redeemed and paused coupons dropping out.
  • A refused or error answer counted as unread, for either source.
  • Toast thresholds firing once each.
  • The report.
  • The status line in a terminal versus the band in the desktop app.

Live on Claude Code 2.1.309, both sources were read in a terminal session (the screenshots above) and in the desktop app's band. claude plugin validate reports no errors.

License

MIT

Similar projects