fix(auto-update): use USER_CONFIG_DIR instead of CACHE_DIR for plugin invalidation#1424
Merged
code-yeongyu merged 2 commits intodevfrom Feb 4, 2026
Merged
fix(auto-update): use USER_CONFIG_DIR instead of CACHE_DIR for plugin invalidation#1424code-yeongyu merged 2 commits intodevfrom
code-yeongyu merged 2 commits intodevfrom
Conversation
… invalidation The auto-update-checker was operating on the wrong directory: - CACHE_DIR (~/.cache/opencode) was used for node_modules, package.json, and bun.lock - But plugins are installed in USER_CONFIG_DIR (~/.config/opencode) This caused auto-updates to fail silently: 1. Update detected correctly (3.x.x -> 3.y.y) 2. invalidatePackage() tried to delete from ~/.cache/opencode (wrong!) 3. bun install ran but respected existing lockfile 4. Old version remained installed Fix: Use USER_CONFIG_DIR consistently for all invalidation operations. Also moves INSTALLED_PACKAGE_JSON constant to use USER_CONFIG_DIR for consistency.
9c2c109 to
8886879
Compare
ToolContext type from @opencode-ai/plugin/tool does not include a 'directory' property, causing typecheck failure after rebase from dev. Changed to use process.cwd() which is the same pattern used in session-manager/tools.ts.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes auto-update failing silently due to operating on wrong directory.
Problem
The auto-update-checker was using
CACHE_DIR(/.cache/opencode) for plugin invalidation, but plugins are actually installed in/.config/opencode).USER_CONFIG_DIR(Symptom: "Update available" toast appears, but after restart the old version is still installed.
Root cause:
invalidatePackage()tried to remove package from~/.cache/opencode/node_modules/(wrong!)removeFromBunLock()tried to modify~/.cache/opencode/bun.lock(wrong!)bun installran in correct dir but respected existing lockfile → old version reinstalledFix
invalidatePackage()to useUSER_CONFIG_DIRremoveFromBunLock()to useUSER_CONFIG_DIRINSTALLED_PACKAGE_JSONconstant to useUSER_CONFIG_DIRTesting
bun test src/hooks/auto-update-checker/)Summary by cubic
Fixes auto-update by using USER_CONFIG_DIR for plugin invalidation and lockfile edits so updates apply after restart instead of failing silently.
Written for commit 71ac09b. Summary will update on new commits.