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 }}
Repository navigation
[Framework] .opencode symlinks (agents/commands/skills/rules) are inert on Windows #93
.opencode/agents, .opencode/commands, .opencode/skills, .opencode/rules are committed as git symlinks (mode 120000 in the index) pointing at ../.agents/*. On Windows, git defaults to core.symlinks=false unless the user has enabled Developer Mode/admin rights and explicitly set git config core.symlinks truebefore cloning. Under the default config, these paths check out as ~16-19 byte plain text files containing the literal string ../.agents/agents (etc.), not directories.
Verified on this machine (core.symlinks=false):
$ git ls-files -s .opencode/agents
120000 4c8a5fc... 0 .opencode/agents # correct symlink blob in the index
$ cat .opencode/agents
../.agents/agents # but checked out as plain text, not a real symlink
Impact
OpenCode's agent/skill/command auto-discovery reads from .opencode/* (README.md, docs/pi-workflow.md). On a stock Windows clone, OpenCode finds zero agents, skills, or commands -- the framework is silently non-functional. Pi is unaffected (reads .agents/ and .pi/extensions/ directly).
Proposed fix
Document the requirement prominently (README quick start + docs/pi-compatibility.md): git config --global core.symlinks true and Windows Developer Mode, set before cloning; re-clone or git checkout -- .opencode after enabling if already cloned.
Add a setup/postinstall check (Node script) that detects stub symlink files (small text files matching ^\.\./\.agents/) under .opencode/ and either warns loudly or materializes real directory junctions (fs.symlink(..., 'junction') on win32) as a fallback so OpenCode works out of the box.
Cover this with a regression check in tests/agents/validate.mjs or a small tools/ script that CI/Windows contributors can run to self-diagnose.
Acceptance criteria
Docs updated with explicit Windows symlink setup steps
A repo script exists that detects + repairs inert .opencode/* stub files on Windows
Running that script on this machine turns .opencode/agents etc. into working directories mirroring .agents/agents
Activity
striderZA commentedon Aug 2, 2026
Fixed in commit edaac99 (local, not yet pushed). Verified via
node tests/agents/validate.mjs(206/206 PASS) andnpm test(158/158 PASS).fix: repair inert .opencode symlinks on Windows checkouts (#93) (#98)
fix: point assign-models.js at canonical .agents/agents (#96) (#99)
chore: prepare v0.12.1 (#103)