Browser Inject currently works only on macOS through the Palladin extension. Linux CLI support does not include Inject.
Syntax
palladin [--id <profile>] <command> [options]
palladin <command> --help
--id selects the profile for a call. Set it explicitly in automation. Angle brackets identify values to replace; they are not part of the command.
Setup and diagnostics
| Command | Behavior |
|---|---|
--version |
Running CLI version. |
doctor |
Runtime diagnostics without opening identity. |
init |
Create the default profile if missing. |
pair-agent --host <origin> --setup-descriptor '<descriptor>' |
Browser-approved connection. |
connect --host <origin> |
Alternative connection with a masked API-key prompt. |
status |
Selected Agent registration status. |
pair |
Pair active vaults and pin confirmed signing keys. |
agents list |
List local aliases. |
agents create <name> |
Create a separate identity. |
agents rename <old> <new> |
Rename an alias without moving secrets. |
mcp serve |
MCP server over stdio. |
connect --api-key-stdin accepts a key through standard input. Never put a literal key in shell commands, history, or a conversation. Prefer browser pairing.
Search
palladin --id <profile> search '<query>' --json --page-size 10
The trimmed query needs at least two characters. --cursor continues a previous page; --page-size accepts 1–100. Metadata visibility does not grant secret access.
Use data
| Command | Main options |
|---|---|
get <vault-id> <entry-id> |
--reason, --field or --field-id; returns plaintext. |
exec <vault-id> <entry-id> -- <program> <args> |
--reason, repeatable --env NAME=FIELD; never interpolate secrets into arguments. |
exec <vault-id> <script-entry-id> |
Execute a Script; --parameters-stdin for its parameter object. |
inject <vault-id> <entry-id> |
--provider extension, --target-tab-id, --page-url. |
report-stale <vault-id> <entry-id> |
--code login_rejected, auth_failed, or manual. |
For get, exec, and inject: --wait 2m bounds approval waiting (up to 5 minutes), --no-wait returns immediately, --poll-interval 10s controls polling, and --progress plain|json|none selects progress reporting. Inject rejects CDP, custom field selectors, --no-submit, --fill-only, --field, --field-id, and --verbose. Use the extension provider.
Browser
browser status checks the channel. browser install requires a supported artifact and provider. Tab ID and URL select a target; the runtime and extension independently verify its origin and document.
Pass --target-tab-id and --page-url together, or omit both. Experimental live forms require an explicit target.
Destructive operations
disconnect --purge --confirm removes the selected local identity. purge --confirm removes all local profiles. Neither is a diagnostic step; both require a deliberate user decision. Local identity deletion does not replace revoking organization access.