prepare_pakt_disable
Create a browser approval request that permanently disables one active root.
| Field | Meaning |
|---|---|
| Side effects | Creates a six-hour disable challenge. Disable occurs after Pakt signer approval in the browser. |
| Next step | The owner approves in the browser, then the client confirms the result with list_pakts. |
Arguments
| Argument | Type | Required |
|---|---|---|
pakt_root | string | yes |
Exact bounds, accepted values, and nested fields are in Full JSON Schema below.
Example
selectedPakt is the exact lifecycle record the user chose to disable. This call stages a separate browser approval; it does not disable anything itself.
With an authenticated MCP client:
await client.callTool({
name: "prepare_pakt_disable",
arguments: { pakt_root: selectedPakt.pakt_root },
});Returns
Important fields in the decoded result; this is not a complete response schema.
| Field | Meaning |
|---|---|
status | BROWSER_WALLET_DISABLE_REQUIRED. |
dashboard_url | The owner reviews and approves permanent disable here. |
pakt_root / expires_at | The selected root and six-hour challenge deadline in Unix seconds. |
For error handling and retry rules, see Statuses and Errors.
Stage terminal disable of one exact account-owned Pakt for browser review. This creates a random six-hour EIP-712 challenge bound to the authenticated account, deployment environment, root, current Pakt signer, and the distinct disable operation. It does not disable the Pakt or accept key/signature material from the agent.
From tools/list, MCP protocol revision 2026-07-28.
{
"additionalProperties": false,
"properties": {
"pakt_root": {
"description": "The exact active Pakt root to disable.",
"maxLength": 64,
"minLength": 64,
"pattern": "^[0-9a-f]{64}$",
"type": "string"
}
},
"required": [
"pakt_root"
],
"type": "object"
}