The Storrito CLI

The storrito command-line tool schedules Instagram Stories, Reels and TikTok posts through the Storrito API, from a terminal or from a coding agent such as Claude Code. Every API procedure is a command, and the output is JSON.

Install

Linux and macOS, no root needed:

curl -fsSL https://storrito.com/install.sh | sh

Windows (PowerShell), no administrator rights needed:

irm https://storrito.com/install.ps1 | iex

The executable lands in ~/.local/bin/storrito, on Windows in %LOCALAPPDATA%\Programs\storrito\storrito.exe. storrito upgrade updates it from the GitHub releases. The executable is the babashka runtime with the CLI's Clojure sources appended, so the code you run is the code you can read.

Sign in

storrito login

Opens the browser: sign in to your Storrito account and confirm the code the terminal shows. The login is stored in ~/.config/storrito/credentials.json (mode 0600) and refreshed automatically. Run it again to add another organization, storrito org list shows them, --org <uuid> picks one for a command.

For CI and agents in the cloud use an API credential (created in the Storrito app under API Credentials) instead, either stored once or via the environment:

storrito login --token <id>:<secret> --org <organization uuid>
STORRITO_TOKEN=<id>:<secret> STORRITO_ORG=<organization uuid> storrito list-instagram-users

Try it out

Five minutes, nothing gets posted: the walkthrough ends with a draft in your gallery.

  1. Install the CLI (see above) and check it runs:
    storrito version
    
  2. Sign in. The terminal shows a code and opens the browser; confirm thecode there. The CLI then prints the organization it is logged in to:
    storrito login
    storrito status
    
  3. Look around. help lists the built-in commands and every APIprocedure, --help explains one of them:
    storrito help
    storrito schedule-instagram-story --help
    storrito list-instagram-users
    
  4. Create a draft from a small HTML file. The <insta-story> markup isthe same one the API takes; the hashtagbecomes a native Instagram sticker. Save this as story.html:
    <insta-story>
      <div style="position:absolute;inset:0;background:linear-gradient(160deg,#1e3a8a,#9333ea);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:40px;padding:300px 40px;color:white;font-family:sans-serif;text-align:center">
        <h1 style="font-size:96px;margin:0">Hello from my terminal</h1>
        <insta-hashtag hashtag="storritocli" design="gray"></insta-hashtag>
      </div>
    </insta-story>
    

Then create the draft and watch its status:

UUID=$(storrito generate-uuid --compact | jq -r .uuid)
storrito create-draft --draftUuid $UUID --name "My first CLI draft" --html @story.html
storrito status-draft --draftUuid $UUID

The status goes from rendering to ready within about a minute and then carries a previewUrl and the editorUrl of the draft, which is now in your gallery.

  1. Upload a local image or video and use its url as the src of the<insta-story> in the next draft:
    storrito upload clip.mp4
    
  2. See how errors look: a misspelled flag exits with code 2 and a hint,a wrong value with code 4 and the API's explanation on stderr:
    storrito status-draft --draftUud x
    storrito status-draft --draftUuid not-a-uuid
    
  3. Connect your coding agent. This installs the Storrito skill, so theagent knows when and how to use the CLI; storrito upgrade keeps theskill current. setup claude writes it for Claude Code(~/.claude/skills/storrito/), setup codex for Codex(~/.agents/skills/storrito/), setup agents for both:
    storrito setup claude
    storrito setup codex
    

Then ask Claude Code for something like "Create a Storrito draft from story.html".

  1. Clean up:
    storrito delete-draft --draftUuid $UUID
    storrito logout
    

To schedule for real, use schedule-instagram-story, schedule-instagram-reel or schedule-tiktok-post with the same HTML, an account from list-instagram-users / list-tiktok-accounts and an optional date.

Use

  • storrito help lists every command, storrito <command> --help its flags. The flags of an API procedure are the properties of its input schema; --json '{...}', --json @params.json or --json - (stdin) pass the whole parameter map instead.
  • A flag value starting with @ is read from that file, e.g. --html @story.html.
  • storrito upload <file> creates a temp-blob and uploads the file in one go; use the returned url inside the story html.
  • --org <uuid> picks one of several logins, --compact prints one-line JSON, storrito upgrade updates the executable.
  • Output is JSON on stdout, pretty-printed in a terminal. Errors are JSON on stderr with the details of the API response, for example the parameter schema on a validation error.

Exit codes: 0 ok, 1 error, 2 usage, 3 not logged in, 4 the API rejected the parameters, 5 rate limited even after retries, 6 network. Requests are retried on 429, 502, 503 and 504 as the API documentation asks.

For coding agents

  • storrito setup claude, storrito setup codex or `storrito setup agents` install a skill for Claude Code and Codex that explains the commands, the JSON output and the exit codes, and sign you in when needed. Other agents: point them at this page, it is also available as markdown at /documentation/cli/index.md.
  • storrito commands prints every command with its description and input schema as JSON, for discovery.
  • The CLI never prompts. Without a login it fails with exit code 3 and a hint; set STORRITO_TOKEN and STORRITO_ORG in the agent's environment for unattended runs.
  • The API reference and the [Story Components](/documentation/api/v1/story-components.md) reference are available as markdown.
  • The daily update hint is printed in a terminal only, never when the output is piped.

Files and environment

WhatWhere
Logins~/.config/storrito/credentials.json, Windows %APPDATA%\storrito\credentials.json
Cached API catalog~/.config/storrito/catalog.json
STORRITO_TOKEN, STORRITO_ORGAn API credential and the organization, instead of a stored login
STORRITO_CONFIG_DIRAnother config directory
STORRITO_NO_UPDATE_CHECKNo daily update hint

Source: github.com/storrito/storrito-cli (MIT). The catalog that the commands are derived from: catalog.json.