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

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

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

Visibility: public

Requested revision: ef7f80547262d86ae77ce25ee07c14fdd34e975d

Requested commit: ef7f80547262d86ae77ce25ee07c14fdd34e975d

Commit: ef7f80547262d86ae77ce25ee07c14fdd34e975d

Tree: 301cf64c724b82b831dbc8dbf21717ea80bbb764

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

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

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