Skip to main content

CLI Reference

Full command surface for elven. Run elven <command> --help for inline help on any command.

Global flags

FlagEffect
-p, --profile <name>Override the active profile for one command.
--jsonForce JSON output. Auto-on when stdout isn't a TTY.
-V, --versionPrint version.
--helpPrint help (elven <cmd> --help for command-specific).

Exit codes

Stable across versions — CI scripts can branch on these. See Exit Codes for full details.

CodeClassMeaning
0OKSuccess.
60AUTHNot signed in / token expired / token revoked.
70APIServer returned 4xx/5xx with a body.
80USAGEBad input (missing required flag, malformed value).
90NETWORKCould not reach the server.
1UNKNOWNAnything 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.