Compact command map

Orientation only. Local authsia --help remains the option source of truth.

Command Use it for Example
statusApp, bridge, Direct CLI session or IDE pairing, shell, guarded-terminal, and SSH agent stateauthsia status --format json
workspaceRepo setup, refs, guarded runs, sync, resetauthsia workspace run -- npm test
agent initInstall setting-aware agent rules plus supported command-attribution and sub-agent-lineage hooksauthsia agent init --agent codex
mcp configurePrint-only recipe plus a table of that client's current launchesauthsia mcp configure --client codex
mcp startStart the app-owned MCP Manager and open its authenticated portalauthsia mcp start
mcp statusReport manager, registry, portal, and localhost HTTP readinessauthsia mcp status --json
mcp stopStop manager listeners without stopping existing STDIO proxiesauthsia mcp stop
mcp restartRestart manager listeners and invalidate portal sessionsauthsia mcp restart
mcp wrapDeclare and protect one scanned local MCP launch after review; plan redacts env valuesauthsia mcp wrap --write --server jira
mcp declareDeclare a STDIO child command or validated localhost HTTP endpointauthsia mcp declare --server internal --url http://127.0.0.1:9000/mcp --allow search --yes
mcp unwrapPreview and restore a protected launch while retaining workspace policyauthsia mcp unwrap --write --server jira
mcp catalogRecord what a declared local MCP server advertises, so clients list its tools without starting itauthsia mcp catalog --server codegraph --write
mcp serveBind a validated workspaceRoot tool input or safe launch contextauthsia mcp serve --workspace /path/to/repo
mcp proxyAdmit one workspace-declared stdio MCP; secret refs use Agent JITauthsia mcp proxy --upstream jira
mcp doctorDefault table of scanned launches plus a verdict; exit 2 on effective or conditional bypass. JSON v2 includes host, version, MCP Integrations, and audit integrityauthsia mcp doctor --json
mcp activity exportCopy redacted MCP proxy command-history rowsauthsia mcp activity export --json --unowned
guardActivate guarded mode in the current shellauthsia guard
unguardRestart the current tab in normal terminal modeauthsia unguard
execResolve selected items or, with shell integration, shell-local authsia:// refs into one child processAPI_KEY=authsia://…
authsia exec -- npm start
listMetadata-only vault listing; scraped items default to this machineauthsia list api-keys --format table
completionShell scripts and metadata suggestions; automation uses list permissioneval "$(authsia completion zsh)"
readResolve one authsia:// secret referenceauthsia read "authsia://api-key/Stripe/key"
add api-keyStore API keys without a username fieldauthsia add api-key --name Stripe --key -
editUpdate fields, move to a folder, or move any editable vault item to Root with --clear-folderauthsia edit password GitHub --clear-folder
convertMove password-style tokens into API Keysauthsia convert password Stripe --to api-key
sshAdopt, generate, sign, and configure SSH keysauthsia ssh adopt --path ~/.ssh --dry-run
accessManage automation access credentialsauthsia access list --format table
auditLocal access historyauthsia audit list

Shell profile imports resolve on demand

Vault import and authsia scrape replace secret assignments in shell profiles with quoted exports such as export API_KEY='authsia://api-key/API_KEY/key'. Opening an IDE or sourcing the profile only exports the reference; these assignments never fetch secrets or request pairing at startup.

Run authsia exec -- npm start when a command needs the secrets. Authsia resolves the exported references into that command's environment after the required approval or pairing. The parent shell keeps the URIs, and no shell integration is needed for these exported references. Commands launched directly receive the URI strings.

Older imports may have written authsia load ... --silent into a profile. Replace those lines with the corresponding URI exports to defer resolution. Updating Authsia does not automatically rewrite existing profiles.

Credential files resolve on demand

For tools that expect a file path, add ?as=file to a reference. Vault import and authsia scrape store complete credential documents as Password items and use this option when replacing credential-path assignments in shell or env files. Existing Notes can also supply file content.

export GOOGLE_APPLICATION_CREDENTIALS='authsia://password/gcp-service-account/password?as=file'
authsia exec -- python3 app.py

export KUBECONFIG='authsia://note/kubeconfig/content?as=file'
authsia exec -- kubectl get pods

After the required approval, the child receives a private temporary file path. Files have 0600 permissions inside a 0700 directory and are removed when the foreground command exits, including failure or a forwarded signal. If the wrapper is killed without cleanup, the next file-based execution removes abandoned files once both the wrapper and recorded child have exited. Keep background tasks inside the foreground command's lifetime.

The first version supports self-contained kubeconfigs, including a single extensionless ~/.kube/config. External certificate, key, token, and relative authentication-helper paths must be resolved before file delivery; import keeps those source assignments unchanged and explains the issue. Multi-file kubeconfig lists are not rewritten. Original credential documents remain intact.

The same references work in env files and Workspace bindings through authsia workspace run. Combine folder scoping with ?folder=Cloud&as=file. Sourcing the profile only exports the URI. Ordinary references still deliver values, and read and inject still return or insert raw content. MCP environment resolution currently rejects file delivery with guidance to use exec or Workspace. No existing vault items or profiles are automatically converted.