I found a new way that works, you need to bring a chest, has to have high hitpoints as it will take 12 points of damage to place it. Place it underneath his cage lengthways front to back, you have a narrow window that will work. Make sure to place it far enough back. Then you have to shoot the bottom out, this will place him within reach. He will still act like he’s in a cage tho, so then you have to throw him a little ways away. I used Laezel at 18 STR and he took 9 damage for a very short throw, so maybe someone else with a lower STR might be better, because it was close. I’d make sure to save before the throw, cuz rng. After all that tho, you can talk to him, and he will be freed. This works as of this posting, patch 3.