We analyze task reallocation where individually rational (IR) agents (re)contract tasks among themselves based on marginal costs. A task allocation graph is introduced as a tool for analyzing contract types. Traditional single task contracts always have a short path (sequence of contracts) to the optimal task allocation but an IR path may not exist, or it may not be short. We analyze an algorithm for finding the shortest IR path. Next we introduce cluster contracts, swaps, and multiagent contracts. Each of the four contract types avoids some local optima that the others do not. Even if the protocol is equipped with all four types, local optima exist. To attack this problem, we introduce OCSM-contracts which combine the ideas behind the four earlier types into an atomic contract type. If the protocol is equipped with OCSM-contracts, any sequence of IR contracts leads to the optimal task allocation in a finite number of steps: an oracle---or speculation---is not needed for choosing the path (no subset of OCSM-contracts suffices even with an oracle). This means that the multiagent search does not need to backtrack. This is a powerful result for small problem instances. For large ones, the anytime feature of our multi-contract-type algorithm---with provably monotonic improvement of each agent’s solution---is more important.