@uzunkonak/pi_retry
Pi extension that waits out provider rate limits and resumes the interrupted run once the limit window resets
Package details
Install @uzunkonak/pi_retry from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@uzunkonak/pi_retry- Package
@uzunkonak/pi_retry- Version
0.2.0- Published
- Sep 1, 2026
- Downloads
- 268/mo · 27/wk
- Author
- uzunkonak
- License
- MIT
- Types
- extension
- Size
- 69.7 KB
- Dependencies
- 0 dependencies · 1 peer
Pi manifest JSON
{
"extensions": [
"extensions/retry-limit.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
pi_retry
A pi extension that waits out provider rate limits instead of failing the run, then resumes the interrupted work once the limit window reopens.
Pi's own retry budget is deliberately small — 3 attempts, and anything asking for a delay longer than 60s fails immediately. That is right for a blip and wrong for a five-hour usage window. This extension picks up where that budget ends: it works out when the window reopens, sleeps with a live countdown, and restarts the agent from where it stopped.
Install
pi install npm:@uzunkonak/pi_retry
Or install from git, or try it for a single run without installing at all:
pi install git:github.com/uzunkonak/pi_retry
pi -e npm:@uzunkonak/pi_retry
Use
It works with no configuration. When a run hits a rate limit you get a countdown; press Esc to cancel it. The editor and every command stay live while it counts down.
/retry-limit # status and current configuration
/retry-limit cancel # stop waiting, drop the pending retry
/retry-limit now # skip the wait and resume immediately
/retry-limit wait 5m # change the fallback wait interval
Consumer subscription wording is understood as well as API rate-limit errors —
Try again in ~109 min, resets 11:30pm (Europe/Istanbul), will reset at 3pm — including
the timezone, so the countdown is right even when it is not your own.
Exhausted credit or billing quota is not retried — that needs a human, so the extension stops and says so rather than sleeping until the end of the month.
Configuration lives in ~/.pi/agent/retry-limit.json or <project>/.pi/retry-limit.json, with
PI_RETRY_LIMIT_* environment overrides. See docs/reference.md for every
option, how reset times are detected, and the development setup.
Development
npm install
npm run check # typecheck + unit tests
npm run test:e2e
License
MIT © Caner Uzunkonak