Add configurable tool approval mode
Prerequisites
- I searched open issues and this has not already been proposed.
- I searched discussions and this is not already being debated there.
- This is a concrete, actionable proposal — not a vague "it would be nice if..." request.
Area
Chat / Agent
Problem or Motivation
Odysseus currently has tool approval behaviour that is effectively controlled by the existing environment variable ODYSSEUS_AUTO_APPROVE_TOOLS, while administrators do not have a clear setting in the UI to choose the desired approval behaviour.
This makes it difficult to switch between a normal approval workflow and automatic tool execution without changing the deployment environment and restarting the application. For self-hosted deployments, an administrator may want to keep approval prompts enabled by default, but temporarily or permanently allow enabled agent tools to run without prompting.
A configurable setting would make this behaviour accessible from the existing Agent Tools settings while preserving the current environment-variable override for deployments that rely on it.
Proposed Solution
Proposed Solution Add an admin-configurable Tool approval setting under Settings → Agent Tools with two options:
Always ask— preserve the existing approval behaviour and prompt before tool execution.Auto-approve tools— skip the tool approval prompt for enabled agent tools.
The setting should be persisted through the existing settings API and default to Always ask.
Proposed persisted value:
{
"tool_approval_mode": "ask"
}
Supported values:
ask
auto
The existing environment variable should remain supported:
ODYSSEUS_AUTO_APPROVE_TOOLS=true
When the environment variable is enabled, it continues to act as an explicit deployment-level override and forces auto-approval regardless of the UI setting.
The change should only bypass the approval prompt; existing tool/security validation should remain active.
### Alternatives Considered
```md
1. Continue using only `ODYSSEUS_AUTO_APPROVE_TOOLS`
This works for self-hosted deployments but requires editing the deployment environment and restarting the application. It also provides no visible indication of the current approval mode in the UI.
2. Add a separate toggle instead of a two-state setting
A toggle would be simpler, but explicit `Always ask` / `Auto-approve tools` labels make the security behaviour clearer and avoid ambiguity.
3. Remove the existing environment variable and replace it with the UI setting
This would break existing self-hosted configurations. Keeping the environment variable preserves backwards c
### Alternatives Considered
_No response_
### Prior Art / Related Issues
No directly related issue was found. This proposal extends the existing `ODYSSEUS_AUTO_APPROVE_TOOLS` deployment behaviour with an administrator-facing setting in the Agent Tools UI.
### Are you willing to implement this?
Yes — I can open a PRSource: odysseus-dev/odysseus