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>
41 lines
1.2 KiB
JSON
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"
|
|
]
|
|
}
|
|
}
|