  Large language models (LLMs) improve their performance in downstream tasks
when they generate Chain of Thought reasoning text before producing an answer.
Our research investigates how LLMs recover from errors in Chain of Thought,
reaching the correct final answer despite mistakes in the reasoning text.
Through analysis of these error recovery behaviors, we find evidence for
unfaithfulness in Chain of Thought, but we also identify many clear examples of
faithful error recovery behaviors. We identify factors that shift LLM recovery
behavior: LLMs recover more frequently from obvious errors and in contexts that
provide more evidence for the correct answer. However, unfaithful recoveries
show the opposite behavior, occurring more frequently for more difficult error
positions. Our results indicate that there are distinct mechanisms driving
faithful and unfaithful error recoveries. Our results challenge the view that
LLM reasoning is a uniform, coherent process.
