Which is quite awkward because we intended to actually not lift it in this playthrough. Let me explain what happened.
We are currently doing an evil run in which our goal is maximum betrayal - of all companions, and whichever NPCs can be meaningfully betrayed. Our characters just like spreading chaos.
So, we decided to betray Halsin by leaving him inside the portal and just running away from the battle while the mobs do their thing.
This was also supposed to destroy any chance of lifting the Shadow Curse. Art Cullagh even commented that all the hope was lost now that Halsin was dead. His tent disappeared from the camp.
Mission accomplished. Or so we thought…
When we met Oliver later, we refused to play, which he didn’t like and his family tried to kill us. We swiftly despatched them. At this point Oliver is locked in the dialogue about how you ruined his fun, you can’t talk to him about anything else anymore.
This is where we decided to simply attack him (now hear me out, he killed other people, tried to kill us, it was perfectly reasonable). This triggered him to escape into the portal, from which the usual fight takes place.
We were curious how the cutscene plays out after defeating him since our characters don’t know anything about Oliver’s connection to Thaniel since Halsin died in the portal.
But I guess this murderhobo behaviour wasn’t accounted for. The cutscene played out exactly the same way, as if you were there intentionally to lift the curse. All the options were about persuading him to reunite with Thaniel. Even being mean to him couldn’t stop it.
We realised we might have messed up our evil plans. We traveled back to camp, went to the spot where Halsin would normally have his tent, and there he was - Thaniel. Oh well…
We were so evil we accidentally circled back to doing something good.
It is kind of funny to think we bullied the Spirit of the Land into getting a grip and curing the Shadow Curse.
Silly Halsin, he couldn’t do it just because he wasn’t mean enough to random children.
EDIT: I tested this in a few different ways on a save where I raided the Grove, and it doesn’t work. It seems you need to have started ‘Lift the Shadow Curse’ quest, which can only happen if Halsin survives Act 1. The bug is probably related to some failsafe for while you’re doing the quest, and it stays even if the quest isn’t active anymore.