I use pi with zero extensions after they added MCP natively. I switched to pi the first time Claude decided to get itself stuck in a loop with a bunch of work trees, sub agents and unresolvable merge conflicts. I don’t want Claude deciding when to use sub agents and work worktrees. I also like using the same harness regardless of which model I want to use.