You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jun 9, 2026. It is now read-only.
Repository navigation
This repository was archived by the owner on Jun 9, 2026. It is now read-only.
This PAI-OpenCode is a manual upgrade from a previous installation by performing a new installation and then manually copying over various updated files in the USER and skills directories. Notably, I did not copy over files from the old profiles or agents subdirectories. This was because I had a pretty modified version of 2.x and the migration script didn't work for me.
Steps to reproduce
symlink ~/.opencode to a subdir under $HOME, e.g. ~/dev/pai/.opencode
Perform a fresh 3.0 installation
from ~, execute bun run .opencode/tools/switch-provider.ts zen-paid (or other profiles)
look at ~/.opencode/opencode.json (which is actually in the symlinked dir) and every model is still big-pickle.
Solution
It looks like the script is trying to write to ~/opencode.json instead of ~/.opencode/opencode.json though it doesn't actually do so. Still, changing line 31 from: const OPENCODE_JSON_PATH = join(PROJECT_ROOT, "opencode.json");
to: const OPENCODE_JSON_PATH = join(OPENCODE_DIR, "opencode.json");
seems to have done the trick and now ~/.opencode/opencode.json is being updated correctly.
Happy to submit a pull request, but wanted to highlight this first and see if there's something else strange going on.
#76 - PR-09: New Skills + Migration Tools (3 files) [merged] #93 - refactor(installer): align with current pai-opencode structure [merged] #94 - fix(installer): prevent broken pai alias and missing opencode [merged] #104 - feat(pai): separate pai command from opencode [closed] #138 - fix(core): OpenCode-native architecture — zero bootstrap, Zen free default [merged]
📝 Issue Planner
Check the box below or use the @coderabbitai plan command to generate an implementation plan and prompts that you can use with your favorite coding assistant.
Create Plan
🧪 Issue enrichment is currently in open beta.
You can configure auto-planning by selecting labels in the issue_enrichment configuration.
To disable automatic issue enrichment, add the following to your .coderabbit.yaml:
issue_enrichment:
auto_enrich:
enabled: false
💬 Have feedback or questions? Drop into our discord!
I'm having the same issue and can confirm that the proposed change in the switch provider script actually works. However, I can imagine that the script does it without the change such that it updated the provider for the current project only, and not globally. But when executed from the home directory, it doesn't seem to do anything.
Activity
coderabbitai commentedon Apr 18, 2026
🔗 Related PRs
#76 - PR-09: New Skills + Migration Tools (3 files) [merged]
#93 - refactor(installer): align with current pai-opencode structure [merged]
#94 - fix(installer): prevent broken pai alias and missing opencode [merged]
#104 - feat(pai): separate pai command from opencode [closed]
#138 - fix(core): OpenCode-native architecture — zero bootstrap, Zen free default [merged]
📝 Issue Planner
Check the box below or use the
@coderabbitai plancommand to generate an implementation plan and prompts that you can use with your favorite coding assistant.🧪 Issue enrichment is currently in open beta.
You can configure auto-planning by selecting labels in the issue_enrichment configuration.
To disable automatic issue enrichment, add the following to your
.coderabbit.yaml:💬 Have feedback or questions? Drop into our discord!
jurgenhaas commentedon May 2, 2026
I'm having the same issue and can confirm that the proposed change in the switch provider script actually works. However, I can imagine that the script does it without the change such that it updated the provider for the current project only, and not globally. But when executed from the home directory, it doesn't seem to do anything.