#18001·theia

AI tool call description for tool "todoWrite" incomplete

Author: flreinhardCreated Sep 8, 2026Updated Sep 14, 2026
Labelsbugtheia-ai

Bug Description:

For quite some releases the todoWrite tool is not useable (in my setup). When a LLM tries to create a ToDo list, it stays empty.

Steps to Reproduce:

  1. have AI setup in eclipse theia, i used ollama with qwen 3.8
  2. start a simple prompt, i used "@coder use the todoWrite tool and create a dummy todo list with one item and check it. if your first try doesn't work: stop and show me your tool-call."
  3. see that the tool call fails

If you tell the LLM, that the mandatory fields are "content", "activeForm" and "status", the toolCall will work. See https://github.com/eclipse-theia/theia/blob/72573426f320fefc89a96ba55ce05c752d182123/packages/ai-ide/src/browser/todo-tool.ts#L64

I put a little proxy inbetween theia and ollama, here's the part from the theia request to ollama that is probably missing a proper tool description:

json
{
    "function": {
        "description": "Create or replace a structured task list for the current session. This helps you track progress, organize complex tasks, and demonstrate thoroughness to the user. It also helps the user understand the progress and overall status of their requests.\n\nWhen to use:\n- Tasks requiring 3+ steps or careful planning\n- User provides multiple tasks or explicitly requests a todo list\n- After receiving new instructions — immediately capture requirements as todos\nSkip for single, trivial tasks, conversational or informational requests that need no tracking.\nWhen in doubt, use this tool.\n\nTask states:\n- pending: Task not yet started\n- in_progress: Currently working on (limit to ONE task at a time)\n- completed: Task finished successfully\n\nTask management:\n- Mark a task in_progress BEFORE starting work on it (one at a time)\n- Complete the current task before starting new ones\n- Mark tasks completed immediately after finishing — do not batch completions\n- Only mark completed when fully accomplished (no failing tests, no partial implementation, no unresolved errors)\n- If blocked, add a new task describing what needs to be resolved\n- Add follow-up tasks discovered during implementation\n- Remove tasks that are no longer relevant\n\nTask breakdown:\n- Create specific, actionable items\n- Break complex tasks into smaller, manageable steps\n- Use clear, descriptive task names\n\nBeing proactive with task management demonstrates attentiveness and ensures you complete all requirements successfully.",
        "name": "todoWrite",
        "parameters": {
            "properties": {
                "todos": {
                    "description": "The updated todo list.",
                    "type": "array"
                }
            },
            "required": [
                "todos"
            ],
            "type": "object"
        }
    },
    "type": "function"
}

Additional Information

  • Operating System: windows/linux
  • Theia Version: 1.74.100