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>
This commit is contained in:
HomerandClaude Opus 5.5 committed 2026-10-27 18:52:24 +00:00
1 parent a03d46cf74
commit 253ef4a8a0
50 files changed
+568 -20

No files matched your search

+35
View File
@@ -0,0 +1,35 @@
{
"name": "show",
"scope": "shared",
"sessions": "both",
"risk": "interact",
"exclusive": false,
"block": "tool",
"purpose": "purpose",
"requires": [
"display"
],
"unavailable": "Nothing can be shown now: this session has no screen to show a file on. Give the user the path instead.",
"aliases": {
"cli": [],
"llembas": []
},
"description": "Open a file in the user's viewer, beside the conversation, without them having to look for it: Markdown rendered, code highlighted, plain text as it is, and HTML as a page in a sandboxed frame that cannot reach this app, the user's data or anything the instance does not allow. Use it when the user should see the file itself — a page or a chart you made, a document you wrote — not for files you only read.\n\n- `path` may be absolute or relative to the working directory. The file must exist and be readable in this session: write it first.\n- `line` scrolls a text file to that line.",
"parameters": {
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "File to show"
},
"line": {
"type": "integer",
"minimum": 1,
"description": "Line to scroll to (text files)"
}
},
"required": [
"path"
]
}
}