Contract theory studies how a principal can incentivize an agent to take costly actions. We study a multi-principal extension in which several strategic principals simultaneously offer linear contracts to a single agent, who then chooses a subset of principals to work for. In addition to incentivizing the agent, the contracts must form an equilibrium: no principal should benefit from unilaterally changing their contract. We study the computational problem of finding a stable outcome that maximizes the principals' total utility. In the symmetric setting, where all principals share the same reward function, we give polynomial-time algorithms for broad classes of reward functions, while showing NP-hardness and approximation hardness for submodular rewards. In the non-symmetric setting, the problem becomes NP-hard even for additive rewards, although we identify structured special cases that remain efficiently solvable.