summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAiden Cline <[email protected]>2026-01-04 21:39:45 -0600
committerAiden Cline <[email protected]>2026-01-04 21:39:45 -0600
commitf2e65e40ea55e993cdbccaedb76e79d782175402 (patch)
tree35349d9a03ceca5c822fb0c1eb28caa61736b0a6
parent8b3ae08a5592f7244beb2f705d4a61fac88cbbaa (diff)
downloadopencode-f2e65e40ea55e993cdbccaedb76e79d782175402.tar.gz
opencode-f2e65e40ea55e993cdbccaedb76e79d782175402.zip
fix: handle skill scan failures for .claude gracefully
-rw-r--r--packages/opencode/src/skill/skill.ts21
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)
}
}