Skip to content

Troubleshooting

The daemon could not spawn. Its log is the first place to look:

Terminal window
tail -40 ~/.cache/opencode-cockpit/cockpitd.log

Check OpenCode’s own log — newest file in ~/.local/share/opencode/log/. A plugin that fails to import is reported there.

The bay is installed both through opencode-cockpit and on its own. Remove one of the entries from both opencode.json and tui.json.

A newer plugin connected, but shells were running so the daemon was kept. Run /shells-restart-daemon once those shells are finished.

OpenCode resolves an unpinned plugin spec once and caches it. Run /cockpit-update, which clears the cache entry, then restart. To check which build is actually running:

Terminal window
grep '"daemon started"' ~/.cache/opencode-cockpit/cockpitd.log | tail -1

Settings merge global → project → plugin entry. A .cockpit.json in the project wins over your global file, and an invalid file is ignored silently by design — check it parses:

Terminal window
cat .cockpit.json | python3 -m json.tool

They survive OpenCode restarts, not machine restarts: the daemon exits when idle and reaps what it owned. Shells finished more than ui.historyMinutes ago are also hidden from the panel by default.