# tinker_cookbook.rl.FailFast ## *class* [**tinker_cookbook.rl.FailFast**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/rl/rollout_strategy.py#L92)(*[RolloutStrategy](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/rl/rolloutstrategy/index.md)*) Default strategy: any trajectory error crashes the group. Produces identical behaviour to the original `asyncio.gather(...)` path — no error tolerance, no overhead. ### [**execute**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/rl/rollout_strategy.py#L99)(*env_group_builder*, *policy*) Run all rollouts concurrently, raising immediately on any failure. **Parameters:** - [**env_group_builder**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/rl/rollout_strategy.py#L101) (*[EnvGroupBuilder](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/rl/envgroupbuilder/index.md)*) – Builder used to create the environments for this rollout group. - [**policy**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/rl/rollout_strategy.py#L102) (*[TokenCompleter](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/completers/tokencompleter/index.md)*) – The policy used to generate actions. **Returns:** *RolloutResult* – Result with all trajectories and an empty error list. **Raises:** - Exception: Any exception raised by a single rollout propagates - immediately, cancelling the remaining rollouts. ## Referenced by - [tinker_cookbook.rl.InitialObservationOverflow](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/rl/initialobservationoverflow/index.md)