Summary
In OpenCode V1, the model could write and read its native TODO list through the todowrite and todoread tools (the list shown in the TUI). In V2 (0.0.0-next-17403), those tools are no longer exposed to the model: the runtime tool catalog contains read, write, shell, edit, patch, glob, grep, question, skill, subagent, webfetch and websearch, but no TODO tool, and there is no /api/todo endpoint. Agents can therefore no longer write their TODO list, which breaks workflows that relied on it (an agent asked to keep its list up to date reports the tool is absent from its function catalog).
Environment
- opencode version: 0.0.0-next-17403
- OS: Linux 7.0.0-28-generic (linux x64)
- Terminal: TERM=xterm-256color, COLORTERM=truecolor
- Shell: /bin/bash
- Install/channel: next
- Active plugins: agy-proxy, kt-directives, kt-todo-rappel, vision-helper (local plugins under ~/.config/opencode/plugins/)
Reproduction
- Start
opencode2.
- Ask an agent to write its TODO list with the native TODO tool (
todowrite).
- The agent reports the tool is not among its available functions.
Expected Behavior
The model should be able to write and read its TODO list, as in V1 (todowrite/todoread or an equivalent).
Actual Behavior
No TODO tool is exposed in the runtime, and GET /api/todo returns nothing. The string pipeToDoReadWrite appears in the binary, but no public tool or endpoint surfaces it.
Additional Context
The V1 to V2 migration guide lists only the server API and the plugin API as intentional breaking changes, and does not mention removing the TODO tool, so this looks like a beta compatibility regression rather than an intentional removal. Workaround currently in use: the agent keeps its list in a plain file instead.
Summary
In OpenCode V1, the model could write and read its native TODO list through the
todowriteandtodoreadtools (the list shown in the TUI). In V2 (0.0.0-next-17403), those tools are no longer exposed to the model: the runtime tool catalog contains read, write, shell, edit, patch, glob, grep, question, skill, subagent, webfetch and websearch, but no TODO tool, and there is no/api/todoendpoint. Agents can therefore no longer write their TODO list, which breaks workflows that relied on it (an agent asked to keep its list up to date reports the tool is absent from its function catalog).Environment
Reproduction
opencode2.todowrite).Expected Behavior
The model should be able to write and read its TODO list, as in V1 (
todowrite/todoreador an equivalent).Actual Behavior
No TODO tool is exposed in the runtime, and
GET /api/todoreturns nothing. The stringpipeToDoReadWriteappears in the binary, but no public tool or endpoint surfaces it.Additional Context
The V1 to V2 migration guide lists only the server API and the plugin API as intentional breaking changes, and does not mention removing the TODO tool, so this looks like a beta compatibility regression rather than an intentional removal. Workaround currently in use: the agent keeps its list in a plain file instead.