feat: use claude --auto permissions mode for Team/Enterprise members
Apra Fleet is an open-source MCP server
Brought to you by:
apralabs
Originally created by: kumaakh
Claude Code ships with an --auto flag that enables classifier-based automatic permission approval. This is only available on Team and Enterprise plans — Personal plan members do not have access to it.
compose_permissions is always used to generate and deliver a provider-native permissions config before every dispatch. This works universally but requires the PM to explicitly compose and deliver permissions for each role change.
--auto to the claude CLI invocation instead of delivering a pre-composed permissions filecompose_permissions approach--auto uses a classifier to approve/deny tool calls automatically, reducing the need for explicit permission listsclaude --version, account API, or config inspection--auto when the member is on a Team/Enterprise Claude plancompose_permissions when plan cannot be determined or is Personalskills/fleet/permissions.md
Originally posted by: kumaakh
Technical direction: Add an
unattendedfield toregister_member/update_memberand map it to the Claude--autoflag at dispatch time. This overlaps significantly with issue [#54] (removedangerously_skip_permissionsfromexecute_prompt) — consider implementing both together.Approach:
unattendedenum to theAgenttype insrc/types.ts:'auto' | 'dangerous' | falseregisterMemberSchema(src/tools/register-member.ts) andupdateMemberSchema(src/tools/update-member.ts)src/providers/claude.ts, in the method that builds the CLI invocation: ifagent.unattended === 'auto', append--permission-mode auto(not--auto— verify current Claude Code flag name); if'dangerous', append--dangerously-skip-permissions; otherwise use thecompose_permissionspath as todayunattendedan explicit registration choice by the user insteadKey files:
src/types.ts— addunattendedfield to Agentsrc/tools/register-member.ts,src/tools/update-member.ts— schemasrc/providers/claude.ts— CLI invocationsrc/tools/execute-prompt.ts— removedangerously_skip_permissionsparam (aligns with [#54])skills/fleet/permissions.md— document the new fieldRelated
Tickets:
#54