Is there more info on how the todo list tool is a noop? How exactly does that work?

If you want to see it in action in some code, our agent Sketch uses a TODO list tool: https://github.com/boldsoftware/sketch/blob/main/claudetool/...

It is relatively easy to get the agent to use it, most of the work for us is surfacing it in the UI.

Same question. I don’t understand what they mean by that. It obviously seem pretty central to how Claude Code is so effective.

I thought they meant that it's a noop as a tool in the sense that it takes no external action. It seems nonetheless effective as a means of organizing reasoning and expressing status along the way.

just for chain of thought TodoWrite would be sufficient as a tool wouldn‘t it?

i think he means it's 'just' a thin concat

most useful prompt stuff seems 'simple' to implement ultimately, so it's more impressive to me that such a simple idea of TODO goes so far!

(agent frameworks ARE hard in serious settings, don't get me wrong, just for other reasons. ex: getting the right mix & setup devilishly hard, as are infra layers below like multitenacy, multithreading, streaming, cancellation, etc.)

re: the TODO list, strong agree on criticality. it's flipped how we do louie.ai for stuff like speed running security log analysis competitions. super useful for preventing CoT from going off the rails after only a few turns.

a fun 'aha' for me there: nested todo's are great (A.2.i...), and easy for the LLM b/c they're linearized anyways

You can see how we replace claude code's for our own internal vibe coding usage, which helps with claude's constant compactions as a heavy user (= assuages issue of the ticking timer for a lobotomy): https://github.com/graphistry/louie-py/blob/main/ai/prompts/...

The context will contain a record that the tool call took place. The todo list is never actually fetched.

My understanding is that it is basically a prompt about making a TODO list.

if it was a noop, I feel like there wouldn‘t be a need to have TodoRead as a tool, since TodoWrite exists. Would love to get more info on whether this is really a noop

My guess is the todo list is carried across “compress” points where the agent summarizes and restarts with fresh context + the summary