Description
When an agent is declared in opencode.json with permission rules (e.g., "edit": "ask"), the runtime does not actually enforce them. The model/agent proceeds to execute the tool without asking for confirmation.
Plugins
No response
OpenCode version
1.17.8
Steps to reproduce
-
Configure an agent with restricted permissions:
"deepseek": {
"mode": "primary",
"model": "deepseek/deepseek-chat",
"permission": {
"edit": "ask"
}
}
-
Select the deepseek agent.
-
Ask it to edit a file - it edits without prompting.Expected behavior: Before performing an edit, bash, grep, etc., the runtime should check the agent's permission block and prompt the user if the value is "ask".
Actual behavior: Permissions are declared but never evaluated. The agent executes tools freely regardless of the permission settings
Screenshot and/or share link
No response
Operating System
Ubuntu 26.04
Terminal
VS Code
Description
When an agent is declared in opencode.json with permission rules (e.g., "edit": "ask"), the runtime does not actually enforce them. The model/agent proceeds to execute the tool without asking for confirmation.
Plugins
No response
OpenCode version
1.17.8
Steps to reproduce
Configure an agent with restricted permissions:
"deepseek": {
"mode": "primary",
"model": "deepseek/deepseek-chat",
"permission": {
"edit": "ask"
}
}
Select the deepseek agent.
Ask it to edit a file - it edits without prompting.Expected behavior: Before performing an edit, bash, grep, etc., the runtime should check the agent's permission block and prompt the user if the value is "ask".
Actual behavior: Permissions are declared but never evaluated. The agent executes tools freely regardless of the permission settings
Screenshot and/or share link
No response
Operating System
Ubuntu 26.04
Terminal
VS Code