Files
LLeMbas-CLI/harness/permission/defaults.json
T
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

90 lines
2.4 KiB
JSON

{
"about": "The rules every session starts from, before the user's own. Keys are permission keys (a tool's access), values an action or a map of pattern → action; for a pattern the last matching rule wins, across patterns the strictest. Permission keys are tool names, except `plan`, which covers plan_write and plan_update together (the former `todo` key is read as `plan`).",
"rules": {
"*": "ask",
"read": {
"*": "allow",
"*.env": "ask",
"*.env.*": "ask",
"*.env.example": "allow"
},
"glob": "allow",
"grep": "allow",
"list": "allow",
"search": "allow",
"recall": "allow",
"show": "allow",
"python": "allow",
"ask_user": "allow",
"plan_submit": "allow",
"task": "allow",
"tasks": "allow",
"decisions": "allow",
"plan": "allow",
"job_list": "allow",
"job_output": "allow",
"job_stop": "allow",
"job_send": "allow",
"report": "allow",
"web_search": "allow",
"memory": "allow",
"session_search": "allow",
"notes": "allow",
"knowledge": "allow",
"skills": "allow",
"skill_manage": "ask",
"settings": {
"*": "ask",
"list": "allow",
"get *": "allow"
},
"web_fetch": {
"*": "allow",
"private:*": "ask"
},
"external_directory": "ask",
"bash": {
"*": "ask",
"git status *": "allow",
"git diff *": "allow",
"git log *": "allow",
"git show *": "allow",
"git branch": "allow",
"git branch --list *": "allow",
"git branch -a": "allow",
"git branch -v": "allow",
"git branch -vv": "allow",
"git branch -av": "allow",
"git rev-parse *": "allow",
"git blame *": "allow",
"ls *": "allow",
"pwd": "allow",
"cat *": "allow",
"head *": "allow",
"tail *": "allow",
"wc *": "allow",
"which *": "allow",
"rg *": "allow",
"grep *": "allow",
"file *": "allow",
"tree *": "allow",
"git diff *--output*": "ask",
"git log *--output*": "ask",
"git show *--output*": "ask",
"git branch --list *-*": "ask",
"rg *--pre*": "ask",
"rg *--hostname-bin*": "ask",
"rg *--search-zip*": "ask",
"tree *-o*": "ask",
"tree *-R*": "ask",
"file *-C*": "ask"
},
"commit": "ask",
"branch": "ask",
"pr": "ask",
"merge": "ask",
"tag": "ask",
"release": "ask"
}
}