Skip to main content
Authsome interacts with environment variables in three roles: inputs that change CLI behavior, outputs produced by export, and injected variables set inside processes spawned by run.

Inputs authsome reads

Agent identity from a single key

For headless, CI, and container deployments, supply only the private key:
On startup the CLI derives the DID from the key and asks the identity server for the handle bound to that DID. If the DID is not yet registered, a handle is generated and registered automatically, then the standard browser claim flow runs.
Migration: the previous setup required both AUTHSOME_IDENTITY (handle) and AUTHSOME_IDENTITY_PRIVATE_KEY. The key alone is now sufficient. AUTHSOME_IDENTITY is still honored as an explicit handle override but is deprecated and no longer required. Resolving the handle requires the daemon to be reachable at CLI startup.

AUTHSOME_BASE_URL for remote daemons

For remote daemon deployments:
  • set AUTHSOME_BASE_URL to the full daemon URL on client machines
  • set AUTHSOME_BASE_URL to the public-facing URL on the daemon host when behind a reverse proxy
  • when AUTHSOME_BASE_URL points at a non-local host, the CLI will not attempt to manage daemon state
Example:
When running the daemon locally, you typically do not need to set AUTHSOME_BASE_URL.

Provider-specific input variables

Some bundled provider definitions declare api_key.env_var so the API-key flow can pick up an existing key without prompting: If the variable is set and non-empty, authsome login <provider> uses its value with no prompt. If unset, the secure browser bridge takes over. The OAuth2 client config block can declare client.client_id_env and client.client_secret_env for similar automated collection. Bundled providers do not currently declare these, they rely on the browser bridge, but custom provider definitions can.

Variables injected by authsome run

When you use authsome run -- <cmd>, authsome sets several variables inside the child process.

Always set

Per-provider placeholders

For every provider with a connected default connection, authsome sets a placeholder under the provider’s export.env key so SDKs initialize successfully without seeing the real secret: The real secret is added to outbound requests at the proxy layer, never in the environment.

Logging variables

Worked example

A typical agent run that pulls credentials from authsome:
The agent reads OPENAI_API_KEY and GITHUB_ACCESS_TOKEN as it normally would. They are placeholders. The proxy injects the real values into outbound requests to api.openai.com and api.github.com. If the agent needs to run a tool that doesn’t honor HTTP_PROXY, fall back to export:

What’s next

CLI reference

Every command and flag.

Proxy injection

The full proxy routing contract.