tinyhumansai/openhuman · error

thread_message_append: {e}

Error message

thread_message_append: {e}

What it means

Generic wrapper from thread_message_append: appending a message record to a thread failed after the request deserialized. The underlying {e} is the memory-conversations write error — commonly a missing thread or an invalid message record.

Source

Thrown at src/openhuman/threads/tools.rs:449

            "type": "object",
            "properties": {
                "thread_id": { "type": "string" },
                "message": { "type": "object", "description": "ConversationMessageRecord." }
            },
            "required": ["thread_id", "message"]
        })
    }

    fn permission_level(&self) -> PermissionLevel {
        PermissionLevel::Write
    }

    async fn execute(&self, args: serde_json::Value) -> anyhow::Result<ToolResult> {
        log::debug!("[tool][threads] message_append invoked");
        let req: AppendConversationMessageRequest = parse_req(args, "thread_message_append")?;
        let outcome = ops::message_append(req)
            .await
            .map_err(|e| anyhow::anyhow!("thread_message_append: {e}"))?;
        Ok(ToolResult::success(serde_json::to_string(&outcome.value)?))
    }
}

/// Patch a message's metadata.
pub struct ThreadMessageUpdateTool;

#[async_trait]
impl Tool for ThreadMessageUpdateTool {
    fn name(&self) -> &str {
        "thread_message_update"
    }

    fn description(&self) -> &str {
        "Patch a message's `extra_metadata` in a thread. Requires `thread_id` \
         and `message_id`; `extra_metadata` is the new metadata object."
    }

View on GitHub (pinned to 7491200858)

Solutions

  1. Confirm thread_id exists (thread_read)
  2. Ensure 'message' is a well-formed ConversationMessageRecord
  3. Read {e} for the concrete validation or persistence failure
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at src/openhuman/threads/tools.rs:449 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/b320a7e2c74b3da4. Report an issue: GitHub.