Skip to main content
The superx CLI is a thin client for the SuperX API: every command maps to a /v1 endpoint and prints clean JSON. It doubles as the tool the superx-agent skill teaches AI agents to use.

Install

Requires Node.js 18 or newer. The package is superx-cli; the installed binary is superx.

Log in

Create an API key in the SuperX app at app.superx.so/account?tab=api, then:
This prints the key page URL, prompts you to paste the key, validates it against the API, and saves it to ~/.superx/credentials.json (file mode 0600). Use superx login --key "sxk_..." for a non-interactive login, superx status to verify, and superx logout to remove the stored key.

Authentication for CI and agents

Set an environment variable instead of logging in:
The credentials file takes priority over the environment variable when both exist. To point the CLI at a different API host, set SUPERX_API_URL to a full base URL including the path (default: https://api.superx.so/v1).

Commands

Flags mirror the API’s query parameters: --account, --limit, --page, --since/--until, --sort, --type, --status, --from/--to. Run any command with --help for its full flag list and examples. Note that drafts have no scheduled time, so --from/--to filters on scheduled:list exclude drafts; use --status draft to list them. To post an image: superx media:upload ./chart.png prints an object_key, then superx scheduled:create --text "..." --media "<object_key>" --alt-text "..." attaches it (comma-list up to 4 image keys, or exactly 1 GIF). For threads with media, pass the full parts array as JSON via --parts-json. Images are capped at 5MB (GIF 15MB) and 100 uploads per day. Advanced settings on scheduled:create: flags you omit inherit your Default Post Settings from the SuperX app. Exactly five settings inherit this way (auto retweet, auto delete, auto plug, auto DM, Super Followers only); other composer defaults such as Bluesky cross-posting or share-with-followers are never applied to API posts. --auto-retweet <hours> (1-12, plus --auto-retweet-remove <hours>), --auto-delete <hours> (1-12, plus --auto-delete-threshold <views>, default 1000), --auto-plug <templateId> with --auto-plug-threshold <likes> (template ids from plug-templates:list), and --super-followers set explicit values; the --no-* forms (--no-auto-retweet, --no-auto-delete, --no-auto-plug, --no-super-followers) turn a setting off for that post. On scheduled:update there is no inheritance: flags you pass override, omitted flags keep the post’s current settings, and --no-* removes them. Auto DM always follows your app defaults; if a plan limit strips it at create time, the response carries auto_dm_skipped: true. Article bodies are markdown in both directions: headings, lists, blockquotes, bold/italic/strikethrough, links, images by URL, and bare X post URLs as embeds. Constructs the X Articles format cannot express (code blocks, horizontal rules) degrade to plain text and are reported in a warnings array. Context settings (context:get / context:set) are the background SuperX’s AI uses when writing for the account: the profile description grounds the voice, --interests drive content suggestions, --rules are mandatory instructions on every AI surface, --reply-rules and --reply-author-name steer generated replies, --favorite-creators (max 3) inspire the style, and --style-audience/--style-vocabulary outrank the app’s generated style guide until cleared with "". Boolean flags support --no-* negation. Caps: 500 characters for the profile description, rules, and reply rules; 600 for the style audience; 1000 for the style vocabulary; 30 interests; 3 creators; 5 products.

JSON output

stdout is clean JSON for every command except superx docs (markdown), so output pipes straight into jq:
Human and status messages go to stderr. Exit code is 0 on success, 1 on error.

Agent skill

The superx-agent repo packages the CLI as a skill for Claude Code and compatible agent tools:
The skill teaches the agent the full workflow (check auth, read analytics and contacts, create drafts, verify) and ships with PLAYBOOK.md, a distilled SuperX growth strategy the agent follows when deciding what and when to post.