docs: document permissions (#1638)

This commit is contained in:
Aiden Cline
2025-08-06 05:18:08 -05:00
committed by GitHub
parent b8a0ecca98
commit 6beba2c04f
2 changed files with 19 additions and 1 deletions

View File

@@ -75,6 +75,9 @@ export namespace ToolRegistry {
result["patch"] = false result["patch"] = false
result["write"] = false result["write"] = false
} }
if (cfg?.permission?.bash === "deny") {
result["bash"] = false
}
if (modelID.toLowerCase().includes("claude")) { if (modelID.toLowerCase().includes("claude")) {
result["patch"] = false result["patch"] = false

View File

@@ -21,6 +21,7 @@ Use the `permission.edit` key to control whether file editing operations require
- `"ask"` - Prompt for approval before editing files - `"ask"` - Prompt for approval before editing files
- `"allow"` - Allow all file editing operations without approval - `"allow"` - Allow all file editing operations without approval
- `"deny"` - Make all file editing tools disabled and unavailable
```json title="opencode.json" {4} ```json title="opencode.json" {4}
{ {
@@ -41,7 +42,8 @@ Controls whether bash commands require user approval.
You can specify which commands you want to have run without approval. You can specify which commands you want to have run without approval.
::: :::
This can be configured globally or with specific patterns. Setting this to `"ask"` is the strictest mode, requiring approval for all bash commands. This can be configured globally or with specific patterns. Setting this to `"ask"`, requiring approval for all bash commands.
Setting this to `"deny"` is the strictest option, blocking LLM from running that command or command pattern.
For example. For example.
@@ -56,6 +58,19 @@ For example.
} }
``` ```
- **Disable all Terraform commands**
```json title="opencode.json"
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"bash": {
"terraform *": "deny"
}
}
}
```
- **Approve specific commands** - **Approve specific commands**
```json title="opencode.json" ```json title="opencode.json"