ruvnet/ruflo · error
CAPABILITY_MISMATCH
CAPABILITY_MISMATCH
Error message
Claimant lacks required capabilities: ${missingCapabilities.join(', ')} What it means
claim() compared the issue's requiredCapabilities against the claimant's capability list and at least one required capability is missing. Authorization check: the claimant is not qualified for this issue; the missing capabilities are enumerated in the message.
Source
Thrown at v3/@claude-flow/claims/src/application/claim-service.ts:209
error: {
code: 'MAX_CLAIMS_EXCEEDED',
message: `Claimant ${claimant.name} has reached maximum concurrent claims (${maxClaims})`,
details: { currentClaims: currentClaimCount, maxClaims },
},
};
}
// Validate capabilities match (if required)
if (issue.requiredCapabilities && issue.requiredCapabilities.length > 0) {
const claimantCapabilities = claimant.capabilities ?? [];
const missingCapabilities = issue.requiredCapabilities.filter(
(cap) => !claimantCapabilities.includes(cap)
);
if (missingCapabilities.length > 0) {
return {
success: false,
error: {
code: 'CAPABILITY_MISMATCH',
message: `Claimant lacks required capabilities: ${missingCapabilities.join(', ')}`,
details: { missingCapabilities, requiredCapabilities: issue.requiredCapabilities },
},
};
}
}
// Create the claim
const now = new Date();
const claimId = `claim-${randomUUID()}` as ClaimId;
const claim: IssueClaim = {
id: claimId,
issueId,
claimant,
status: 'active',
claimedAt: now,
lastActivityAt: now,
notes: [],View on GitHub (pinned to fa13ee4ad6)
Solutions
- Provide all required parameters listed in the message.
- Validate required fields before dispatch and report the full set of missing fields at once.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at v3/@claude-flow/claims/src/application/claim-service.ts:209 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of ruvnet/ruflo@fa13ee4ad6 (2026-08-18).
Data as JSON: /api/errors/bdcb39146e7e6852.
Report an issue: GitHub.