Use managed auth or your own credentials
For a supported OAuth service, you can use a Managed service instead of creating and storing a provider client pair. Fused holds the application’s client secret; your selected bucket still owns the encrypted user connections. Use the steps below for your own provider application or other authentication schemes.One app, different buckets per service
An SDK or MCP server declares one defaultbucket: at the top level. Any service may override it with its own bucket:, so a single app can route different services’ credentials through different buckets:
bucket: resolves through the app’s top-level default. A local ${bucket.auth...} reference joins services in the same bucket. A managed ${fused.bucket.auth...} reference selects Fused’s broker application. Webhook signing-secret references explicitly name their bucket independently of the app.
Pick a bucket before you write to one
Store a secret
In a terminal, give Fused the service and let it ask which supported authentication method you want to configure. It then prompts for that method’s fields without echoing secret values:;:
--username, --password, --cert, or --key flag, and these are not two separate secrets set in two calls.
secret set is an upsert with no apply step. It takes effect on the next request. Re-running it with a new value is how you rotate a credential — there is no versioning and no grace period, so the old value is simply gone.Flags
secret set
The retained
--interactive flag explicitly requires the normal terminal prompts. Most people should omit it; automation should use both --no-input and --value-stdin so interaction policy and secret transport stay explicit.
--expires-at is advisory only. Listings flag an expired secret; nothing auto-rotates and nothing blocks requests when it passes.
In a terminal, a bare set asks you to select the supported authentication method even when only one is available. With --no-input, a sole method can be selected deterministically; multiple methods require --type, and same-family alternatives also require --auth-name.
secret list
Secret values are never read back — metadata only.
Store a non-secret value
Some providers need a non-secret piece of configuration, like a tenant ID that appears in the host name.value set takes five positional arguments, and only the third comes from a fixed set:
env namespace here is the bucket’s own value store — it does not read an operating-system environment variable.
Inject a bucket value into a request
An SDK or MCP service can pull those values into the outgoing request at dispatch time, so a tenant ID or account prefix never has to be hardcoded per environment. Usually you will not write these by hand —fused-cli init generates them for whichever server-template variables your selected operations declare, leaving you to supply the value.
bucket: override when one is set, otherwise the app’s top-level bucket:. There is no way to name an arbitrary third bucket in a reference, unlike a kind: webhook secret. An ordinary injection value may also mix a tag with surrounding text, such as "Bearer ${bucket.secrets.API_KEY}".
location: server_variable is stricter than the rest. Its value must be a complete ${bucket.env.KEY} or ${bucket.values.KEY} reference — never a literal, never interpolated, never a secret — because host routing has to stay non-secret and reviewable. Plan checks name against the service and operation server templates and rejects an undeclared one.
Which value wins
An omitted
mode canonicalizes to force.
Inspect a bucket
Permissions
Connect a user's account
Static credentials cover one identity. OAuth covers one per end user.