Permissions
OMNI uses layered permission controls to keep agent execution safe while preserving speed.Overview
Permission is evaluated across:- Session permission mode (
safe,ask,allow-all) - Tool preset (
skillsvsfull) - Source-specific restrictions
- Runtime approval flow for sensitive actions
Permission Modes
| Product label | API value | Behavior |
|---|---|---|
| Explore | safe | Read-only and low-risk tools |
| Ask to Edit | ask | Mutating and dangerous calls require confirmation |
| Execute | allow-all | Full execution (for trusted contexts) |
Tool Preset Gating
OMNI enforces preset rules in two places:- Schema exposure (model cannot see blocked tools)
- Execution-time enforcement (blocked calls never run)
skills: product-safe tools (omni_api_*,python_run,submit_plan, etc.)full: advanced developer surface (limited access)
Source Permission Scoping
For connected sources, OMNI can apply source-level controls:allowedToolsblockedToolsrequireApproval
safe mode remains the strictest guardrail even when source config is permissive.
Approval Flow
Inask mode, sensitive calls use an async approval pipeline:
- Tool call requests confirmation
- Backend emits
permission-request - User approves/rejects
- Backend resumes or skips execution
Best Practices
- Default to
safefor broad market/news analysis - Use
askfor mixed analysis + light mutation workflows - Use
allow-allonly in bounded, trusted sessions - Keep source rules narrower than global mode where possible