tinyhumansai/openhuman · error
todo_clear: {e}
Error message
todo_clear: {e} What it means
Generic wrapper from todo_clear: wiping every card from the board failed. The underlying {e} is the ops clear error — usually a board file read/write or thread-location failure. The operation is irreversible on success, so treat failures before confirming cause carefully.
Source
Thrown at src/openhuman/threads/todos/tools.rs:516
fn description(&self) -> &str {
"Remove every card from a thread's todo board, leaving it empty. \
Irreversible. Only use when the user wants to clear the whole board."
}
fn parameters_schema(&self) -> serde_json::Value {
json!({ "type": "object", "properties": { "thread_id": thread_id_prop() } })
}
fn permission_level(&self) -> PermissionLevel {
PermissionLevel::Write
}
async fn execute(&self, args: serde_json::Value) -> anyhow::Result<ToolResult> {
log::debug!("[tool][todos] clear invoked");
let location = board_location(&self.config, &args);
let snapshot = ops::clear(&location)
.await
.map_err(|e| anyhow::anyhow!("todo_clear: {e}"))?;
snapshot_to_result(snapshot)
}
}
#[cfg(test)]
mod tests {
use super::*;
use crate::openhuman::tools::traits::ToolScope;
fn cfg() -> Arc<Config> {
Arc::new(Config::default())
}
#[test]
fn names_and_levels() {
let c = cfg();
assert_eq!(TodoListTool::new(c.clone()).name(), "todo_list");
assert_eq!(View on GitHub (pinned to 7491200858)
Solutions
- Read {e} for the concrete clear failure
- Confirm the target thread (or scratch board) exists
- Re-run todo_list to see whether the board state is intact before retrying
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at src/openhuman/threads/todos/tools.rs:516 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/cea79e933c971830.
Report an issue: GitHub.