Browse Source

docs: document permissions (#1638)

Aiden Cline 6 months ago
parent
commit
6beba2c04f

+ 3 - 0
packages/opencode/src/tool/registry.ts

@@ -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

+ 16 - 1
packages/web/src/content/docs/docs/permissions.mdx

@@ -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"