earendil-works/pi · error · Error
Could not find edits[${editIndex}] in ${path}. The oldText m
Error message
Could not find edits[${editIndex}] in ${path}. The oldText must match exactly including all whitespace and newlines. What it means
Error "Could not find edits[${editIndex}] in ${path}. The oldText must match exactly including all whitespace and newlines." thrown in earendil-works/pi.
Source
Thrown at packages/agent/src/harness/tools/edit-diff.ts:326
newText: normalizeToLF(edit.newText),
}));
for (let i = 0; i < normalizedEdits.length; i++) {
if (normalizedEdits[i].oldText.length === 0) {
throw getEmptyOldTextError(path, i, normalizedEdits.length);
}
}
const initialMatches = normalizedEdits.map((edit) => fuzzyFindText(normalizedContent, edit.oldText));
const usedFuzzyMatch = initialMatches.some((match) => match.usedFuzzyMatch);
const replacementBaseContent = usedFuzzyMatch ? normalizeForFuzzyMatch(normalizedContent) : normalizedContent;
const matchedEdits: MatchedEdit[] = [];
for (let i = 0; i < normalizedEdits.length; i++) {
const edit = normalizedEdits[i];
const matchResult = fuzzyFindText(replacementBaseContent, edit.oldText);
if (!matchResult.found) {
throw getNotFoundError(path, i, normalizedEdits.length);
}
const occurrences = countOccurrences(replacementBaseContent, edit.oldText);
if (occurrences > 1) {
throw getDuplicateError(path, i, normalizedEdits.length, occurrences);
}
matchedEdits.push({
editIndex: i,
matchIndex: matchResult.index,
matchLength: matchResult.matchLength,
newText: edit.newText,
});
}
matchedEdits.sort((a, b) => a.matchIndex - b.matchIndex);
for (let i = 1; i < matchedEdits.length; i++) {
const previous = matchedEdits[i - 1];View on GitHub (pinned to 4af9d21d3b)
Solutions
- Re-read the file and copy the exact text, including all whitespace and newlines, into the edit's oldText.
When it happens
Trigger: Thrown at packages/agent/src/harness/tools/edit-diff.ts:326 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of earendil-works/pi@4af9d21d3b (2026-08-24).
Data as JSON: /api/errors/314ff4def5582b4c.
Report an issue: GitHub.