Feature · Settings

Autonomy & approvals

Set what workers may do alone, when they need approval, and the emergency stop.

Last changed

Generated from commit 17ffc49 ·

How it works

Effects

  • Allow: the worker acts on its own.
  • Notify: the worker acts, then tells people.
  • Require approval: a person approves before it runs.
  • Deny: never allowed.

Which policy wins

The most specific scope wins: worker, then role, team and organization. Priority breaks ties within a scope. When a tie remains, deny wins. A call that no policy matches gets the default for its risk tier.

Defaults

Without policies, low-risk actions run, medium-risk actions run and notify, high-risk actions such as merges need approval, and critical actions are refused. The autonomy mode and the Always ask list can hold an action for approval too.

The page

Policies has two tabs: Rules and Simulator. Use the simulator to test which policy applies to a call. Only owners and admins can add, enable or disable a policy.

From the help article Policies, checked against the product on .

What you can do

The operations this feature's screens call. Each one is POST /api/<name>, and the badge says who may call it.

  • listPolicies

    Viewer

    Lists policies.

    Types: ListPoliciesRequest returns ListResponse<PolicyDto>

  • getOrgConfig

    Viewer

    Gets org config.

    Types: GetOrgConfigRequest returns OrgConfigView

  • listRoles

    Viewer

    Lists roles.

    Types: EmptyRequest returns ListResponse<RoleDto>

  • listConnectors

    Viewer

    Lists connectors.

    Types: EmptyRequest returns ListResponse<ConnectorDto>

  • updatePolicy

    AdminNo API tokens

    Updates policy.

    Types: UpdatePolicyRequest returns PolicyDto

  • createPolicy

    AdminNo API tokens

    Creates policy.

    Types: CreatePolicyRequest returns PolicyDto

  • deletePolicy

    AdminNo API tokens

    Deletes policy.

    Types: PolicyIdRequest returns OkResponse

  • simulatePolicy

    Viewer

    Simulates policy.

    Types: SimulatePolicyRequest returns SimulatePolicyResponse

  • setOrgConfig

    Admin

    Sets org config.

    Types: SetOrgConfigRequest returns OrgConfigView

  • getKillSwitch

    Viewer

    Gets the kill switch.

    Types: EmptyRequest returns KillSwitchDto

  • releaseKillSwitch

    AdminNo API tokens

    Releases the kill switch.

    Types: ReleaseKillSwitchRequest returns ReleaseKillSwitchResponse

  • getRunMode

    Viewer

    Gets the run mode.

    Types: GetRunModeRequest returns RunModeDto

  • updateRunMode

    ViewerNo API tokens

    Updates the run mode.

    Types: UpdateRunModeRequest returns RunModeDto

  • engageKillSwitch

    Admin

    An admin's API token may pull the brake, so an alerting hook can; only a signed-in admin releases it.

    Types: EngageKillSwitchRequest returns EngageKillSwitchResponse

  • listMembers

    Viewer

    Lists members.

    Types: EmptyRequest returns ListMembersResponse

Screens

What it records

The feature writes these events to the audit log, the permanent record of what happened.

  • Integration changed
  • Policy changed
  • Action denied
  • Approval expired
  • Approval received
  • Audit chain verified
  • Budget reserved
  • Checkpoint saved
  • Context retrieved
  • Decision made
  • Memory recalled
  • Model called

Generated from code at commit 17ffc49 ·

Turn the numbers into shipped work.

Crewshal runs these choices for you: a persistent AI worker with memory and rules, on your Claude and Codex subscriptions.