diff options
| author | Aiden Cline <[email protected]> | 2026-01-04 21:39:45 -0600 |
|---|---|---|
| committer | Aiden Cline <[email protected]> | 2026-01-04 21:39:45 -0600 |
| commit | f2e65e40ea55e993cdbccaedb76e79d782175402 (patch) | |
| tree | 35349d9a03ceca5c822fb0c1eb28caa61736b0a6 | |
| parent | 8b3ae08a5592f7244beb2f705d4a61fac88cbbaa (diff) | |
| download | opencode-f2e65e40ea55e993cdbccaedb76e79d782175402.tar.gz opencode-f2e65e40ea55e993cdbccaedb76e79d782175402.zip | |
fix: handle skill scan failures for .claude gracefully
| -rw-r--r-- | packages/opencode/src/skill/skill.ts | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/packages/opencode/src/skill/skill.ts b/packages/opencode/src/skill/skill.ts index bf90dd587..9d45f1688 100644 --- a/packages/opencode/src/skill/skill.ts +++ b/packages/opencode/src/skill/skill.ts @@ -81,13 +81,20 @@ export namespace Skill { } for (const dir of claudeDirs) { - for await (const match of CLAUDE_SKILL_GLOB.scan({ - cwd: dir, - absolute: true, - onlyFiles: true, - followSymlinks: true, - dot: true, - })) { + const matches = await Array.fromAsync( + CLAUDE_SKILL_GLOB.scan({ + cwd: dir, + absolute: true, + onlyFiles: true, + followSymlinks: true, + dot: true, + }), + ).catch((error) => { + log.error("failed .claude directory scan for skills", { dir, error }) + return [] + }) + + for (const match of matches) { await addSkill(match) } } |
