Troubleshooting
Common issues and fixes.
macOS "damaged app" / Gatekeeper Warning
The current macOS builds aren't code-signed. After installing the DMG, clear the quarantine attribute:
xattr -cr /Applications/Coodeen.appThen open the app again.
Sidecar Won't Start
Coodeen fails if it can't spawn the bundled opencode binary.
- Dev: ensure
apps/desktop/resources/bin/opencodeexists. Re-runbun run --cwd apps/desktop fetch-opencode, then rebuild withmake -C apps/macos run. - Installed app: the binary ships at
/Applications/Coodeen.app/Contents/Resources/bin/opencode. Run it with--versionto check it works. If it's missing, reinstall.
If the sidecar fails to start, the error appears as a notification in the bottom-right corner of the window.
Fresh Start
Quit Coodeen, then delete both stores:
| What | Location |
|---|---|
| App preferences | ~/Library/Application Support/Coodeen/ |
| opencode data | ~/.local/share/opencode/ |
Preview Not Loading
- Check your dev server is actually up at the URL shown.
- Click the refresh icon in the preview toolbar.
- If the 10s load timeout fires, the retry panel appears — click Retry.
Element Picker Doesn't Pick Anything
The picker injects a small script into the preview page. Pages with a strict Content-Security-Policy can block it. Point the preview at your local dev server instead.
Screenshots Don't Reach the AI
If the selected model doesn't accept images, the provider drops the image part. The agent still receives the selected element's DOM metadata (tag, id, classes, selector).
API Key Rejected
- Paste-check the key — no stray whitespace.
- Provider dashboard — is the key live and billable?
- opencode caches its provider list; Coodeen disposes the cache after an auth mutation, but if model calls still fail, restart the app.
Event Stream Reconnects in a Loop
The sidecar's /global/event stream is monitored by a heartbeat. If 15s pass with no events, Coodeen aborts and reconnects with exponential backoff. Persistent reconnects usually mean the sidecar crashed — check the console for opencode sidecar exited early and share the stderr output in a bug report.