# fix\(server\): preserve Claude planning lifecycle · pingdotgg/t3code

[View on GitCafe](https://git.cafe/pingdotgg/t3code/commit/842a25a7a42d4632fa7529c387f4c1f730f0bcbc)

Repository: [pingdotgg/t3code](https://git.cafe/pingdotgg/t3code)

Visibility: public

Requested revision: 842a25a7a42d4632fa7529c387f4c1f730f0bcbc

Requested commit: 842a25a7a42d4632fa7529c387f4c1f730f0bcbc

Commit: 842a25a7a42d4632fa7529c387f4c1f730f0bcbc

Tree: b77d698378c0fb7da6586b522811a90803533966

Author: Julius Marminge

Committer: Julius Marminge

## Message

```
fix(server): preserve Claude planning lifecycle

Keep typed plan and todo records distinct from generic tool events, activate captured plans, and supersede older planning state within the owning thread. Ignore nested todo snapshots for the parent and retain identity across duplicate SDK messages.

Finding: R05 follow-up

Model: GPT-5.6 Sol via Codex

```

## Parents

- [9b73ff4415b4d5370853f88c9cdef71c81e52aeb](https://git.cafe/pingdotgg/t3code/commit/9b73ff4415b4d5370853f88c9cdef71c81e52aeb?format=markdown)

[Source at this commit](https://git.cafe/pingdotgg/t3code/tree/842a25a7a42d4632fa7529c387f4c1f730f0bcbc?format=markdown)
