I am not sure exactly what you mean by 'consequences' – it's one of those words that can cover a wide range of things for different people – but I think gentle parenting does very much include the idea of setting and enforcing limits/boundaries, which may include things that look very much like 'consequences'.
DD is a few months younger than your son. For us, the 'consequence' is directly linked to enforcing the boundary (e.g, throwing blocks and not stopping when asked means the blocks get put away so no one gets hurt/things don't get broken, not that DD doesn't get any pudding that day), we explain (very simply!) why she can't do it, and we give her another chance with whatever it was soon (and let her know this, e.g., 'we can play with the blocks again after lunch'). Of course she can get upset when we enforce the limit, and we'd empathise with her, offer cuddles if she wants them – but the blocks stay put away for a bit. It's not about punishment, it's about preventing harm and giving her enough of a break from temptation that she has a realistic chance of doing better next time.
In terms of options, I also tend to give two, always both viable, but sometimes of the 'you can choose to use the toilet first or clean your teeth first, but we're getting ready for bed now' sort. On the flip side, if I've offered her apple or banana for snack, and she can see pears in the fruit bowl and asks for pear, I'll give her pear. For us, this seems to work – she generally seems to accept that if she names a third option and I say 'no, A or B', then she has to pick A or B. (The current exception is around going upstairs to bed, when she'll come up with options C, D, E, and F...)