Install
Install script (macOS / Linux)
curl -fsSL https://downloads.stqry.com/stqry-cli/install.sh | sh
The installer puts stqry in /usr/local/bin if it can, or in $XDG_BIN_HOME or ~/.local/bin if not. It adds the install directory to your PATH by editing your shell config. To change this, set STQRY_INSTALL_DIR or STQRY_NO_MODIFY_PATH=1.
Update
If you installed with the install script, update the binary in place:
stqry update
Check whether an update is available without installing it:
stqry update --check
If you installed with pip, update with pip install --upgrade stqry. For pipx, use pipx upgrade stqry. For uv, use uv tool upgrade stqry.
Shell completion
For zsh:
stqry completion zsh > "${fpath[1]}/_stqry"
For other shells, run stqry completion --help.
Quick Start
Set up the current folder with your STQRY API key:
stqry config init --api-key=<API_KEY> --region=us
List collections:
stqry collections list
Create a screen:
stqry screens create --name="Welcome" --type=story
Create a media item from a file:
stqry media create --file=./photo.jpg --type=image --name=photo.jpg
AI Agent Integration
The CLI ships its own context for AI agents. stqry docs reference prints a core reference: setup, the data model, the global flags and an index of per-resource command docs such as stqry docs media. stqry docs workflows prints step-by-step recipes.
Claude Code
Set it up per project or globally:
- Per project: run
stqry config initin the project folder. This writes aCLAUDE.mdthat points Claude atstqry docs referenceandstqry docs workflows. - Globally: run
stqry setup claudeonce. This installs the skill at~/.claude/skills/stqry/SKILL.md. Claude Code then loads it whenever you mention STQRY from any directory.
OpenAI Codex for CLI or Desktop
Set it up per project or globally:
- Per project: run
stqry config initin the project folder. AlongsideCLAUDE.mdit writes anAGENTS.md, the file Codex reads before it starts work. This points Codex atstqry docs referenceandstqry docs workflows. - Globally: run
stqry setup codexonce. This installs the skill at~/.codex/skills/stqry/SKILL.md. Codex loads it at the start of a session whenever you mention STQRY from any directory.
Claude Desktop and Claude Cowork
Install the skill from a zip file:
- Download stqry-skill.zip.
- Add it in the app's skill settings. In Claude Desktop, select Settings, then Customise, then Skills, then Add Skill.
- Restart the app.
The skill's SKILL.md calls stqry docs at runtime, so one stqry-skill.zip stays valid across CLI versions.
Output formats
Commands support several output formats.
The default format is human-readable:
stqry collections list
JSON output wraps results in a { "data": [...], "meta": {...} } envelope:
stqry collections list --json
Quiet mode prints only the raw data payload, with no envelope, which is easy to pipe:
stqry collections list --quiet
The built-in --jq flag filters results without piping to an external jq binary. It always runs against the bare data, the array of rows, so the same expression works with or without --json:
stqry collections list --jq '.[].name'
Add --raw (or -r) to print string outputs as raw text instead of JSON-quoted strings. This mirrors jq -r:
stqry collections get 42 --jq '.title.en' -r
Expressions can be as complex as jq allows:
stqry media list --jq '[.[] | select(.file_size > 500000)]'
External jq is still useful when you need the meta envelope, which the built-in --jq removes:
stqry collections list --json | jq '.meta.pages'
Pagination
Every list command paginates on the server. The default is 30 rows per page and the maximum is 1000. If you do not pass --per-page, you see only the first 30 rows.
Each output mode signals that more pages exist:
- In human mode, a footer like
Showing 30 of 1017 (page 1 of 34) — pass --page / --per-page to see more - In
--jsonmode, themetafield in the envelope:{"page": 1, "per_page": 30, "pages": 34, "count": 1017} - In
--quietor--jqmode, the envelope is stripped from stdout, but awarning: showing N of TOTAL results …line goes to stderr so you can still see it and grep it from scripts
When you need every row, walk pages until you reach meta.pages.
Environment Variables
Run stqry docs environment to see the full list of environment variables.
To keep your API key out of shell history and the process table, read it from stdin or a file instead of passing it inline:
echo "$STQRY_KEY" | stqry config init --api-key @- --region us
Uninstall
The CLI is a single binary. If you installed it with the install script, remove whichever location it's on (e.g. /usr/local/bin/stqry or ~/.local/bin/stqry):
rm "$(command -v stqry)"
If you installed it from PyPI, uninstall with pip (or pipx uninstall stqry / uv tool uninstall stqry):
pip uninstall stqry
Optional leftover files the CLI creates, removable by hand:
- The
PATHentry the install script may have added to your shell config. Look for the block tagged# added by stqry installerand delete it — in~/.zshrc(zsh),~/.bashrcand~/.profile(bash), or remove~/.config/fish/conf.d/stqry.fish(fish). - The global Claude skill from
stqry setup claude:rm -rf ~/.claude/skills/stqry - The global Codex skill from
stqry setup codex:rm -rf ~/.codex/skills/stqry - Per-project files written by
stqry config initin any directory you ran it in:stqry.yaml(orstqry.yml) and the generatedCLAUDE.md/AGENTS.md.