If you're going for any kind of non-evil run in Baldur's Gate III, you're likely going to end up with Wyll being transformed into a devil. If you want both Karlach and Wyll in your party that's your only option. Well... that was until one Redditor known as Leyllara figured out a loophole.
Doing this does involve killing Karlach, but not permanently. Basically, you'll want to first recruit Wyll at the Emerald Grove. Then, ditch him and send him to camp, picking up the quest to kill Karlach.
Without Karlach knowing it's you or triggering her dialogue, you'll need to finish her off. This shouldn't be too difficult as she's level 1, but at an early level yourself, you'll want to make sure you're invisible, disguised, or using Hold Person on her.
You want to make sure she can be revived later, so hover over her corpse with a Revivify scroll. Then, head back to camp, where you'll be visited by Wyll's devil patron Mizora, who rewards him on a job well done and gives him the Infernal Robe, which grants some impressive buffs. Resistance to fire damage, +1 to armour class, and the 4th-level Fire Shield spell.
You can then head back, revive Karlach, and have the game play out mostly as normal. If you do this, some dialogue might bug out, and you'll still need to convince Wyll and Karlach not to fight, but apart from that Wyll won't turn into a devil and you get a sweet piece of loot. Win-win, in my eyes.