No flags, no lookups
Every option is a prompt — pick your org from a list, select your definition files from the workspace, choose settings with a checkbox. You never need to remember a flag name or look up a file path.
Provision users, audit field and object access, freeze/unfreeze accounts, snapshot and restore assignments — without looking up a single flag.
Warden is a focused tool for Salesforce user lifecycle administration. Provision users in bulk from persona definitions, diff a user's current assignments against what they should have, and audit who can see a given field or object. Snapshot a user's state before you change it, strip access with a guided dry-run/apply flow, and freeze or unfreeze accounts — all without logging in to your org.
Every option is a prompt — pick your org from a list, select your definition files from the workspace, choose settings with a checkbox. You never need to remember a flag name or look up a file path.
All commands are one click away in the Warden sidebar, organized by workflow. Or reach them from the Command Palette without breaking your keyboard flow. No terminal tab-switching, no documentation hunting.
Strip is the one command that removes access. Running it always dry-runs first and streams the preview to the output channel — only an explicit "Apply" confirmation triggers the real change. Cancel any command mid-flight, any time.
Search "Warden" in the VS Code Extensions view, or install directly from the Marketplace.
Open in Marketplace →sf plugins install \
@syntax-syllogism/warden
Requires the Salesforce CLI (sf). The extension detects the plugin on first run and offers an install action if it's missing.
Open the Warden sidebar or launch the Command Palette (SF Warden: …), pick a command, and follow the prompts.
Set a default org with the warden.defaultTargetOrg setting to skip the org picker.
The extension is a guided front end for the @syntax-syllogism/warden sf plugin. Prefer the terminal or running in CI? The same workflows are a direct sf command away.
# audit who can see a field, and how
$ sf warden access --target-org myOrg --type field \
--target Account.CustomField__c
# provision users from persona definitions
$ sf warden provision --target-org myOrg \
--users-def ./users.json --personas-def ./personas.json