vercel/ai · error · Error

Duplicate ACP skill file path ${JSON.stringify(file.path)} f

Error message

Duplicate ACP skill file path ${JSON.stringify(file.path)} for skill ${JSON.stringify(skill.name)}.

What it means

Error "Duplicate ACP skill file path ${JSON.stringify(file.path)} for skill ${JSON.stringify(skill.name)}." thrown in vercel/ai.

Source

Thrown at packages/harness-acp/src/v1/acp-v1-skills.ts:135

      );
    }
    skillNames.add(skill.name);

    const filePaths = new Set<string>();
    for (const file of skill.files ?? []) {
      const normalizedPath = validateACPAttachedFilePath({
        skillName: skill.name,
        filePath: file.path,
      });
      if (normalizedPath === 'SKILL.md') {
        throw new Error(
          `Invalid ACP skill file path ${JSON.stringify(file.path)} for skill ${JSON.stringify(
            skill.name,
          )}: SKILL.md is reserved for the skill definition.`,
        );
      }
      if (filePaths.has(normalizedPath)) {
        throw new Error(
          `Duplicate ACP skill file path ${JSON.stringify(file.path)} for skill ${JSON.stringify(
            skill.name,
          )}.`,
        );
      }
      filePaths.add(normalizedPath);
    }
  }
}

function validateACPAttachedFilePath({
  skillName,
  filePath,
}: {
  skillName: string;
  filePath: string;
}): string {
  const containsTraversal = filePath

View on GitHub (pinned to 69428b1f8b)

When it happens

Trigger: Thrown at packages/harness-acp/src/v1/acp-v1-skills.ts:135 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of vercel/ai@69428b1f8b (2026-08-30). Data as JSON: /api/errors/e10767156364a92e. Report an issue: GitHub.