Skip to main content
← Back to list
01Issue
BugShippedSwamp CLIPublic
Assigneesskunk-ape

Relationships

#2422 worker token create via serve always needs --vault: reserved _token-secrets makes the sole-vault default ambiguous

Opened by stack72 · 9/23/2026· Shipped 9/25/2026

Summary

On a swamp serve that has any user vault configured, swamp worker token create <name> --duration <d> --server <url> fails without --vault:

Server reported worker_token_create_failed: Multiple vaults are configured (default, _token-secrets). Pass --vault <name> to choose one.

Serve always registers the reserved _token-secrets control-plane vault as a global provider. So on any serve with even one user vault, resolveVaultName in src/libswamp/worker/token_create.ts never finds a sole vault, and the documented one-liner (swamp worker token create ci-runner-3 --duration 1h, design/enablers/remote-execution.md) always needs --vault _token-secrets. src/libswamp/access/token_create.ts has the same sole-vault rule.

Reproduction

Tested on 20260923.142649.0-sha.379bb5f0.

  1. swamp init --tool none, swamp datastore setup filesystem --path ../ds, swamp vault create local_encryption default, swamp datastore config migrate
  2. swamp serve --port 19403
  3. swamp worker token create w1 --duration 1h --server ws://127.0.0.1:19403 fails as above.
  4. Adding --vault _token-secrets succeeds, and the worker enrolls and runs dispatched steps.

Expected

When running through serve, token plaintext belongs in the control-plane _token-secrets vault. It should be chosen automatically (or reserved _-prefixed vaults excluded from the ambiguity check and preferred), so the documented command works without --vault.

Found while live-verifying swamp-club#2403 (PR #2578); not caused by that change.

02Bog Flow
✓OPEN✓TRIAGED✓IN PROGRESS✓SHIPPED+ 1 MOREASSIGNED+ 5 MOREREVIEW+ 13 MOREPR_MERGED+ 2 MORESESSION_SUMMARIZED

Shipped

9/25/2026, 4:28:44 PM

Click a lifecycle step above to view its details.

03Sludge Pulse
skunk-ape assigned skunk-ape9/25/2026, 2:59:38 PM

Sign in to post a ripple.