edit_block
Perform precise text replacements in files by specifying file path, old string, and new string. Use the expected_replacements parameter to control the number of changes. Ensure accuracy by including minimal context around the edit point.
Instructions
Apply surgical text replacements to files. BEST PRACTICE: Make multiple small, focused edits rather than one large edit. Each edit_block call should change only what needs to be changed - include just enough context to uniquely identify the text being modified. Takes file_path, old_string (text to replace), new_string (replacement text), and optional expected_replacements parameter. By default, replaces only ONE occurrence of the search text. To replace multiple occurrences, provide the expected_replacements parameter with the exact number of matches expected. UNIQUENESS REQUIREMENT: When expected_replacements=1 (default), include the minimal amount of context necessary (typically 1-3 lines) before and after the change point, with exact whitespace and indentation. When editing multiple sections, make separate edit_block calls for each distinct change rather than one large replacement. When a close but non-exact match is found, a character-level diff is shown in the format: common_prefix{-removed-}{+added+}common_suffix to help you identify what's different. IMPORTANT: Always use absolute paths (starting with '/' or drive letter like 'C:') for reliability. Relative paths may fail as they depend on the current working directory. Tilde paths (~/...) might not work in all contexts. Unless the user explicitly asks for relative paths, use absolute paths.
Input Schema
Name | Required | Description | Default |
---|---|---|---|
expected_replacements | No | ||
file_path | Yes | ||
new_string | Yes | ||
old_string | Yes |