NousResearch/hermes-agent · error · Error
Cannot restore an empty message.
Error message
Cannot restore an empty message.
What it means
Error "Cannot restore an empty message." thrown in NousResearch/hermes-agent.
Source
Thrown at apps/desktop/src/app/session/hooks/use-prompt-actions/rewind.ts:316
export function planRestore(messages: ChatMessage[], messageId: string, target?: RestoreTarget): RestorePlan {
const idIndex = messages.findIndex(m => m.id === messageId && m.role === 'user')
const fallbackIndex =
target?.userOrdinal === null || target?.userOrdinal === undefined
? -1
: visibleUserIndexAtOrdinal(messages, target.userOrdinal)
const sourceIndex = idIndex >= 0 ? idIndex : fallbackIndex
const source = messages[sourceIndex]
if (!source || source.role !== 'user') {
throw new Error('Could not find the message to restore.')
}
const text = (chatMessageText(source).trim() || target?.text?.trim() || '').trim()
if (!text) {
throw new Error('Cannot restore an empty message.')
}
const truncateOrdinal =
target?.userOrdinal === null || target?.userOrdinal === undefined
? visibleUserOrdinal(messages, sourceIndex)
: target.userOrdinal
return { sourceIndex, text, truncateOrdinal, truncateMessageId: source.id, truncateRowId: source.rowId }
}
// ---------------------------------------------------------------------------
// Edit (revert + resubmit with new text)
// ---------------------------------------------------------------------------
export interface EditPlan {
editedMessage: ChatMessage
isFailedTurn: boolean
sourceIndex: numberView on GitHub (pinned to c896c09c42)
Solutions
- Choose a message that has text content to restore.
- Edit the message content first, then restore.
When it happens
Trigger: Thrown at apps/desktop/src/app/session/hooks/use-prompt-actions/rewind.ts:316 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of NousResearch/hermes-agent@c896c09c42 (2026-08-14).
Data as JSON: /api/errors/3d84be50ecc5de68.
Report an issue: GitHub.