set_permission_mode
Change an agent wallet's session permission mode (non-custodial control plane).
Ports Claude Code's plan/acceptEdits/bypassPermissions ladder to a wallet with signing power. mode: observe (deny every value-bearing tool outright, PERMISSION_MODE_BLOCKED) | propose (value-bearing tools return a PROPOSAL envelope -- proposal_id + params + summary -- instead of executing; approve within the TTL via approve_proposal) | auto_within_policy (execute immediately, still capped by every configured WalletPolicy -- the pre-R9 default). The transition is logged as an AgentTransaction audit row.
Scope: the ladder gates ACTIONS that build, sign or move value -- including set_perp_tpsl, which is an on-chain action despite its name. It does NOT gate configuration writes: set_wallet_policy, set_agnta_grant, set_alert, set_liquidation_alert, set_ooda_consent, set_portfolio_charter and this tool are allowed in every mode, observe included -- which is how a wallet leaves observe.
Lane 2 loosening gate: on a Lane 2 wallet, a change that LOOSENS the ladder (observe -> propose/auto, propose -> auto) raises BROWSER_CONFIRMATION_REQUIRED -- call request_permission_mode_change instead and have the owner approve it in their browser. Tightening applies directly for every wallet; non-Lane-2 wallets are unchanged.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | ||
| caller_id | No | ||
| wallet_address | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||