Troubleshooting
This page collects common operational issues that follow from the source-verified configuration and workflow model.
Server Does Not Start
- For source builds, confirm Go
1.26.6+is installed. - If auth is enabled, confirm
AUTH_USERNAME,AUTH_PASSWORD, andAUTH_SESSION_SECRETare all set. - Check
logs/openvibely.logwhen using./start.sh. - Ensure the selected
PORTis available.
Installed Command Is Not Found
- Open a new terminal after installation so the shell reloads its command lookup and
PATH. - On macOS or Linux, run
command -v openvibelyorcommand -v openvibely-desktop. - On Windows, reopen PowerShell and run
Get-Command openvibelyor use the Start Menu shortcut. - If an old command points to a deleted installation, remove that stale command or symlink and rerun the hosted installer.
An Update Is Not Offered
- Confirm the running app is a released desktop or binary build. Source builds do not self-update.
- Open
Alertsand inspect the current version, release channel, and update state. - Confirm a newer release has been promoted to the app's configured channel.
- Restart the app if it has not completed its periodic release check.
An Update Fails Or Rolls Back
- Read the exact failure shown in
Alerts; the updater restores the previous version when the replacement does not start or report healthy. - Rerun the hosted installer with the same
desktoporbinaryvariant to repair the application files. App data is stored separately and remains in place. - Do not normally delete
update-state.json,update-coordinator.json, orupdate-drain.jsonby hand. The app and installer coordinate unfinished recovery. - See Updates for the complete update and reinstall flow.
OAuth Returns To Localhost On A VPS
- Set
APP_BASE_URLto your public origin, for examplehttps://app.example.com. - Use
OAUTH_REDIRECT_MODE=autoorhosted. - Ensure provider callback URLs match the app callback routes.
Local Repository Paths Are Missing
- In server mode, set
OPENVIBELY_ENABLE_LOCAL_REPO_PATH=true. - In desktop mode, local paths are enabled by default.
Memory Does Not Write
- Confirm the project has a local
repo_path. - Confirm memory is enabled for the project.
- Check Memory Curator lifecycle activity or
System: Memory Consolidationrun status forerror. - Remember memory writes to
.openvibely/memoriesinside the selected repo.
Tasks Stay Queued
- Check global worker capacity.
- Check project
max_workers. - Check model
max_workersandworker_timeout. - Confirm the selected model credentials are valid.
- For swarms, remember the parent's
Max workerslimits planned slices but does not override execution capacity.
Worktree Setup Fails
- Open the task error and project Alert; OpenVibely fails closed instead of modifying the main checkout.
- Confirm the repository exists, its merge target is valid, and Git can create a worktree.
- Create an initial commit before running repository-changing tasks in a new empty repository.
A Channel Ignores Messages
- Add the sender to the system-level Authorized Users or Senders list; Slack, Telegram, Discord, and Email are deny-by-default.
- For Discord server channels and threads, mention the bot and verify Message Content Intent and channel permissions.
- For Email, confirm the message is unread, not self-sent or automated, and IMAP polling is connected.
- Verify the channel's active project when work appears in an unexpected workspace.
Outbound Messages Fail
- Confirm the platform channel is configured and the selected project has a matching saved or Home target.
- Test the target from
Channels->Outbound Message Targets. - Enable
Allow explicit unsaved targetsonly when the prompt intentionally uses an unsaved destination. - Confirm Chat is in
Orchestratemode and the selected provider/agent supportssend_message.
Mixture Of Models Is Slow Or Expensive
- Reduce the number of reference models.
- Lower Reference Timeout or use faster reference configs.
- Check provider rate limits and underlying model credentials.
- Remember every turn calls all references plus the aggregator.
GitHub SDLC Skips Work
- Assign the issue to the PAT owner or a configured GitHub Authorized User.
- Remove stale prompt requirements for an existing PR or mandatory
approvedlabel. - Keep recurring inbox/finder tasks schedule-driven; put persisted goals on implementation tasks instead.
- Confirm the implementation task has a worktree branch before publishing its pull request.