Persistent permission rules only save when the dialog itself built the option; untrusted text hides them entirely.
What's wrong with this entry?
Bash prefix and exact, Chrome host, Skill exact and prefix, plan-mode keep-context and MCP elicitation prompts now refuse to persist a permission rule unless the option came from the dialog's own constructor, falling back to a one-time allow that writes nothing. Untrusted text that cannot be displayed safely suppresses the persistent options outright. This applies to everyone on this build.
- Options are produced by a constructor guarded by a private token; combining or applying rows checks that provenance first.
- MCP server and tool names, elicitation URLs, commands, skill and cell names and question labels are rendered through a sanitizer that can mark a value withheld, showing "approval withheld; one-time options only".
- When a value is withheld, the URL elicitation dialog also starts on "decline" and refuses to open the URL.
combineRows accepts only constructor-produced ConsentRows
Strings lifted out of the shipped bundle, so the claim above can be checked against them.