Baike.dev
All toolsAI codingTrendingOpen sourceNewsSubmit
Log in
Back to tool/Back to issues
#17497·OpenHands

[Bug]: Corrupted conversation data breaks the entire conversation history list instead of handling individual broken conversations

Author: mokeyishCreated Sep 17, 2026Updated Sep 17, 2026
Labelsbugfrontendagent-canvaspriority:medium

Operating System

Linux

Installation Method

npm (npx @openhands/agent-canvas or npm install -g @openhands/agent-canvas)

Agent Canvas Version

1.18.0

Bug Description

When a single conversation's data becomes corrupted on disk, the entire conversation history list fails to load in the UI.

Because conversation IDs are represented as raw UUIDs without human-readable metadata, it is extremely difficult to identify which specific conversation file is corrupted. As a workaround, the user is forced to delete all local conversation data to make the feature functional again.

How it happened in my case:

  1. Switched the LLM model in an active conversation, which triggered an API Key error.
  2. Attempted to fork from a previous message to revert/continue without switching models.
  3. The conversation state entered a bad state, causing the global conversation list to throw an error and fail completely.

Steps to Reproduce

  1. Start a conversation, change the model to introduce an invalid configuration / API key error.
  2. Fork the conversation from an earlier message in the history.
  3. Refresh the page or return to the conversation history list.
  4. Observe that the entire conversation list fails to load/render.

Actual Behavior

  1. Switched the LLM model in an active conversation, which triggered an API Key error.
  2. Attempted to fork from a previous message to revert/continue without switching models.
  3. The conversation state entered a bad state, causing the global conversation list to throw an error and fail completely.

Expected Behavior

  • If a single conversation encounters a data error or becomes corrupted, OpenHands should catch the error gracefully, mark/tag that specific conversation as Broken or Corrupted in the list, and still render the rest of the valid conversations.
  • Users should be able to delete or inspect the individual broken conversation directly from the UI without losing their entire conversation history.

Relevant Logs

Acceptance Criteria

No response

Screenshots

Additional Context

No response

Source: OpenHands/OpenHands

View original on GitHubView discussion on GitHub