This page collects the install, update, and repair details that most users
never need. The short version: install the plugin, run sync, restart
OpenCode, and /flow-status tells you if anything is off.
On startup, the plugin syncs its managed skills into
~/.config/opencode/skills/:
flow/ flow-plan/ flow-run/ flow-test/ flow-review/ flow-deslop/
flow-ui-quality/ flow-commit/
OpenCode scans the skill registry once per process. If Flow installs or
updates skills during a startup, that process may not see them yet — Flow
reports this through flow_status as setup.skills.status: "restart_required".
Restart OpenCode once more and the refreshed registry is loaded.
Project-local skill overrides work through OpenCode's normal lookup:
.opencode/skills/flow-plan/SKILL.md
Inspect the installed skill set at any time:
npx -y opencode-plugin-flow@4.2.0 doctorFor automation, opt into machine behavior explicitly:
npx -y opencode-plugin-flow@4.2.0 doctor --json
npx -y opencode-plugin-flow@4.2.0 doctor --checkdoctor --check and doctor --strict exit nonzero when the health status is
sync_required or action_required; plain doctor is advisory and exits
successfully.
Setup states you may see:
restart_required: startup sync changed skills; restart OpenCode before Flow skills load.action_required: a managed skill folder is foreign or user-edited. Flow will not overwrite it silently; move it aside to let Flow recreate it, or keep it deliberately as a local override.sync_failed: skill sync raised an error; skill instructions may be stale.
Missing, incomplete, or outdated managed skills are repaired with:
npx -y opencode-plugin-flow@4.2.0 syncThen restart OpenCode. If a command reports Skill "flow-review" not found
or a similar skill-loading error after upgrading, it is usually an older
OpenCode process or a stale resolved command body. Public Flow commands are
self-contained: command preflight replaces resolved Flow command bodies with
the current bundled instructions, so /flow-auto, /flow-plan, /flow-run,
and /flow-review continue working even when native skill discovery lags.
Run /flow-status or doctor first, then sync and restart.
If your OpenCode version does not have opencode plugin, add Flow to your
OpenCode config manually:
{
"plugin": ["opencode-plugin-flow@4.2.0"]
}When updating through this fallback, replace the older pinned entry instead of adding a duplicate. Then run the pre-start skill sync and restart OpenCode:
npx -y opencode-plugin-flow@4.2.0 syncWhy --force in the recommended installer command: OpenCode keeps an existing
same-package plugin entry unless replacement is requested, so the flag avoids
leaving an older pinned version in your global opencode.json.
- "Timed out waiting for Flow session lock": another OpenCode session may be using the workspace. If none is, the lock is left over from a crash; Flow expires stale locks automatically (dead process on the same host, or a lock older than ten minutes), and the error message names the exact directory to delete manually if needed.
- Unreadable session file: if
.flow/session.jsonis corrupt or from an older plugin version, any Flow tool call quarantines it into.flow/history/quarantine-*.jsonand tells you how to start fresh. Nothing is deleted.
First remove opencode-plugin-flow from your OpenCode plugin config so future
startups stop loading Flow. Then remove Flow-owned synced skills:
npx -y opencode-plugin-flow@4.2.0 uninstall --dry-run # preview
npx -y opencode-plugin-flow@4.2.0 uninstallRestart OpenCode after both steps. Uninstall removes only pristine Flow-owned skill folders; user-edited folders, folders containing your own files, and foreign skill folders are kept.