CLI Reference
Full command surface for elven. Run elven <command> --help for inline help on any command.
Global flags
| Flag | Effect |
|---|---|
-p, --profile <name> | Override the active profile for one command. |
--json | Force JSON output. Auto-on when stdout isn't a TTY. |
-V, --version | Print version. |
--help | Print help (elven <cmd> --help for command-specific). |
Exit codes
Stable across versions — CI scripts can branch on these. See Exit Codes for full details.
| Code | Class | Meaning |
|---|---|---|
| 0 | OK | Success. |
| 60 | AUTH | Not signed in / token expired / token revoked. |
| 70 | API | Server returned 4xx/5xx with a body. |
| 80 | USAGE | Bad input (missing required flag, malformed value). |
| 90 | NETWORK | Could not reach the server. |
| 1 | UNKNOWN | Anything else. |
elven login
Sign in.
elven login # Browser OAuth
elven login --token el_pat_... # Non-interactive PAT
elven login --app-url <url> # Override the OAuth URL (rarely needed)
elven logout
Clear stored credentials for the active profile.
elven logout
elven --profile work logout # Clear "work" specifically
elven whoami
Show the active profile + identity.
elven whoami
elven whoami --json
Listings
elven listing list [--type <type>] [--category <c>] [--search <q>] [--limit <n>] [--offset <n>]
elven listing mine
elven listing show <idOrSlug>
elven listing create --type <t> --name <n> [--description <d>] [--manifest-url <u>]
[--asset-url <u>] [--thumbnail-url <u>] [--price <cents>]
[--category <c>] [--tags <a,b,c>] [--status <s>]
elven listing update <id> [--name <n>] [--description <d>] [--manifest-url <u>]
[--asset-url <u>] [--thumbnail-url <u>] [--price <cents>]
[--category <c>] [--tags <a,b,c>] [--status <s>]
elven listing delete <id>
--type accepts: app | pack | template | glyph | plugin | battlemap | asset | bundle | bot.
--status accepts: draft | active | paused | removed.
elven publish
Build, upload, and sync a companion in one command. Reads .elven.json from the current directory (or -C).
elven publish
elven publish --no-build # Skip the build step
elven publish --no-deploy # Only sync listing metadata; skip file upload
elven publish -C ./my-project # Run against a different dir
See Publishing for the full flow + .elven.json schema.
Posts
elven post new --title <t> [--body <text|@./file.md>] [--slug <s>] [--status <s>] [--visibility <v>]
elven post list [--user <id>]
elven post show <id>
elven post update <id> [--title <t>] [--body <text|@./file.md>] [--status <s>] [--visibility <v>]
elven post delete <id>
--status accepts: draft | published.
--visibility accepts: public | subscribers | tier:<tierId>.
The --body @./post.md form loads the body text from a local file — easier than escaping shell quotes.
Drops
elven drop create --name <n> --open <when> --close <when>
[--description <d>] [--image <url>] [--slug <s>]
[--eligibility <e>] [--listings <id1,id2,...>]
elven drop list [--user <id>]
elven drop show <id>
elven drop update <id> [--name <n>] [--description <d>] [--image <url>]
[--open <when>] [--close <when>] [--eligibility <e>]
[--listings <id1,id2,...>]
elven drop delete <id>
elven drop claim <id>
elven drop feed # Currently-open drops from creators you follow
elven drop claims # Drops you have claimed
<when> accepts: ISO 8601 (2026-06-01T00:00:00Z or 2026-06-01), relative (+30d, +12h, +90m), or epoch ms.
--eligibility accepts: all-followers | subscribers | tier:<tierId>.
Followers
elven follower count <userId> # Public follower count for any user
elven follower following # Creators you follow
elven follower follow <slug> # Follow by slug
elven follower unfollow <id> # Unfollow by id
Analytics
elven analytics overview # Followers + subscribers + drops + activity (one round-trip)
elven analytics sales # Sales totals + per-listing rollup + recent purchases
Seller (Stripe Connect onboarding)
For creators who want to sell paid listings.
elven seller status # Are you onboarded? Charges enabled?
elven seller onboard # Get a Stripe-hosted onboarding URL
elven seller dashboard # Stripe Express Dashboard login URL
Tokens (personal access tokens)
elven tokens create --label <text> [--scopes <s1,s2,...>] [--expires-in-days <n>]
elven tokens list # Your PATs (no plaintext)
elven tokens revoke <id>
The plaintext token is shown ONCE on create — save it then. Lost = revoke + regenerate.
Profiles
elven profile list # All stored profiles
elven profile use <name> # Switch the default profile
See Profiles for multi-account usage.