kyegomez/swarms
View on GitHub[feat][agent_rearrange][per-node retry and fallback]
Open
#1,556 opened on Apr 21, 2026
FEATenhancementgood first issue
Repository metrics
- Stars
- (6,809 stars)
- PR merge metrics
- (PR metrics pending)
Description
Problem
AgentRearrange retries and fallbacks are global — you can't express "retry B three times, and if it still fails, route to C" in the flow itself. Error handling has to live in the caller's try/except, which breaks the declarative model.
Proposed feature
Annotate individual nodes in the flow string with retry and fallback directives:
"A -> B!3 -> C" # B retries up to 3 times
"A -> B!3>D -> C" # B retries 3 times, then falls back to D
"A -> B?D -> C" # B on error routes to D
Design sketch
- Extend the flow parser to recognize
!N(retry count) and>Xor?X(fallback agent). - Each node becomes a small state machine:
attempt, on exceptionretry or fallback or raise. - Fallback agents are resolved from the same
agentslist; unknown names fail at parse time.
Files
swarms/structs/agent_rearrange.py
Why
Puts error handling where it belongs — next to the node that can fail — instead of in every caller.