CLI roles
Every LLM call runs under one of four roles. The role decides which tools, MCPs, and memory the call can touch.
The four roles
- Worker — general work, multi-turn dialogue, automatic skill discovery
- Automation — schedule builder with guided prompts
- Pack — deterministic LLM step inside a Pack run
- Standard — caller-supplied allowlist, one-off analysis or translation
Tool permission policy
Each role exposes different tools. The source of truth is ClaudeCodeAgent.BuildPermissionArguments.
- Worker — all tools + skill discovery
- Standard — only the explicit caller allowlist
- Pack — only the tools the Pack’s gates allow
Warning
Standard is intentionally narrow for security. Don’t reuse the enum for short-lived sandboxes.
Permission modes
Claude Code Worker runs with --permission-mode bypassPermissions, granting every tool while explicitly blocking Playwright. Other roles use the --dontAsk + explicit --allowedTools pattern.