fix-opencode-stuck-session-animation

Correct stale assistant completion timestamps in OpenCode Desktop sessions.

Updated Apr 27, 2026
One-click install
npx skills add https://github.com/Pans0020/opencode-skills --skill fix-opencode-stuck-session-animation
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: fix-opencode-stuck-session-animation
Source: https://github.com/Pans0020/opencode-skills/tree/main/fix-opencode-stuck-session-animation
Command: npx skills add https://github.com/Pans0020/opencode-skills --skill fix-opencode-stuck-session-animation

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps when OpenCode Desktop keeps showing a session as still generating/working (spinner/pulse/busy) even after the last response actually stopped.

Core Features & Use Cases

  • Detect stale unfinished assistant messages: Finds assistant records missing numeric time.completed that can keep the UI in a “working” state.
  • Verify tool runner status: Checks whether any tool parts are still marked as running and would legitimately animate.
  • Safe, minimal database repair: Creates a backup of opencode.db, then updates only the affected session’s message time metadata (and sets finish to stop) rather than archiving or deleting the session.

Quick Start

Ask the assistant to run this Skill for your specific session id (for example: ses_xxx) to back up opencode.db and mark the stale assistant message(s) as completed so the sidebar animation clears.

Frequently Asked Questions about fix-opencode-stuck-session-animation

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
Why does the OpenCode Desktop session animation keep spinning after the response stops?

Stale assistant messages missing numeric time.completed values keep the OpenCode Desktop UI in a working state. Correcting these timestamps sets finish to stop and satisfies the UI idle detection logic to stop the animation.

How do I fix a stuck session spinner in OpenCode Desktop?

To fix a stuck session spinner, back up opencode.db, target the specified session, and update unfinished assistant message records by setting time.completed and finish to stop. This clears the persistent busy indicator safely.

Is it safe to manually update the opencode.db to clear a busy UI indicator?

Yes, updating opencode.db is safe when you create a backup first. The repair updates only the affected session's message time metadata without archiving or deleting the session.

Can I use this fix if tool parts are still actively running in the session?

No, this fix applies only when no tool parts are still marked as running. The process verifies tool runner status to ensure no legitimate tool activity exists before marking stale assistant messages as completed.

What is the best way to stop OpenCode Desktop from showing a session as still generating?

The best way to stop OpenCode Desktop from showing a session as still generating is to correct stale assistant completion timestamps directly in the database. This satisfies the UI idle detection logic and clears the animation.