Overview
The permission manager categorizes tools and enforces access control:Read
Safe, read-only operations always allowed by default
Write
File modifications require permission
Execute
Shell commands require explicit approval
Tool Categories
Read Tools (Auto-Approved)
These tools are typically safe and auto-approved:file_readfile_searchcontent_searchdirectory_list
No permission prompts for read operations
Write Tools (Require Permission)
These tools modify files:file_writefile_edit
Execute Tools (Require Permission)
These tools run commands:shellgit
Permission Checks
When a tool is invoked, Loom checks:Existing Grant
Has the user granted permission for this tool in this session?If yes → Allow immediately
Configuration
Auto-Approve List
Set tools to auto-approve in.loom.toml:
Default Configuration
If no config is provided, read tools are auto-approved:Permission Prompts
CLI Prompt
In the terminal, you’ll see:y (yes)
Allow this one operation
n (no)
Deny this operation - Loom will continue without it
a (always)
Grant permission for all invocations of this tool in this session
Web UI Modal
In the browser, a modal dialog appears:Deny
Reject this operation
Allow Once
Approve this single operation
Allow Always
Auto-approve all operations of this tool type for the session
Session Grants
When you choose “Always” or “Allow Always”, a grant is stored:Grant Scope
Grants can be:- Tool-wide (
scope: "*"): Applies to all uses of this tool - Path-specific (
scope: "lib/core/user.ex"): Only for specific file
Currently, grants are tool-wide. Path-specific grants are planned for future releases.
Grant Duration
Grants last for:- Session lifetime: While the session is active
- Not persisted: Grants are cleared when session ends
Auto-Approve Mode
CLI: --yes Flag
Skip all permission prompts:
Web UI: Auto-Approve Session
Once you click “Allow Always” for a tool, it’s auto-approved for the rest of the session. To reset:- Start a new session
- Refresh the page
Permission Manager API
Check Permission
Grant Permission
Check If Auto-Approved
Get Tool Category
Security Best Practices
Permission Workflow Example
Loom Plans
AI decides it needs to:
- Read user_controller.ex (auto-approved ✓)
- Edit user_controller.ex (requires permission)
Handling Denials
When you deny a permission:- Loom receives denial: Tool returns error
- AI adjusts: May:
- Explain what it wanted to do
- Ask for clarification
- Suggest manual steps
- Continue with read-only analysis
Denying permissions doesn’t end the session. Loom will work within the constraints you set.
Database Schema
Permission grants are stored in the database:Custom Permission Policies
You can extend the permission system:Future Enhancements
Planned Features
- Path-specific grants: “Allow file_edit only in lib/core/”
- Time-limited grants: “Auto-approve for 1 hour”
- Audit log: Track all permission requests and grants
- Team policies: Shared permission rules across team
- Dry-run mode: See what Loom would do without executing
Troubleshooting
Too Many Prompts
Solution: Add tools toauto_approve list or use “Always” in prompts.
Accidentally Granted Permission
Solution: Start a new session to reset all grants.Config Not Loading
Solution: Ensure.loom.toml is in project root and formatted correctly:
Next Steps
Tools
Learn about all available tools and their categories
Configuration
Configure Loom’s behavior and policies
CLI
Use permission flags in command-line mode
Web UI
Manage permissions in the visual interface