Skip to content

Retry / delay flags stop immediately on Claude rate-limit — is this expected? How to enable autonomous retries? #134

@IntelligentAICode

Description

@IntelligentAICode

Hi Michael, thanks for building Ralphy — it’s been working great so far.

I have a question about how --max-retries and --retry-delay behave when hitting Claude Code rate limits / quota resets.

What I’m seeing

I’m running Ralphy like this (to try to restart Ralphy every 15 minutes, 'indefinitely' until the 5-hour rate limit is reset):
ralphy --prd Tasks/tasks.md --retry-delay 900 --max-retries 99999

Ralphy works correctly for a long time, but once Claude Code hits a hard rate limit (message like):
You've hit your limit · resets 1pm

Ralphy immediately exits with:
[WARN] Temporary failure, stopping early (1/99999)

No retry delay is applied, and the process exits instead of waiting and retrying.

Expected vs actual behavior

I expected --retry-delay / --max-retries to cause Ralphy to sleep and retry periodically (e.g. every 15 minutes) until the quota resets.

Instead, Ralphy exits immediately on this kind of rate-limit/quota error.

Questions

  1. Is this behavior expected by design?
  • i.e. are Claude quota / hard rate-limit errors intentionally treated as “stop early” and not retryable?
  1. If so, is there a built-in or recommended way to make Ralphy truly autonomous for long runs?
  • For example: automatically wait N minutes and restart itself when hitting quota limits.
  1. If not built-in, would you consider:
  • a flag like --retry-on-quota
  • or an option to keep the process alive and retry after --retry-delay even for quota resets?

Right now the only way to achieve fully autonomous behavior seems to be wrapping Ralphy in an external shell loop that restarts it after sleeping, but I wanted to check whether there’s a native or intended approach first.

Happy to provide logs or test anything if useful.

Thanks again for the tool!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions