"Async Delay" causes "ForLoop" to not loop

Describe the bug

Inside a "Cycle Through Multiple Action on Repeated Trigger" I am trying to create a "Repeat / For Loop" that has delays.

The loop works fine as long as I am using "Blocking Delays", but that makes BTT hang for some reason (even though the delays are only 20 seconds and the loop is simple). Sometimes I need to force restart BTT.

If I use "Blocking Async", the loop runs only once (i.e., it doesn't loop). It won't even continue actions supposed to happen after the loop ends, it simply stops everything altogether. BTT continues to function normally though.

Affected input device (e.g. MacBook Trackpad, Magic Mouse/Trackpad, Touch Bar, etc.):

N/A. Trigger is configured under "Keyboard" section and is started via UUID.


Device information:

  • Type of Mac: Macbook Pro 2021 16" M1 Max
  • macOS version: PWWXXRR9VN
  • BetterTouchTool version: 4.333

Additional information (e.g. crash logs, related issues, etc.):

Thanks for reporting, that might be due to the combination of the cycle and for loop actions. I'll have a look!

Blocking delay will actually freeze BTT until the delay is over, that's why it's usually not recommended - but it's much simpler thus works in such cases.

Thanks Andreas!

And yes, I recently got a better understanding of Blocking vs Async. I think the little explanation/notes inside the Delay actions itself is new? They're great!