execute_prompt: remove dangerously_skip_permissions — move to member-level...
Apra Fleet is an open-source MCP server
Brought to you by:
apralabs
Originally created by: kumaakh
execute_prompt currently exposes dangerously_skip_permissions as a per-dispatch boolean. This creates two risks:
dangerously_skip_permissions from execute_prompt entirely — passing it should be a no-op or error.unattended field to register_member and update_member with two options:unattended: "auto" — member runs with --permission-mode auto; model still exercises judgment on risky operationsunattended: "dangerous" — member runs with --dangerously-skip-permissions; full bypass, no safety netunattended: false (default) — interactive, prompts for approvalPermission mode is a per-member (per-agent) decision made by the user at registration or mid-sprint via update_member — never a per-prompt decision made by an agent at dispatch time.
auto provides a safer default for unattended work; dangerous reserved for cases that truly need full bypass.
Originally posted by: kumaakh
Technical direction: This should be implemented together with issue [#90] (unattended mode via register/update_member) since they are two sides of the same design.
Approach:
dangerously_skip_permissionsfromexecutePromptSchemainsrc/tools/execute-prompt.ts— make passing it a no-op with a deprecation warning in the response, then remove it in the next major version.unattendedfield toAgenttype andregister_member/update_memberschemas (see [#90] for details). Options:false(default, prompts),'auto'(maps to--permission-mode auto),'dangerous'(maps to--dangerously-skip-permissions).src/providers/claude.tsandsrc/providers/gemini.ts, readagent.unattendedat dispatch time to set the appropriate CLI flag.skills/fleet/SKILL.mdand permissions docs to remove any references todangerously_skip_permissionsinexecute_prompt.CLAUDE.mdalready says never usedangerously_skip_permissions=true— this change makes that rule enforceable at the server level.Key files:
src/tools/execute-prompt.ts— remove paramsrc/types.ts— addunattendedto Agentsrc/tools/register-member.ts,src/tools/update-member.ts— schemasrc/providers/claude.ts,src/providers/gemini.ts— dispatch flagRelated
Tickets: #90
Originally posted by: kumaakh
Addressed in PR [#183] (sprint/session-lifecycle-oob-fix → main).
Changes shipped: dangerously_skip_permissions removed from execute_prompt; unattended mode moved to member-level registration.
PR is open for testing — will be merged once testing is complete.
Related
Tickets:
#183Ticket changed by: kumaakh