Files
HomerandClaude Opus 5.5 253ef4a8a0 Harness spec 3.0.0-draft: where each tool is offered; the chat's tools
Every tool says its `sessions` (chat, agent or both). The file tools read, write,
edit, glob, grep and list are shared; mkdir, mv, rm, search, python and the forge
verbs (commit, branch, pr, merge, tag, release) are the chat's; show and recall
are new and shared. New fields: `requires` (page, display, forge) with the exact
`unavailable` answer, and `confirm: always` for merge, tag and release.
knowledge_*, notes_search, note_view and note_manage leave the chat. Default
rules for the new tools; modes.json says what `confirm` does.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 18:52:24 +00:00

41 lines
1.2 KiB
JSON

{
"name": "edit",
"scope": "shared",
"sessions": "both",
"risk": "write",
"exclusive": false,
"block": "edit",
"purpose": "purpose",
"aliases": {
"cli": [],
"llembas": []
},
"description": "Replace exact text in a file.\n\n- Read the file first; the edit fails otherwise.\n- `old` must match the file exactly, with its indentation, and without the `<n>: ` line-number prefix the read tool shows.\n- `old` must be unique in the file. If it is not, include more surrounding lines, or set `all: true` to replace every occurrence (for renames).\n- Keep `old` small: the lines you change plus enough context to be unique.\n- Several changes to one file are several edit calls.",
"parameters": {
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "File to edit"
},
"old": {
"type": "string",
"description": "Exact text to replace"
},
"new": {
"type": "string",
"description": "Replacement text"
},
"all": {
"description": "Replace every occurrence",
"type": "boolean"
}
},
"required": [
"path",
"old",
"new"
]
}
}