tinyhumansai/openhuman · error

todo_list: {e}

Error message

todo_list: {e}

What it means

Generic wrapper from the todo_list tool: reading or rendering the thread's task board (via the todos ops layer) failed after argument parsing. The underlying {e} carries the board-read error — typically a missing/corrupt board file or thread lookup failure.

Source

Thrown at src/openhuman/threads/todos/tools.rs:137

    }

    fn description(&self) -> &str {
        "List the todo cards on a thread's task board, with a markdown \
         rendering. Use to review outstanding/completed work before adding or \
         updating tasks. Each card has an `id`, `content`, `status`, and \
         optional objective/plan/notes/blocker fields."
    }

    fn parameters_schema(&self) -> serde_json::Value {
        json!({ "type": "object", "properties": { "thread_id": thread_id_prop() } })
    }

    async fn execute(&self, args: serde_json::Value) -> anyhow::Result<ToolResult> {
        log::debug!("[tool][todos] list invoked");
        let location = board_location(&self.config, &args);
        let snapshot = ops::list(&location)
            .await
            .map_err(|e| anyhow::anyhow!("todo_list: {e}"))?;
        snapshot_to_result(snapshot)
    }

    fn is_concurrency_safe(&self, _args: &serde_json::Value) -> bool {
        true
    }
}

/// Add a new card to a thread's todo board.
pub struct TodoAddTool {
    config: Arc<Config>,
}

impl TodoAddTool {
    pub fn new(config: Arc<Config>) -> Self {
        Self { config }
    }
}

View on GitHub (pinned to 7491200858)

Solutions

  1. Read the wrapped {e} for the concrete board-read failure
  2. Confirm the thread_id (if given) refers to an existing thread
  3. Omit thread_id to read the scratch board instead
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at src/openhuman/threads/todos/tools.rs:137 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of tinyhumansai/openhuman@7491200858 (2026-08-17). Data as JSON: /api/errors/af6d421dd3be1118. Report an issue: GitHub.