Просмотр исходного кода

chore: remove dead code for todoread tool (#19128)

Aiden Cline 3 недель назад
Родитель
Сommit
77fc88c8ad
87 измененных файлов с 5 добавлено и 528 удалено
  1. 0 1
      github/index.ts
  2. 0 2
      packages/app/src/i18n/ar.ts
  3. 0 2
      packages/app/src/i18n/br.ts
  4. 0 2
      packages/app/src/i18n/bs.ts
  5. 0 2
      packages/app/src/i18n/da.ts
  6. 0 2
      packages/app/src/i18n/de.ts
  7. 0 2
      packages/app/src/i18n/en.ts
  8. 0 2
      packages/app/src/i18n/es.ts
  9. 0 2
      packages/app/src/i18n/fr.ts
  10. 0 2
      packages/app/src/i18n/ja.ts
  11. 0 2
      packages/app/src/i18n/ko.ts
  12. 0 2
      packages/app/src/i18n/no.ts
  13. 0 2
      packages/app/src/i18n/pl.ts
  14. 0 2
      packages/app/src/i18n/ru.ts
  15. 0 2
      packages/app/src/i18n/th.ts
  16. 0 2
      packages/app/src/i18n/tr.ts
  17. 0 2
      packages/app/src/i18n/zh.ts
  18. 0 2
      packages/app/src/i18n/zht.ts
  19. 0 1
      packages/opencode/src/agent/agent.ts
  20. 1 13
      packages/opencode/src/cli/cmd/agent.ts
  21. 0 1
      packages/opencode/src/cli/cmd/github.ts
  22. 0 1
      packages/opencode/src/config/config.ts
  23. 0 6
      packages/opencode/src/tool/task.ts
  24. 1 23
      packages/opencode/src/tool/todo.ts
  25. 0 14
      packages/opencode/src/tool/todoread.txt
  26. 0 2
      packages/opencode/test/agent/agent.test.ts
  27. 0 2
      packages/opencode/test/config/config.test.ts
  28. 0 1
      packages/sdk/js/src/v2/gen/types.gen.ts
  29. 0 3
      packages/sdk/openapi.json
  30. 2 7
      packages/ui/src/components/message-part.tsx
  31. 1 1
      packages/ui/src/components/session-turn.tsx
  32. 0 1
      packages/web/src/components/Share.tsx
  33. 0 3
      packages/web/src/components/share/part.tsx
  34. 0 1
      packages/web/src/content/docs/ar/modes.mdx
  35. 0 1
      packages/web/src/content/docs/ar/permissions.mdx
  36. 0 21
      packages/web/src/content/docs/ar/tools.mdx
  37. 0 1
      packages/web/src/content/docs/bs/modes.mdx
  38. 0 1
      packages/web/src/content/docs/bs/permissions.mdx
  39. 0 21
      packages/web/src/content/docs/bs/tools.mdx
  40. 0 1
      packages/web/src/content/docs/da/modes.mdx
  41. 0 1
      packages/web/src/content/docs/da/permissions.mdx
  42. 0 21
      packages/web/src/content/docs/da/tools.mdx
  43. 0 1
      packages/web/src/content/docs/de/modes.mdx
  44. 0 1
      packages/web/src/content/docs/de/permissions.mdx
  45. 0 21
      packages/web/src/content/docs/de/tools.mdx
  46. 0 1
      packages/web/src/content/docs/es/modes.mdx
  47. 0 1
      packages/web/src/content/docs/es/permissions.mdx
  48. 0 21
      packages/web/src/content/docs/es/tools.mdx
  49. 0 1
      packages/web/src/content/docs/fr/modes.mdx
  50. 0 1
      packages/web/src/content/docs/fr/permissions.mdx
  51. 0 21
      packages/web/src/content/docs/fr/tools.mdx
  52. 0 1
      packages/web/src/content/docs/it/modes.mdx
  53. 0 1
      packages/web/src/content/docs/it/permissions.mdx
  54. 0 21
      packages/web/src/content/docs/it/tools.mdx
  55. 0 1
      packages/web/src/content/docs/ja/modes.mdx
  56. 0 1
      packages/web/src/content/docs/ja/permissions.mdx
  57. 0 21
      packages/web/src/content/docs/ja/tools.mdx
  58. 0 1
      packages/web/src/content/docs/ko/modes.mdx
  59. 0 1
      packages/web/src/content/docs/ko/permissions.mdx
  60. 0 21
      packages/web/src/content/docs/ko/tools.mdx
  61. 0 1
      packages/web/src/content/docs/modes.mdx
  62. 0 1
      packages/web/src/content/docs/nb/modes.mdx
  63. 0 1
      packages/web/src/content/docs/nb/permissions.mdx
  64. 0 21
      packages/web/src/content/docs/nb/tools.mdx
  65. 0 1
      packages/web/src/content/docs/permissions.mdx
  66. 0 1
      packages/web/src/content/docs/pl/modes.mdx
  67. 0 1
      packages/web/src/content/docs/pl/permissions.mdx
  68. 0 21
      packages/web/src/content/docs/pl/tools.mdx
  69. 0 1
      packages/web/src/content/docs/pt-br/modes.mdx
  70. 0 1
      packages/web/src/content/docs/pt-br/permissions.mdx
  71. 0 21
      packages/web/src/content/docs/pt-br/tools.mdx
  72. 0 1
      packages/web/src/content/docs/ru/modes.mdx
  73. 0 1
      packages/web/src/content/docs/ru/permissions.mdx
  74. 0 21
      packages/web/src/content/docs/ru/tools.mdx
  75. 0 1
      packages/web/src/content/docs/th/modes.mdx
  76. 0 1
      packages/web/src/content/docs/th/permissions.mdx
  77. 0 21
      packages/web/src/content/docs/th/tools.mdx
  78. 0 21
      packages/web/src/content/docs/tools.mdx
  79. 0 1
      packages/web/src/content/docs/tr/modes.mdx
  80. 0 1
      packages/web/src/content/docs/tr/permissions.mdx
  81. 0 21
      packages/web/src/content/docs/tr/tools.mdx
  82. 0 1
      packages/web/src/content/docs/zh-cn/modes.mdx
  83. 0 1
      packages/web/src/content/docs/zh-cn/permissions.mdx
  84. 0 21
      packages/web/src/content/docs/zh-cn/tools.mdx
  85. 0 1
      packages/web/src/content/docs/zh-tw/modes.mdx
  86. 0 1
      packages/web/src/content/docs/zh-tw/permissions.mdx
  87. 0 21
      packages/web/src/content/docs/zh-tw/tools.mdx

+ 0 - 1
github/index.ts

@@ -496,7 +496,6 @@ async function subscribeSessionEvents() {
 
   const TOOL: Record<string, [string, string]> = {
     todowrite: ["Todo", "\x1b[33m\x1b[1m"],
-    todoread: ["Todo", "\x1b[33m\x1b[1m"],
     bash: ["Bash", "\x1b[31m\x1b[1m"],
     edit: ["Edit", "\x1b[32m\x1b[1m"],
     glob: ["Glob", "\x1b[34m\x1b[1m"],

+ 0 - 2
packages/app/src/i18n/ar.ts

@@ -722,8 +722,6 @@ export const dict = {
   "settings.permissions.tool.skill.description": "تحميل مهارة بالاسم",
   "settings.permissions.tool.lsp.title": "LSP",
   "settings.permissions.tool.lsp.description": "تشغيل استعلامات خادم اللغة",
-  "settings.permissions.tool.todoread.title": "قراءة المهام",
-  "settings.permissions.tool.todoread.description": "قراءة قائمة المهام",
   "settings.permissions.tool.todowrite.title": "كتابة المهام",
   "settings.permissions.tool.todowrite.description": "تحديث قائمة المهام",
   "settings.permissions.tool.webfetch.title": "جلب الويب",

+ 0 - 2
packages/app/src/i18n/br.ts

@@ -732,8 +732,6 @@ export const dict = {
   "settings.permissions.tool.skill.description": "Carregar uma habilidade por nome",
   "settings.permissions.tool.lsp.title": "LSP",
   "settings.permissions.tool.lsp.description": "Executar consultas de servidor de linguagem",
-  "settings.permissions.tool.todoread.title": "Ler Tarefas",
-  "settings.permissions.tool.todoread.description": "Ler a lista de tarefas",
   "settings.permissions.tool.todowrite.title": "Escrever Tarefas",
   "settings.permissions.tool.todowrite.description": "Atualizar a lista de tarefas",
   "settings.permissions.tool.webfetch.title": "Buscar Web",

+ 0 - 2
packages/app/src/i18n/bs.ts

@@ -806,8 +806,6 @@ export const dict = {
   "settings.permissions.tool.skill.description": "Učitaj vještinu po nazivu",
   "settings.permissions.tool.lsp.title": "LSP",
   "settings.permissions.tool.lsp.description": "Pokreni upite jezičnog servera",
-  "settings.permissions.tool.todoread.title": "Čitanje liste zadataka",
-  "settings.permissions.tool.todoread.description": "Čitanje liste zadataka",
   "settings.permissions.tool.todowrite.title": "Ažuriranje liste zadataka",
   "settings.permissions.tool.todowrite.description": "Ažuriraj listu zadataka",
   "settings.permissions.tool.webfetch.title": "Web preuzimanje",

+ 0 - 2
packages/app/src/i18n/da.ts

@@ -800,8 +800,6 @@ export const dict = {
   "settings.permissions.tool.skill.description": "Indlæs en færdighed efter navn",
   "settings.permissions.tool.lsp.title": "LSP",
   "settings.permissions.tool.lsp.description": "Kør sprogserverforespørgsler",
-  "settings.permissions.tool.todoread.title": "Læs To-do",
-  "settings.permissions.tool.todoread.description": "Læs to-do listen",
   "settings.permissions.tool.todowrite.title": "Skriv To-do",
   "settings.permissions.tool.todowrite.description": "Opdater to-do listen",
   "settings.permissions.tool.webfetch.title": "Webhentning",

+ 0 - 2
packages/app/src/i18n/de.ts

@@ -743,8 +743,6 @@ export const dict = {
   "settings.permissions.tool.skill.description": "Eine Fähigkeit nach Namen laden",
   "settings.permissions.tool.lsp.title": "LSP",
   "settings.permissions.tool.lsp.description": "Language-Server-Abfragen ausführen",
-  "settings.permissions.tool.todoread.title": "Todo lesen",
-  "settings.permissions.tool.todoread.description": "Die Todo-Liste lesen",
   "settings.permissions.tool.todowrite.title": "Todo schreiben",
   "settings.permissions.tool.todowrite.description": "Die Todo-Liste aktualisieren",
   "settings.permissions.tool.webfetch.title": "Web-Abruf",

+ 0 - 2
packages/app/src/i18n/en.ts

@@ -902,8 +902,6 @@ export const dict = {
   "settings.permissions.tool.skill.description": "Load a skill by name",
   "settings.permissions.tool.lsp.title": "LSP",
   "settings.permissions.tool.lsp.description": "Run language server queries",
-  "settings.permissions.tool.todoread.title": "Todo Read",
-  "settings.permissions.tool.todoread.description": "Read the todo list",
   "settings.permissions.tool.todowrite.title": "Todo Write",
   "settings.permissions.tool.todowrite.description": "Update the todo list",
   "settings.permissions.tool.webfetch.title": "Web Fetch",

+ 0 - 2
packages/app/src/i18n/es.ts

@@ -813,8 +813,6 @@ export const dict = {
   "settings.permissions.tool.skill.description": "Cargar una habilidad por nombre",
   "settings.permissions.tool.lsp.title": "LSP",
   "settings.permissions.tool.lsp.description": "Ejecutar consultas de servidor de lenguaje",
-  "settings.permissions.tool.todoread.title": "Leer Todo",
-  "settings.permissions.tool.todoread.description": "Leer la lista de tareas",
   "settings.permissions.tool.todowrite.title": "Escribir Todo",
   "settings.permissions.tool.todowrite.description": "Actualizar la lista de tareas",
   "settings.permissions.tool.webfetch.title": "Web Fetch",

+ 0 - 2
packages/app/src/i18n/fr.ts

@@ -741,8 +741,6 @@ export const dict = {
   "settings.permissions.tool.skill.description": "Charger une compétence par son nom",
   "settings.permissions.tool.lsp.title": "LSP",
   "settings.permissions.tool.lsp.description": "Exécuter des requêtes de serveur de langage",
-  "settings.permissions.tool.todoread.title": "Lire Todo",
-  "settings.permissions.tool.todoread.description": "Lire la liste de tâches",
   "settings.permissions.tool.todowrite.title": "Écrire Todo",
   "settings.permissions.tool.todowrite.description": "Mettre à jour la liste de tâches",
   "settings.permissions.tool.webfetch.title": "Récupération Web",

+ 0 - 2
packages/app/src/i18n/ja.ts

@@ -727,8 +727,6 @@ export const dict = {
   "settings.permissions.tool.skill.description": "名前によるスキルの読み込み",
   "settings.permissions.tool.lsp.title": "LSP",
   "settings.permissions.tool.lsp.description": "言語サーバークエリの実行",
-  "settings.permissions.tool.todoread.title": "Todo読み込み",
-  "settings.permissions.tool.todoread.description": "Todoリストの読み込み",
   "settings.permissions.tool.todowrite.title": "Todo書き込み",
   "settings.permissions.tool.todowrite.description": "Todoリストの更新",
   "settings.permissions.tool.webfetch.title": "Web取得",

+ 0 - 2
packages/app/src/i18n/ko.ts

@@ -726,8 +726,6 @@ export const dict = {
   "settings.permissions.tool.skill.description": "이름으로 기술 로드",
   "settings.permissions.tool.lsp.title": "LSP",
   "settings.permissions.tool.lsp.description": "언어 서버 쿼리 실행",
-  "settings.permissions.tool.todoread.title": "할 일 읽기",
-  "settings.permissions.tool.todoread.description": "할 일 목록 읽기",
   "settings.permissions.tool.todowrite.title": "할 일 쓰기",
   "settings.permissions.tool.todowrite.description": "할 일 목록 업데이트",
   "settings.permissions.tool.webfetch.title": "웹 가져오기",

+ 0 - 2
packages/app/src/i18n/no.ts

@@ -807,8 +807,6 @@ export const dict = {
   "settings.permissions.tool.skill.description": "Last en ferdighet etter navn",
   "settings.permissions.tool.lsp.title": "LSP",
   "settings.permissions.tool.lsp.description": "Kjør språkserverforespørsler",
-  "settings.permissions.tool.todoread.title": "Les gjøremål",
-  "settings.permissions.tool.todoread.description": "Les gjøremålslisten",
   "settings.permissions.tool.todowrite.title": "Skriv gjøremål",
   "settings.permissions.tool.todowrite.description": "Oppdater gjøremålslisten",
   "settings.permissions.tool.webfetch.title": "Webhenting",

+ 0 - 2
packages/app/src/i18n/pl.ts

@@ -729,8 +729,6 @@ export const dict = {
   "settings.permissions.tool.skill.description": "Ładowanie umiejętności według nazwy",
   "settings.permissions.tool.lsp.title": "LSP",
   "settings.permissions.tool.lsp.description": "Uruchamianie zapytań serwera językowego",
-  "settings.permissions.tool.todoread.title": "Odczyt Todo",
-  "settings.permissions.tool.todoread.description": "Odczyt listy zadań",
   "settings.permissions.tool.todowrite.title": "Zapis Todo",
   "settings.permissions.tool.todowrite.description": "Aktualizacja listy zadań",
   "settings.permissions.tool.webfetch.title": "Pobieranie z sieci",

+ 0 - 2
packages/app/src/i18n/ru.ts

@@ -808,8 +808,6 @@ export const dict = {
   "settings.permissions.tool.skill.description": "Загрузка навыка по имени",
   "settings.permissions.tool.lsp.title": "LSP",
   "settings.permissions.tool.lsp.description": "Запросы к языковому серверу",
-  "settings.permissions.tool.todoread.title": "Todo Read",
-  "settings.permissions.tool.todoread.description": "Чтение списка задач",
   "settings.permissions.tool.todowrite.title": "Todo Write",
   "settings.permissions.tool.todowrite.description": "Обновление списка задач",
   "settings.permissions.tool.webfetch.title": "Web Fetch",

+ 0 - 2
packages/app/src/i18n/th.ts

@@ -796,8 +796,6 @@ export const dict = {
   "settings.permissions.tool.skill.description": "โหลดทักษะตามชื่อ",
   "settings.permissions.tool.lsp.title": "LSP",
   "settings.permissions.tool.lsp.description": "เรียกใช้การสืบค้นเซิร์ฟเวอร์ภาษา",
-  "settings.permissions.tool.todoread.title": "อ่านรายการงาน",
-  "settings.permissions.tool.todoread.description": "อ่านรายการงาน",
   "settings.permissions.tool.todowrite.title": "เขียนรายการงาน",
   "settings.permissions.tool.todowrite.description": "อัปเดตรายการงาน",
   "settings.permissions.tool.webfetch.title": "ดึงข้อมูลจากเว็บ",

+ 0 - 2
packages/app/src/i18n/tr.ts

@@ -816,8 +816,6 @@ export const dict = {
   "settings.permissions.tool.skill.description": "Ada göre bir beceri yükle",
   "settings.permissions.tool.lsp.title": "LSP",
   "settings.permissions.tool.lsp.description": "Dil sunucusu sorguları çalıştır",
-  "settings.permissions.tool.todoread.title": "Görev Oku",
-  "settings.permissions.tool.todoread.description": "Görev listesini oku",
   "settings.permissions.tool.todowrite.title": "Görev Yaz",
   "settings.permissions.tool.todowrite.description": "Görev listesini güncelle",
   "settings.permissions.tool.webfetch.title": "Web Getir",

+ 0 - 2
packages/app/src/i18n/zh.ts

@@ -795,8 +795,6 @@ export const dict = {
   "settings.permissions.tool.skill.description": "按名称加载技能",
   "settings.permissions.tool.lsp.title": "LSP",
   "settings.permissions.tool.lsp.description": "运行语言服务器查询",
-  "settings.permissions.tool.todoread.title": "读取待办",
-  "settings.permissions.tool.todoread.description": "读取待办列表",
   "settings.permissions.tool.todowrite.title": "更新待办",
   "settings.permissions.tool.todowrite.description": "更新待办列表",
   "settings.permissions.tool.webfetch.title": "网页获取",

+ 0 - 2
packages/app/src/i18n/zht.ts

@@ -790,8 +790,6 @@ export const dict = {
   "settings.permissions.tool.skill.description": "按名稱載入技能",
   "settings.permissions.tool.lsp.title": "LSP",
   "settings.permissions.tool.lsp.description": "執行語言伺服器查詢",
-  "settings.permissions.tool.todoread.title": "讀取待辦",
-  "settings.permissions.tool.todoread.description": "讀取待辦清單",
   "settings.permissions.tool.todowrite.title": "更新待辦",
   "settings.permissions.tool.todowrite.description": "更新待辦清單",
   "settings.permissions.tool.webfetch.title": "Web Fetch",

+ 0 - 1
packages/opencode/src/agent/agent.ts

@@ -148,7 +148,6 @@ export namespace Agent {
               permission: Permission.merge(
                 defaults,
                 Permission.fromConfig({
-                  todoread: "deny",
                   todowrite: "deny",
                 }),
                 user,

+ 1 - 13
packages/opencode/src/cli/cmd/agent.ts

@@ -14,19 +14,7 @@ import type { Argv } from "yargs"
 
 type AgentMode = "all" | "primary" | "subagent"
 
-const AVAILABLE_TOOLS = [
-  "bash",
-  "read",
-  "write",
-  "edit",
-  "list",
-  "glob",
-  "grep",
-  "webfetch",
-  "task",
-  "todowrite",
-  "todoread",
-]
+const AVAILABLE_TOOLS = ["bash", "read", "write", "edit", "list", "glob", "grep", "webfetch", "task", "todowrite"]
 
 const AgentCreateCommand = cmd({
   command: "create",

+ 0 - 1
packages/opencode/src/cli/cmd/github.ts

@@ -869,7 +869,6 @@ export const GithubRunCommand = cmd({
       function subscribeSessionEvents() {
         const TOOL: Record<string, [string, string]> = {
           todowrite: ["Todo", UI.Style.TEXT_WARNING_BOLD],
-          todoread: ["Todo", UI.Style.TEXT_WARNING_BOLD],
           bash: ["Bash", UI.Style.TEXT_DANGER_BOLD],
           edit: ["Edit", UI.Style.TEXT_SUCCESS_BOLD],
           glob: ["Glob", UI.Style.TEXT_INFO_BOLD],

+ 0 - 1
packages/opencode/src/config/config.ts

@@ -673,7 +673,6 @@ export namespace Config {
           task: PermissionRule.optional(),
           external_directory: PermissionRule.optional(),
           todowrite: PermissionAction.optional(),
-          todoread: PermissionAction.optional(),
           question: PermissionAction.optional(),
           webfetch: PermissionAction.optional(),
           websearch: PermissionAction.optional(),

+ 0 - 6
packages/opencode/src/tool/task.ts

@@ -80,11 +80,6 @@ export const TaskTool = Tool.define("task", async (ctx) => {
               pattern: "*",
               action: "deny",
             },
-            {
-              permission: "todoread",
-              pattern: "*",
-              action: "deny",
-            },
             ...(hasTaskPermission
               ? []
               : [
@@ -137,7 +132,6 @@ export const TaskTool = Tool.define("task", async (ctx) => {
         agent: agent.name,
         tools: {
           todowrite: false,
-          todoread: false,
           ...(hasTaskPermission ? {} : { task: false }),
           ...Object.fromEntries((config.experimental?.primary_tools ?? []).map((t) => [t, false])),
         },

+ 1 - 23
packages/opencode/src/tool/todo.ts

@@ -16,7 +16,7 @@ export const TodoWriteTool = Tool.define("todowrite", {
       metadata: {},
     })
 
-    await Todo.update({
+    Todo.update({
       sessionID: ctx.sessionID,
       todos: params.todos,
     })
@@ -29,25 +29,3 @@ export const TodoWriteTool = Tool.define("todowrite", {
     }
   },
 })
-
-export const TodoReadTool = Tool.define("todoread", {
-  description: "Use this tool to read your todo list",
-  parameters: z.object({}),
-  async execute(_params, ctx) {
-    await ctx.ask({
-      permission: "todoread",
-      patterns: ["*"],
-      always: ["*"],
-      metadata: {},
-    })
-
-    const todos = await Todo.get(ctx.sessionID)
-    return {
-      title: `${todos.filter((x) => x.status !== "completed").length} todos`,
-      metadata: {
-        todos,
-      },
-      output: JSON.stringify(todos, null, 2),
-    }
-  },
-})

+ 0 - 14
packages/opencode/src/tool/todoread.txt

@@ -1,14 +0,0 @@
-Use this tool to read the current to-do list for the session. This tool should be used proactively and frequently to ensure that you are aware of
-the status of the current task list. You should make use of this tool as often as possible, especially in the following situations:
-- At the beginning of conversations to see what's pending
-- Before starting new tasks to prioritize work
-- When the user asks about previous tasks or plans
-- Whenever you're uncertain about what to do next
-- After completing tasks to update your understanding of remaining work
-- After every few messages to ensure you're on track
-
-Usage:
-- This tool takes in no parameters. So leave the input blank or empty. DO NOT include a dummy object, placeholder string or a key like "input" or "empty". LEAVE IT BLANK.
-- Returns a list of todo items with their status, priority, and content
-- Use this information to track progress and plan next steps
-- If no todos exist yet, an empty list will be returned

+ 0 - 2
packages/opencode/test/agent/agent.test.ts

@@ -73,7 +73,6 @@ test("explore agent denies edit and write", async () => {
       expect(explore?.mode).toBe("subagent")
       expect(evalPerm(explore, "edit")).toBe("deny")
       expect(evalPerm(explore, "write")).toBe("deny")
-      expect(evalPerm(explore, "todoread")).toBe("deny")
       expect(evalPerm(explore, "todowrite")).toBe("deny")
     },
   })
@@ -102,7 +101,6 @@ test("general agent denies todo tools", async () => {
       expect(general).toBeDefined()
       expect(general?.mode).toBe("subagent")
       expect(general?.hidden).toBeUndefined()
-      expect(evalPerm(general, "todoread")).toBe("deny")
       expect(evalPerm(general, "todowrite")).toBe("deny")
     },
   })

+ 0 - 2
packages/opencode/test/config/config.test.ts

@@ -1400,7 +1400,6 @@ test("permission config preserves key order", async () => {
             external_directory: "ask",
             read: "allow",
             todowrite: "allow",
-            todoread: "allow",
             "thoughts_*": "allow",
             "reasoning_model_*": "allow",
             "tools_*": "allow",
@@ -1421,7 +1420,6 @@ test("permission config preserves key order", async () => {
         "external_directory",
         "read",
         "todowrite",
-        "todoread",
         "thoughts_*",
         "reasoning_model_*",
         "tools_*",

+ 0 - 1
packages/sdk/js/src/v2/gen/types.gen.ts

@@ -1166,7 +1166,6 @@ export type PermissionConfig =
       task?: PermissionRuleConfig
       external_directory?: PermissionRuleConfig
       todowrite?: PermissionActionConfig
-      todoread?: PermissionActionConfig
       question?: PermissionActionConfig
       webfetch?: PermissionActionConfig
       websearch?: PermissionActionConfig

+ 0 - 3
packages/sdk/openapi.json

@@ -10465,9 +10465,6 @@
               "todowrite": {
                 "$ref": "#/components/schemas/PermissionActionConfig"
               },
-              "todoread": {
-                "$ref": "#/components/schemas/PermissionActionConfig"
-              },
               "question": {
                 "$ref": "#/components/schemas/PermissionActionConfig"
               },

+ 2 - 7
packages/ui/src/components/message-part.tsx

@@ -310,11 +310,6 @@ export function getToolInfo(tool: string, input: any = {}): ToolInfo {
         icon: "checklist",
         title: i18n.t("ui.tool.todos"),
       }
-    case "todoread":
-      return {
-        icon: "checklist",
-        title: i18n.t("ui.tool.todos.read"),
-      }
     case "question":
       return {
         icon: "bubble-5",
@@ -357,7 +352,7 @@ function sessionLink(id: string | undefined, path: string, href?: (id: string) =
 }
 
 const CONTEXT_GROUP_TOOLS = new Set(["read", "glob", "grep", "list"])
-const HIDDEN_TOOLS = new Set(["todowrite", "todoread"])
+const HIDDEN_TOOLS = new Set(["todowrite"])
 
 function list<T>(value: T[] | undefined | null, fallback: T[]) {
   if (Array.isArray(value)) return value
@@ -1210,7 +1205,7 @@ PART_MAPPING["tool"] = function ToolPartDisplay(props) {
   const data = useData()
   const i18n = useI18n()
   const part = () => props.part as ToolPart
-  if (part().tool === "todowrite" || part().tool === "todoread") return null
+  if (part().tool === "todowrite") return null
 
   const hideQuestion = createMemo(
     () => part().tool === "question" && (part().state.status === "pending" || part().state.status === "running"),

+ 1 - 1
packages/ui/src/components/session-turn.tsx

@@ -85,7 +85,7 @@ function list<T>(value: T[] | undefined | null, fallback: T[]) {
   return fallback
 }
 
-const hidden = new Set(["todowrite", "todoread"])
+const hidden = new Set(["todowrite"])
 
 function partState(part: PartType, showReasoningSummaries: boolean) {
   if (part.type === "tool") {

+ 0 - 1
packages/web/src/components/Share.tsx

@@ -355,7 +355,6 @@ export default function Share(props: {
                           if (x.type === "patch") return false
                           if (x.type === "step-finish") return false
                           if (x.type === "text" && x.synthetic === true) return false
-                          if (x.type === "tool" && x.tool === "todoread") return false
                           if (x.type === "text" && !x.text) return false
                           if (x.type === "tool" && (x.state.status === "pending" || x.state.status === "running"))
                             return false

+ 0 - 3
packages/web/src/components/share/part.tsx

@@ -90,9 +90,6 @@ export function Part(props: PartProps) {
               <Match when={props.part.type === "tool" && props.part.tool === "todowrite"}>
                 <IconQueueList width={18} height={18} />
               </Match>
-              <Match when={props.part.type === "tool" && props.part.tool === "todoread"}>
-                <IconQueueList width={18} height={18} />
-              </Match>
               <Match when={props.part.type === "tool" && props.part.tool === "bash"}>
                 <IconCommandLine width={18} height={18} />
               </Match>

+ 0 - 1
packages/web/src/content/docs/ar/modes.mdx

@@ -236,7 +236,6 @@ Provide constructive feedback without making direct changes.
 | `list`      | سرد محتويات الدليل         |
 | `patch`     | تطبيق تصحيحات على الملفات  |
 | `todowrite` | إدارة قوائم المهام         |
-| `todoread`  | قراءة قوائم المهام         |
 | `webfetch`  | جلب محتوى الويب            |
 
 ---

+ 0 - 1
packages/web/src/content/docs/ar/permissions.mdx

@@ -138,7 +138,6 @@ description: تحكّم في الإجراءات التي تتطلب موافقة
 - `task` — تشغيل وكلاء فرعيين (يطابق نوع الوكيل الفرعي)
 - `skill` — تحميل مهارة (يطابق اسم المهارة)
 - `lsp` — تشغيل استعلامات LSP (حاليًا دون قواعد دقيقة)
-- `todoread`, `todowrite` — قراءة/تحديث قائمة المهام
 - `webfetch` — جلب عنوان URL (يطابق الـ URL)
 - `websearch`, `codesearch` — بحث الويب/الكود (يطابق الاستعلام)
 - `external_directory` — يُفعَّل عندما تلمس أداة مسارات خارج دليل عمل المشروع

+ 0 - 21
packages/web/src/content/docs/ar/tools.mdx

@@ -248,27 +248,6 @@ description: إدارة الأدوات التي يمكن لـ LLM استخدام
 
 ---
 
-### todoread
-
-اقرأ قوائم المهام الموجودة.
-
-```json title="opencode.json" {4}
-{
-  "$schema": "https://opencode.ai/config.json",
-  "permission": {
-    "todoread": "allow"
-  }
-}
-```
-
-تقرأ هذه الأداة الحالة الحالية لقائمة المهام. يستخدمها LLM لتتبع المهام المعلقة أو المكتملة.
-
-:::note
-هذه الأداة معطلة للوكلاء الفرعيين افتراضيا، لكن يمكنك تفعيلها يدويا. [اعرف المزيد](/docs/agents/#permissions)
-:::
-
----
-
 ### webfetch
 
 اجلب محتوى الويب.

+ 0 - 1
packages/web/src/content/docs/bs/modes.mdx

@@ -222,7 +222,6 @@ Ovdje su svi alati koji se mogu kontrolirati kroz konfiguraciju načina rada.
 | `list` | Lista sadržaja direktorija |
 | `patch` | Primijenite zakrpe na datoteke |
 | `todowrite` | Upravljanje listama zadataka |
-| `todoread` | Pročitajte liste obaveza |
 | `webfetch` | Dohvati web sadržaj |
 
 ---

+ 0 - 1
packages/web/src/content/docs/bs/permissions.mdx

@@ -133,7 +133,6 @@ Dozvole OpenCode su označene imenom alata, plus nekoliko sigurnosnih mjera:
 - `task` — pokretanje subagenta (odgovara tipu podagenta)
 - `skill` — učitavanje vještine (odgovara nazivu vještine)
 - `lsp` — pokretanje LSP upita (trenutno negranularno)
-- `todoread`, `todowrite` — čitanje/ažuriranje liste obaveza
 - `webfetch` — dohvaćanje URL-a (odgovara URL-u)
 - `websearch`, `codesearch` — pretraživanje weba/koda (odgovara upitu)
 - `external_directory` — pokreće se kada alat dodirne staze izvan radnog direktorija projekta

+ 0 - 21
packages/web/src/content/docs/bs/tools.mdx

@@ -248,27 +248,6 @@ Ovaj alat je po defaultu iskljucen za subagente, ali ga mozete rucno ukljuciti.
 
 ---
 
-### todoread
-
-Cita postojece todo liste.
-
-```json title="opencode.json" {4}
-{
-  "$schema": "https://opencode.ai/config.json",
-  "permission": {
-    "todoread": "allow"
-  }
-}
-```
-
-Cita trenutno stanje todo liste. LLM ga koristi da prati sta je na cekanju i sta je zavrseno.
-
-:::note
-Ovaj alat je po defaultu iskljucen za subagente, ali ga mozete rucno ukljuciti. [Saznajte vise](/docs/agents/#permissions)
-:::
-
----
-
 ### webfetch
 
 Preuzima web sadrzaj.

+ 0 - 1
packages/web/src/content/docs/da/modes.mdx

@@ -236,7 +236,6 @@ Her er alle de værktøjer, der kan styres gennem tilstandskonfigurationen.
 | `list`      | Liste biblioteksindhold    |
 | `patch`     | Anvend patches til filer   |
 | `todowrite` | Administrer todo-lister    |
-| `todoread`  | Læs todo-lister            |
 | `webfetch`  | Hent webindhold            |
 
 ---

+ 0 - 1
packages/web/src/content/docs/da/permissions.mdx

@@ -138,7 +138,6 @@ OpenCode tilladelser indtastes efter værktøjsnavn plus et par sikkerhedsafskæ
 - `task` — lancering af underagenter (matcher underagenttypen)
 - `skill` — indlæsning af en færdighed (matcher færdighedsnavnet)
 - `lsp` — kører LSP forespørgsler (i øjeblikket ikke-granulære)
-- `todoread`, `todowrite` — reading/updating todo-listen
 - `webfetch` — henter en URL (matcher URL)
 - `websearch`, `codesearch` — web/code søgning (matcher forespørgslen)
 - `external_directory` — udløses, når et værktøj berører stier uden for projektets arbejdsmappe

+ 0 - 21
packages/web/src/content/docs/da/tools.mdx

@@ -248,27 +248,6 @@ Dette verktøyet er deaktivert for subagenter som standard, men du kan aktivere
 
 ---
 
-### todoread
-
-Les eksisterende to-doslister.
-
-```json title="opencode.json" {4}
-{
-  "$schema": "https://opencode.ai/config.json",
-  "permission": {
-    "todoread": "allow"
-  }
-}
-```
-
-Leser nuværende to-doslistestatus. Bruges av LLM for at spore hvilke oppgaver som venter eller er fullført.
-
-:::note
-Dette verktøyet er deaktivert for subagenter som standard, men du kan aktivere det manuelt. [Finn ut mer](/docs/agents/#permissions)
-:::
-
----
-
 ### webfetch
 
 Hent nettinnhold.

+ 0 - 1
packages/web/src/content/docs/de/modes.mdx

@@ -236,7 +236,6 @@ Hier sind alle Tools aufgeführt, die über den Konfigurationsmodus gesteuert we
 | `list`      | Verzeichnisinhalte auflisten |
 | `patch`     | Patches auf Dateien anwenden |
 | `todowrite` | Aufgabenlisten verwalten     |
-| `todoread`  | Aufgabenlisten lesen         |
 | `webfetch`  | Webinhalte abrufen           |
 
 ---

+ 0 - 1
packages/web/src/content/docs/de/permissions.mdx

@@ -138,7 +138,6 @@ OpenCode-Berechtigungen basieren auf Tool-Namen sowie einigen Sicherheitsvorkehr
 - `task` – Subagenten starten (entspricht dem Subagententyp)
 - `skill` – Laden einer Fertigkeit (entspricht dem Fertigkeitsnamen)
 - `lsp` – Ausführen von LSP-Abfragen (derzeit nicht granular)
-- `todoread`, `todowrite` – lesen/aktualisieren der Aufgabenliste
 - `webfetch` – Abrufen eines URL (entspricht dem URL)
 - `websearch`, `codesearch` – web/code Suche (entspricht der Abfrage)
 - `external_directory` – wird ausgelöst, wenn ein Tool Pfade außerhalb des Projektarbeitsverzeichnisses berührt

+ 0 - 21
packages/web/src/content/docs/de/tools.mdx

@@ -255,27 +255,6 @@ Dieses Tool ist fuer Sub-Agenten standardmaessig deaktiviert, kann aber manuell
 
 ---
 
-### todoread
-
-Liest existierende Todo-Listen.
-
-```json title="opencode.json" {4}
-{
-  "$schema": "https://opencode.ai/config.json",
-  "permission": {
-    "todoread": "allow"
-  }
-}
-```
-
-Liest den aktuellen Status der Todo-Liste. Wird vom LLM genutzt, um offene oder erledigte Aufgaben zu verfolgen.
-
-:::note
-Dieses Tool ist fuer Sub-Agenten standardmaessig deaktiviert, kann aber manuell aktiviert werden. [Mehr dazu](/docs/agents/#permissions)
-:::
-
----
-
 ### webfetch
 
 Ruft Webinhalte ab.

+ 0 - 1
packages/web/src/content/docs/es/modes.mdx

@@ -236,7 +236,6 @@ Aquí están todas las herramientas que se pueden controlar a través del modo d
 | `list`      | Listar el contenido del directorio      |
 | `patch`     | Aplicar parches a archivos              |
 | `todowrite` | Administrar listas de tareas pendientes |
-| `todoread`  | Leer listas de tareas pendientes        |
 | `webfetch`  | Obtener contenido web                   |
 
 ---

+ 0 - 1
packages/web/src/content/docs/es/permissions.mdx

@@ -138,7 +138,6 @@ Los permisos OpenCode están codificados por el nombre de la herramienta, ademá
 - `task` — lanzamiento de subagentes (coincide con el tipo de subagente)
 - `skill` — cargar una habilidad (coincide con el nombre de la habilidad)
 - `lsp`: ejecución de consultas LSP (actualmente no granulares)
-- `todoread`, `todowrite` — leer/actualizar la lista de tareas pendientes
 - `webfetch` — obteniendo una URL (coincide con la URL)
 - `websearch`, `codesearch` — búsqueda web/código (coincide con la consulta)
 - `external_directory`: se activa cuando una herramienta toca rutas fuera del directorio de trabajo del proyecto.

+ 0 - 21
packages/web/src/content/docs/es/tools.mdx

@@ -248,27 +248,6 @@ Esta herramienta está deshabilitada para los subagentes de forma predeterminada
 
 ---
 
-### todoread
-
-Leer listas de tareas pendientes existentes.
-
-```json title="opencode.json" {4}
-{
-  "$schema": "https://opencode.ai/config.json",
-  "permission": {
-    "todoread": "allow"
-  }
-}
-```
-
-Lee el estado actual de la lista de tareas pendientes. Utilizado por LLM para rastrear qué tareas están pendientes o completadas.
-
-:::note
-Esta herramienta está deshabilitada para los subagentes de forma predeterminada, pero puede habilitarla manualmente. [Más información](/docs/agents/#permissions)
-:::
-
----
-
 ### webfetch
 
 Obtener contenido web.

+ 0 - 1
packages/web/src/content/docs/fr/modes.mdx

@@ -234,7 +234,6 @@ Voici tous les outils pouvant être contrôlés via le mode config.
 | `list`      | Liste du contenu du répertoire        |
 | `patch`     | Appliquer des correctifs aux fichiers |
 | `todowrite` | Gérer les listes de tâches            |
-| `todoread`  | Lire les listes de tâches             |
 | `webfetch`  | Récupérer du contenu Web              |
 
 ---

+ 0 - 1
packages/web/src/content/docs/fr/permissions.mdx

@@ -138,7 +138,6 @@ Les autorisations OpenCode sont classées par nom d'outil, plus quelques garde-f
 - `task` — lancement de sous-agents (correspond au type de sous-agent)
 - `skill` — chargement d'une compétence (correspond au nom de la compétence)
 - `lsp` — exécution de requêtes LSP (actuellement non granulaires)
-- `todoread`, `todowrite` — lecture/mise à jour de la liste de tâches
 - `webfetch` — récupérer une URL (correspond à l'URL)
 - `websearch`, `codesearch` — recherche Web/code (correspond à la requête)
 - `external_directory` - déclenché lorsqu'un outil touche des chemins en dehors du répertoire de travail du projet

+ 0 - 21
packages/web/src/content/docs/fr/tools.mdx

@@ -248,27 +248,6 @@ Cet outil est désactivé par défaut pour les sous-agents, mais vous pouvez l'a
 
 ---
 
-### todore
-
-Lisez les listes de tâches existantes.
-
-```json title="opencode.json" {4}
-{
-  "$schema": "https://opencode.ai/config.json",
-  "permission": {
-    "todoread": "allow"
-  }
-}
-```
-
-Lit l'état actuel de la liste de tâches. Utilisé par le LLM pour suivre les tâches en attente ou terminées.
-
-:::note
-Cet outil est désactivé par défaut pour les sous-agents, mais vous pouvez l'activer manuellement. [En savoir plus](/docs/agents/#permissions)
-:::
-
----
-
 ### récupération sur le Web
 
 Récupérer du contenu Web.

+ 0 - 1
packages/web/src/content/docs/it/modes.mdx

@@ -235,7 +235,6 @@ Ecco tutti gli strumenti che possono essere controllati tramite la configurazion
 | `list`      | Elenca contenuti di una directory |
 | `patch`     | Applica patch ai file             |
 | `todowrite` | Gestisce liste todo               |
-| `todoread`  | Legge liste todo                  |
 | `webfetch`  | Recupera contenuti web            |
 
 ---

+ 0 - 1
packages/web/src/content/docs/it/permissions.mdx

@@ -138,7 +138,6 @@ I permessi di OpenCode sono indicizzati per nome dello strumento, piu' un paio d
 - `task` — avvio subagenti (corrisponde al tipo di subagente)
 - `skill` — caricamento di una skill (corrisponde al nome della skill)
 - `lsp` — esecuzione query LSP (attualmente non granulare)
-- `todoread`, `todowrite` — lettura/aggiornamento della todo list
 - `webfetch` — fetch di un URL (corrisponde all'URL)
 - `websearch`, `codesearch` — ricerca web/codice (corrisponde alla query)
 - `external_directory` — si attiva quando uno strumento tocca percorsi fuori dalla working directory del progetto

+ 0 - 21
packages/web/src/content/docs/it/tools.mdx

@@ -248,27 +248,6 @@ Questo strumento e' disabilitato per i subagenti di default, ma puoi abilitarlo
 
 ---
 
-### todoread
-
-Leggi le todo list esistenti.
-
-```json title="opencode.json" {4}
-{
-  "$schema": "https://opencode.ai/config.json",
-  "permission": {
-    "todoread": "allow"
-  }
-}
-```
-
-Legge lo stato corrente della todo list. Usato dall'LLM per tenere traccia di quali task sono in sospeso o completati.
-
-:::note
-Questo strumento e' disabilitato per i subagenti di default, ma puoi abilitarlo manualmente. [Scopri di piu'](/docs/agents/#permissions)
-:::
-
----
-
 ### webfetch
 
 Recupera contenuti dal web.

+ 0 - 1
packages/web/src/content/docs/ja/modes.mdx

@@ -234,7 +234,6 @@ Markdown ファイル名はモード名になります (例: `review.md` は `re
 | `list`      | ディレクトリの内容をリストする |
 | `patch`     | ファイルにパッチを適用する     |
 | `todowrite` | ToDo リストを管理する          |
-| `todoread`  | ToDo リストを読む              |
 | `webfetch`  | Web コンテンツを取得する       |
 
 ---

+ 0 - 1
packages/web/src/content/docs/ja/permissions.mdx

@@ -138,7 +138,6 @@ OpenCode の権限は、ツール名に加えて、いくつかの安全対策
 - `task` — サブエージェントの起動 (サブエージェントのタイプと一致)
 - `skill` — スキルをロードしています(スキル名と一致します)
 - `lsp` — LSP クエリの実行 (現在は非細分性)
-- `todoread`、`todowrite` — ToDo リストの読み取り/更新
 - `webfetch` — URL を取得します (URL と一致します)
 - `websearch`、`codesearch` — Web/コード検索 (クエリと一致)
 - `external_directory` — ツールがプロジェクトの作業ディレクトリ外のパスにアクセスするとトリガーされます。

+ 0 - 21
packages/web/src/content/docs/ja/tools.mdx

@@ -248,27 +248,6 @@ OpenCode で利用可能なすべての組み込みツールを次に示しま
 
 ---
 
-### todoread
-
-既存の ToDo リストを読み取ります。
-
-```json title="opencode.json" {4}
-{
-  "$schema": "https://opencode.ai/config.json",
-  "permission": {
-    "todoread": "allow"
-  }
-}
-```
-
-現在の Todo リストの状態を読み取ります。どのタスクが保留中または完了しているかを追跡するために LLM によって使用されます。
-
-:::note
-このツールはデフォルトではサブエージェントに対して無効になっていますが、手動で有効にすることができます。 [詳細はこちら](/docs/agents/#permissions)
-:::
-
----
-
 ### webfetch
 
 Web コンテンツを取得します。

+ 0 - 1
packages/web/src/content/docs/ko/modes.mdx

@@ -235,7 +235,6 @@ Markdown 파일 이름은 모드 이름 (예 : `review.md`는 `review` 모드를
 | `list`      | 디렉토리 내용 보기    |
 | `patch`     | 파일에 패치 적용      |
 | `todowrite` | 할 일(Todo) 목록 관리 |
-| `todoread`  | 할 일(Todo) 목록 읽기 |
 | `webfetch`  | 웹사이트 가져오기     |
 
 ---

+ 0 - 1
packages/web/src/content/docs/ko/permissions.mdx

@@ -138,7 +138,6 @@ opencode 권한은 도구 이름에 의해 키 입력되며, 두 개의 안전 
 - `task` - 에이전트 실행 (작업 에이전트 유형)
 - `skill` - 기술을 로딩 (기술 이름을 매칭)
 - `lsp` - LSP 쿼리 실행 (현재 비 과립)
-- `todoread`, `todowrite` - 토도 목록의 읽기 / 업데이트
 - `webfetch` - URL을 fetching ( URL을 매칭)
 - `websearch`, `codesearch` - 웹 / 코드 검색 (문자 쿼리)
 - `external_directory` - 프로젝트 작업 디렉토리 외부의 도구 접촉 경로 때 트리거

+ 0 - 21
packages/web/src/content/docs/ko/tools.mdx

@@ -248,27 +248,6 @@ LSP 서버가 프로젝트에 사용할 수 있는 구성하려면 [LSP Servers]
 
 ---
 
-#### todoread
-
-기존의 todo 목록 읽기.
-
-```json title="opencode.json" {4}
-{
-  "$schema": "https://opencode.ai/config.json",
-  "permission": {
-    "todoread": "allow"
-  }
-}
-```
-
-현재 todo 목록 상태를 읽습니다. 작업이 종료되거나 완료되는 것을 추적하기 위해 LLM에 의해 사용됩니다.
-
-:::note
-이 도구는 기본으로 시약을 비활성화하지만 수동으로 활성화 할 수 있습니다. [더 알아보기](/docs/agents/#permissions)
-:::
-
----
-
 #### webfetch
 
 Fetch 웹 콘텐츠.

+ 0 - 1
packages/web/src/content/docs/modes.mdx

@@ -236,7 +236,6 @@ Here are all the tools can be controlled through the mode config.
 | `list`      | List directory contents |
 | `patch`     | Apply patches to files  |
 | `todowrite` | Manage todo lists       |
-| `todoread`  | Read todo lists         |
 | `webfetch`  | Fetch web content       |
 
 ---

+ 0 - 1
packages/web/src/content/docs/nb/modes.mdx

@@ -235,7 +235,6 @@ Her er alle verktøyene som kan kontrolleres gjennom moduskonfigurasjonen.
 | `list`      | List opp kataloginnhold     |
 | `patch`     | Bruk patcher på filer       |
 | `todowrite` | Administrer gjøremålslister |
-| `todoread`  | Les gjøremålslister         |
 | `webfetch`  | Hent webinnhold             |
 
 ---

+ 0 - 1
packages/web/src/content/docs/nb/permissions.mdx

@@ -138,7 +138,6 @@ OpenCode-tillatelser tastes inn etter verktøynavn, pluss et par sikkerhetsvakte
 - `task` — start av subagenter (tilsvarer subagenttypen)
 - `skill` — laster en ferdighet (tilsvarer navnet på ferdigheten)
 - `lsp` — kjører LSP-spørringer (for øyeblikket ikke-granulære)
-- `todoread`, `todowrite` — lesing/oppdatering av gjøremålslisten
 - `webfetch` — henter en URL (tilsvarer URL)
 - `websearch`, `codesearch` - nett-/kodesøk (samsvarer med søket)
 - `external_directory` - utløses når et verktøy berører stier utenfor prosjektets arbeidskatalog

+ 0 - 21
packages/web/src/content/docs/nb/tools.mdx

@@ -248,27 +248,6 @@ Dette verktøyet er deaktivert for subagenter som standard, men du kan aktivere
 
 ---
 
-### todoread
-
-Les eksisterende gjøremålslister.
-
-```json title="opencode.json" {4}
-{
-  "$schema": "https://opencode.ai/config.json",
-  "permission": {
-    "todoread": "allow"
-  }
-}
-```
-
-Leser gjeldende gjøremålslistestatus. Brukes av LLM for å spore hvilke oppgaver som venter eller er fullført.
-
-:::note
-Dette verktøyet er deaktivert for subagenter som standard, men du kan aktivere det manuelt. [Finn ut mer](/docs/agents/#permissions)
-:::
-
----
-
 ### webfetch
 
 Hent nettinnhold.

+ 0 - 1
packages/web/src/content/docs/permissions.mdx

@@ -138,7 +138,6 @@ OpenCode permissions are keyed by tool name, plus a couple of safety guards:
 - `task` — launching subagents (matches the subagent type)
 - `skill` — loading a skill (matches the skill name)
 - `lsp` — running LSP queries (currently non-granular)
-- `todoread`, `todowrite` — reading/updating the todo list
 - `webfetch` — fetching a URL (matches the URL)
 - `websearch`, `codesearch` — web/code search (matches the query)
 - `external_directory` — triggered when a tool touches paths outside the project working directory

+ 0 - 1
packages/web/src/content/docs/pl/modes.mdx

@@ -236,7 +236,6 @@ Oto wszystkie narzędzia, które można sterować za pomocą konfiguracji trybó
 | `list`      | Lista zawartości katalogu             |
 | `patch`     | Zastosuj poprawki do plików           |
 | `todowrite` | Zarządzaj listami rzeczy do wykonania |
-| `todoread`  | Przeczytaj listy rzeczy do zrobienia  |
 | `webfetch`  | Pobierz zawartość internetową         |
 
 ---

+ 0 - 1
packages/web/src/content/docs/pl/permissions.mdx

@@ -138,7 +138,6 @@ Uprawnienia opencode są określane na podstawie nazwy narzędzia i kilku zabezp
 - `task` — uruchamianie podagentów (odpowiada typowi podagenta)
 - `skill` — ładowanie umiejętności (pasuje do nazwy umiejętności)
 - `lsp` — uruchamianie zapytań LSP (obecnie nieszczegółowych)
-- `todoread`, `todowrite` — czytanie/aktualizacja list rzeczy do wykonania
 - `webfetch` — pobieranie adresu URL (pasuje do adresu URL)
 - `websearch`, `codesearch` — wyszukiwanie sieci/kodu (pasuje do zapytań)
 - `external_directory` — wywoływacz, gdy narzędzie jest dostępne poza katalogiem roboczym projektu

+ 0 - 21
packages/web/src/content/docs/pl/tools.mdx

@@ -248,27 +248,6 @@ To narzędzie jest domyślnie wyłączone dla subagentów, ale można je włącz
 
 ---
 
-### todoread
-
-Odczytuj istniejące listy zadań (todo).
-
-```json title="opencode.json" {4}
-{
-  "$schema": "https://opencode.ai/config.json",
-  "permission": {
-    "todoread": "allow"
-  }
-}
-```
-
-Odczytuje bieżący stan listy rzeczy do zrobienia. Używany przez LLM do śledzenia zadań oczekujących lub ukończonych.
-
-:::note
-To narzędzie jest domyślnie wyłączone dla subagentów, ale można je włączyć ręcznie. [Dowiedz się więcej](/docs/agents/#permissions)
-:::
-
----
-
 ### webfetch
 
 Pobieraj treści z sieci.

+ 0 - 1
packages/web/src/content/docs/pt-br/modes.mdx

@@ -233,7 +233,6 @@ Aqui estão todas as ferramentas que podem ser controladas através da configura
 | `list`      | Listar conteúdos de diretório   |
 | `patch`     | Aplicar patches a arquivos      |
 | `todowrite` | Gerenciar listas de tarefas     |
-| `todoread`  | Ler listas de tarefas           |
 | `webfetch`  | Buscar conteúdo da web          |
 
 ---

+ 0 - 1
packages/web/src/content/docs/pt-br/permissions.mdx

@@ -138,7 +138,6 @@ As permissões do opencode são indexadas pelo nome da ferramenta, além de algu
 - `task` — lançamento de subagentes (corresponde ao tipo de subagente)
 - `skill` — carregamento de uma habilidade (corresponde ao nome da habilidade)
 - `lsp` — execução de consultas LSP (atualmente não granular)
-- `todoread`, `todowrite` — leitura/atualização da lista de tarefas
 - `webfetch` — busca de uma URL (corresponde à URL)
 - `websearch`, `codesearch` — busca na web/código (corresponde à consulta)
 - `external_directory` — acionado quando uma ferramenta toca em caminhos fora do diretório de trabalho do projeto

+ 0 - 21
packages/web/src/content/docs/pt-br/tools.mdx

@@ -248,27 +248,6 @@ Esta ferramenta está desativada para subagentes por padrão, mas você pode ati
 
 ---
 
-### todoread
-
-Leia listas de tarefas existentes.
-
-```json title="opencode.json" {4}
-{
-  "$schema": "https://opencode.ai/config.json",
-  "permission": {
-    "todoread": "allow"
-  }
-}
-```
-
-Lê o estado atual da lista de tarefas. Usado pelo LLM para acompanhar quais tarefas estão pendentes ou concluídas.
-
-:::note
-Esta ferramenta está desativada para subagentes por padrão, mas você pode ativá-la manualmente. [Saiba mais](/docs/agents/#permissions)
-:::
-
----
-
 ### webfetch
 
 Busque conteúdo da web.

+ 0 - 1
packages/web/src/content/docs/ru/modes.mdx

@@ -236,7 +236,6 @@ Provide constructive feedback without making direct changes.
 | `list`      | List directory contents |
 | `patch`     | Apply patches to files  |
 | `todowrite` | Manage todo lists       |
-| `todoread`  | Read todo lists         |
 | `webfetch`  | Fetch web content       |
 
 ---

+ 0 - 1
packages/web/src/content/docs/ru/permissions.mdx

@@ -138,7 +138,6 @@ opencode использует конфигурацию `permission`, чтобы
 - `task` — запуск субагентов (соответствует типу субагента)
 - `skill` — загрузка навыка (соответствует названию навыка)
 - `lsp` — выполнение запросов LSP (в настоящее время не детализированных)
-- `todoread`, `todowrite` — чтение/обновление списка дел.
 - `webfetch` — получение URL-адреса (соответствует URL-адресу)
 - `websearch`, `codesearch` — поиск в сети/коде (соответствует запросу)
 - `external_directory` — срабатывает, когда инструмент касается путей за пределами рабочего каталога проекта.

+ 0 - 21
packages/web/src/content/docs/ru/tools.mdx

@@ -248,27 +248,6 @@ description: Управляйте инструментами, которые м
 
 ---
 
-### todoread
-
-Прочтите существующие списки дел.
-
-```json title="opencode.json" {4}
-{
-  "$schema": "https://opencode.ai/config.json",
-  "permission": {
-    "todoread": "allow"
-  }
-}
-```
-
-Считывает текущее состояние списка дел. Используется LLM для отслеживания задач, ожидающих или завершенных.
-
-:::note
-По умолчанию этот инструмент отключен для субагентов, но вы можете включить его вручную. [Подробнее](/docs/agents/#permissions)
-:::
-
----
-
 ### webfetch
 
 Получить веб-контент.

+ 0 - 1
packages/web/src/content/docs/th/modes.mdx

@@ -236,7 +236,6 @@ Provide constructive feedback without making direct changes.
 | `list`      | แสดงรายการเนื้อหาไดเร็กทอรี |
 | `patch`     | ใช้แพทช์กับไฟล์             |
 | `todowrite` | จัดการรายการสิ่งที่ต้องทำ   |
-| `todoread`  | อ่านรายการสิ่งที่ต้องทำ     |
 | `webfetch`  | ดึงเนื้อหาเว็บ              |
 
 ---

+ 0 - 1
packages/web/src/content/docs/th/permissions.mdx

@@ -138,7 +138,6 @@ OpenCode ใช้การกำหนดค่า `permission` เพื่อ
 - `task` — การเปิดตัวตัวแทนย่อย (ตรงกับประเภทตัวแทนย่อย)
 - `skill` — กำลังโหลดทักษะ (ตรงกับชื่อทักษะ)
 - `lsp` — กำลังเรียกใช้คำสั่ง LSP (ปัจจุบันยังไม่ละเอียด)
-- `todoread`, `todowrite` — กำลังอ่าน/updating รายการสิ่งที่ต้องทำ
 - `webfetch` — กำลังดึง URL (ตรงกับ URL)
 - `websearch`, `codesearch` — การค้นหาเว็บ/code (ตรงกับข้อความค้นหา)
 - `external_directory` — ทริกเกอร์เมื่อเครื่องมือแตะเส้นทางนอกไดเร็กทอรีการทำงานของโปรเจ็กต์

+ 0 - 21
packages/web/src/content/docs/th/tools.mdx

@@ -248,27 +248,6 @@ description: จัดการเครื่องมือที่ LLM ส
 
 ---
 
-### todoread
-
-อ่านรายการสิ่งที่ต้องทำที่มีอยู่
-
-```json title="opencode.json" {4}
-{
-  "$schema": "https://opencode.ai/config.json",
-  "permission": {
-    "todoread": "allow"
-  }
-}
-```
-
-อ่านสถานะรายการสิ่งที่ต้องทำปัจจุบัน ใช้โดย LLM เพื่อติดตามงานที่กำลังรอดำเนินการหรือเสร็จสิ้น
-
-:::note
-เครื่องมือนี้ปิดใช้งานสำหรับตัวแทนย่อยตามค่าเริ่มต้น แต่คุณสามารถเปิดใช้งานได้ด้วยตนเอง [เรียนรู้เพิ่มเติม](/docs/agents/#สิทธิ์)
-:::
-
----
-
 ### webfetch
 
 ดึงเนื้อหาเว็บ

+ 0 - 21
packages/web/src/content/docs/tools.mdx

@@ -248,27 +248,6 @@ This tool is disabled for subagents by default, but you can enable it manually.
 
 ---
 
-### todoread
-
-Read existing todo lists.
-
-```json title="opencode.json" {4}
-{
-  "$schema": "https://opencode.ai/config.json",
-  "permission": {
-    "todoread": "allow"
-  }
-}
-```
-
-Reads the current todo list state. Used by the LLM to track what tasks are pending or completed.
-
-:::note
-This tool is disabled for subagents by default, but you can enable it manually. [Learn more](/docs/agents/#permissions)
-:::
-
----
-
 ### webfetch
 
 Fetch web content.

+ 0 - 1
packages/web/src/content/docs/tr/modes.mdx

@@ -236,7 +236,6 @@ Hiçbir araç belirtilmezse tüm araçlar varsayılan olarak etkindir.
 | `list`      | Dizinin içeriğini listele      |
 | `patch`     | Dosyalara yama uygula          |
 | `todowrite` | Yapılacaklar listelerini yönet |
-| `todoread`  | Yapılacaklar listelerini oku   |
 | `webfetch`  | Web içeriğini getir            |
 
 ---

+ 0 - 1
packages/web/src/content/docs/tr/permissions.mdx

@@ -138,7 +138,6 @@ opencode izinleri araç adına ve birkaç güvenlik önlemine göre anahtarlanı
 - `task` — alt agent'ların başlatılması (alt agent türüyle eşleşir)
 - `skill` — bir skill yükleniyor (skill adıyla eşleşir)
 - `lsp` — LSP sorgularını çalıştırıyor (şu anda ayrıntılı değil)
-- `todoread`, `todowrite` — yapılacaklar listesini okuma/güncelleme
 - `webfetch` — URL getiriliyor (URL ile eşleşiyor)
 - `websearch`, `codesearch` — web/kod arama (sorguyla eşleşir)
 - `external_directory` — bir araç proje çalışma dizini dışındaki yollara dokunduğunda tetiklenir

+ 0 - 21
packages/web/src/content/docs/tr/tools.mdx

@@ -248,27 +248,6 @@ Bu araç alt agent'lar için varsayılan olarak devre dışıdır, ama manuel et
 
 ---
 
-### todoread
-
-Mevcut yapılacaklar listesini okur.
-
-```json title="opencode.json" {4}
-{
-  "$schema": "https://opencode.ai/config.json",
-  "permission": {
-    "todoread": "allow"
-  }
-}
-```
-
-Güncel todo listesi durumunu okur. LLM bunu hangi görevlerin beklediğini veya tamamlandığını takip etmek için kullanır.
-
-:::note
-Bu araç alt agent'lar için varsayılan olarak devre dışıdır, ama manuel etkinleştirebilirsiniz. [Daha fazla bilgi](/docs/agents/#permissions)
-:::
-
----
-
 ### webfetch
 
 Web içeriği getirir.

+ 0 - 1
packages/web/src/content/docs/zh-cn/modes.mdx

@@ -233,7 +233,6 @@ Markdown 文件名即为模式名称(例如,`review.md` 创建一个名为 `
 | `list`      | 列出目录内容     |
 | `patch`     | 对文件应用补丁   |
 | `todowrite` | 管理待办事项列表 |
-| `todoread`  | 读取待办事项列表 |
 | `webfetch`  | 获取网页内容     |
 
 ---

+ 0 - 1
packages/web/src/content/docs/zh-cn/permissions.mdx

@@ -138,7 +138,6 @@ OpenCode 的权限以工具名称为键,外加几个安全防护项:
 - `task` — 启动子代理(匹配子代理类型)
 - `skill` — 加载技能(匹配技能名称)
 - `lsp` — 运行 LSP 查询(当前不支持细粒度配置)
-- `todoread`、`todowrite` — 读取/更新待办事项列表
 - `webfetch` — 获取 URL(匹配 URL)
 - `websearch`、`codesearch` — 网页/代码搜索(匹配查询内容)
 - `external_directory` — 当工具访问项目工作目录之外的路径时触发

+ 0 - 21
packages/web/src/content/docs/zh-cn/tools.mdx

@@ -248,27 +248,6 @@ description: 管理 LLM 可以使用的工具。
 
 ---
 
-### todoread
-
-读取现有的待办事项列表。
-
-```json title="opencode.json" {4}
-{
-  "$schema": "https://opencode.ai/config.json",
-  "permission": {
-    "todoread": "allow"
-  }
-}
-```
-
-读取当前待办事项列表的状态。LLM 使用此工具来跟踪哪些任务待处理、哪些已完成。
-
-:::note
-该工具默认对子代理禁用,但您可以手动启用。[了解更多](/docs/agents/#permissions)
-:::
-
----
-
 ### webfetch
 
 获取网页内容。

+ 0 - 1
packages/web/src/content/docs/zh-tw/modes.mdx

@@ -233,7 +233,6 @@ Markdown 檔案名稱即為模式名稱(例如,`review.md` 建立一個名
 | `list`      | 列出目錄內容     |
 | `patch`     | 對檔案套用補丁   |
 | `todowrite` | 管理待辦事項清單 |
-| `todoread`  | 讀取待辦事項清單 |
 | `webfetch`  | 擷取網頁內容     |
 
 ---

+ 0 - 1
packages/web/src/content/docs/zh-tw/permissions.mdx

@@ -138,7 +138,6 @@ OpenCode 的權限以工具名稱為鍵,外加幾個安全防護項:
 - `task` — 啟動子代理(比對子代理類型)
 - `skill` — 載入技能(比對技能名稱)
 - `lsp` — 執行 LSP 查詢(目前不支援細粒度設定)
-- `todoread`、`todowrite` — 讀取/更新待辦事項清單
 - `webfetch` — 擷取 URL(比對 URL)
 - `websearch`、`codesearch` — 網頁/程式碼搜尋(比對查詢內容)
 - `external_directory` — 當工具存取專案工作目錄之外的路徑時觸發

+ 0 - 21
packages/web/src/content/docs/zh-tw/tools.mdx

@@ -248,27 +248,6 @@ description: 管理 LLM 可以使用的工具。
 
 ---
 
-### todoread
-
-讀取現有的待辦事項清單。
-
-```json title="opencode.json" {4}
-{
-  "$schema": "https://opencode.ai/config.json",
-  "permission": {
-    "todoread": "allow"
-  }
-}
-```
-
-讀取當前待辦事項清單的狀態。LLM 使用此工具來追蹤哪些任務待處理、哪些已完成。
-
-:::note
-該工具預設對子代理停用,但您可以手動啟用。[了解更多](/docs/agents/#permissions)
-:::
-
----
-
 ### webfetch
 
 擷取網頁內容。