CLI reference
Use the artor CLI to publish prototypes, read feedback, and manage your team’s shared setup.
Run commands from your prototype’s folder. If you haven’t installed it yet, follow
Installing the CLI.
Commands marked with the lock icon require an owner/admin role, or a Space admin where specified. Skills and templates use the organization’s manager setting, which defaults to admins. Project changes may also require a publisher seat and Space access.
If you belong to more than one organization or sign in with more than one account, see
Organization context and
Multiple accounts. Running artor from a coding agent or a
script? See Scripting & agents.
Basics
- Help:
artor <command> --help(or-h) shows usage without running anything, even offline. - Names: most commands accept an exact name, an ID, or a unique part of a name. If several
things match, Artor asks you to be more specific.
linkneeds an exact ID or slug. - Confirmations: destructive commands ask first;
--yes(-y) skips the question.artor rm --permanentis the exception: you confirm it by retyping the prototype’s name. - Before it acts, a command prints which organization and account it’s using, for example
-> acme · you@x.com · Client work / Checkout redesign. - Threads and links: refer to a comment thread by its ID or a quoted row number such as
"#3", and to a public link by its ID fromartor share list(the first four characters are enough if they’re unique).
Version & update checks
| Command | Description |
|---|---|
--version / -V | Show the installed CLI version. |
update | Update the CLI and your installed Artor skill. |
update --off / update --on | Turn automatic CLI and skill updates off or on. They’re on by default. |
install | Choose which Artor agent integration to install. |
install-claude-plugin | Install or update the Claude Code plugin. |
install-skills / install-skill | Install the Artor skill in other supported coding tools. |
update-skill [claude-plugin|skills] | Update just the installed skill. |
A global install updates itself after an interactive command. If an update is required to
continue, the CLI updates and retries once; otherwise it asks you to run artor update. See
Keeping the skill up to date.
Auth & project
| Command | Description |
|---|---|
login | Sign in through your browser. Run it again as another account to add that account too. See Multiple accounts. |
logout [--account <email>] [--all] | Sign out: the token stops working and is removed from this machine. If Artor can’t be reached, it’s only removed locally; revoke it under Settings > CLI tokens. See Your token. |
account list [--json] | List the accounts signed in on this machine, and which one this folder uses. |
whoami [--json] | Show the account and organization this folder uses. |
status [--json] | Show this folder’s linked prototype, account and organization, and any setup problems. |
init [--name <n>] [--org <ref>] [--account <email>] [--space <ref>] [--folder <name|id>] [--template <ref>] [--here] [--no-install] [--no-git] [--no-agent-notes] [--json] | Create a prototype and link it to this folder. Artor asks which Space and folder it belongs in; the flags choose directly. --template starts from a team starter template, --here uses the current folder, --no-git skips Git setup, --no-agent-notes skips the review-anchor notes. See Getting started. |
link [<id|slug>] [--org <ref>] [--force] | Link this folder to an existing prototype. --force points it at another prototype in the same organization. |
unlink [--all] [--skills] [--npmrc] [--link-only] | Remove Artor’s local setup from this folder. See Unlinking a folder. |
org list [--json] | List your organizations; a star marks your default. |
org use [<ref>] | Set the organization pre-selected when a new folder asks. |
org members | List the organization’s members and their email addresses. |
project list [--json] / project search <query> [--json] | Browse or search prototypes. |
If you name a folder in init that doesn’t exist, Artor suggests close matches and offers to
create it. It never creates one silently or files the prototype somewhere you didn’t choose.
Publish & view
| Command | Description |
|---|---|
publish / push [--alias <name> | -v <name>] [-m <text>] [--label <text>] [--dir <path>] [--static] [--no-build] [--no-install] [--no-smoke] [--no-sdk-update] [--no-agent-notes] [--list-source] [--mocks=local|server] [--yes] [--json] | Build and publish a new version. latest moves to it; --alias also updates a named link. A review widget listed as "latest" is updated before the build whenever publish builds your project (--no-sdk-update skips it); --json reports the outcome (see Scripting & agents). See Publishing & frameworks for every flag. |
pull [--ref <r>] [--dir <path>] [--project <ref>] [--org <ref>] [--force] | Download a version’s source. --force overwrites local files, so save your work first. Environment and credential files are never included. |
dump [--all-versions] [--out <dir>] | Export the source of every prototype you can access (--all-versions adds history). Limited per plan: Starter gets 2 per 30 days, paid plans 1 per day. |
remix <project> [name] [--ref <r>] [--dir <path>] [--org <ref>] | Start an independent copy of a version in a new, empty folder. See Remix. |
rename [<ref>] "New Name" | Rename a prototype (owner/admin). |
rm [<ref>] [--yes] | Move a prototype to the trash. You can restore it for 30 days. |
rm [<ref>] --permanent [--confirm "<name>"] | Delete a prototype for good, with no way back. Confirm by retyping its name. |
rm [<ref>] --version <n> [--yes] | Permanently delete one version. See Deleting a version. |
restore <ref> | Restore a trashed prototype and all its versions. |
trash [--json] | List trashed prototypes and how long each has left. |
open [--version <n>] [--alias <name>] [--signed-in] [--json] | Open a version in the browser. --signed-in opens it already signed in, for a fresh browser or an agent. See Signed-in links. |
logs [ref] [--json] | Read a version’s output or startup error. See Reading logs. |
comments [--version <ref>] [--open] [--guests-only | --no-guests] [--json] | Read feedback on the latest version (or --version). --open shows only unresolved threads. See Comments. |
comments resolve <thread> / comments reopen <thread> | Mark a thread handled, or reopen it. See Resolving from the CLI. |
comments ignore <thread> / comments unignore <thread> | Leave a thread out of AI work, or include it again. See Excluding a thread from AI. |
Who can delete, restore or rename a prototype is explained in Spaces.
Changelog
Add a short note to each version saying what changed:
artor publish -m "Fixed navigation on mobile"The note appears beside the version in the dashboard, where owners and admins can edit it later. It can hold text and links, up to 2,000 characters. The Artor skill can draft it from your changes; a note you write yourself always wins.
Review-anchor notes for coding agents
Comment pins stay on the right element when the element has a unique data-testid
(why). So your coding agent adds them without being
asked, artor init and artor publish keep a short Review anchors (Artor) section in your
project’s AGENTS.md (or CLAUDE.md). Artor only ever changes that section, never the rest of the
file. It’s written only after a version goes live, so a failed or cancelled publish leaves your
files alone, and a problem writing it never blocks a publish.
To skip it once, use --no-agent-notes. To turn it off for the folder, add
"agentNotes": false to .artor/project.json; an existing section stays until you delete it.
Reading a crashed version’s logs
artor logs latest
artor logs v3Shows a running version’s recent output, or the error a version hit while starting. The same logs are under Details > Logs in the dashboard. Crashes after startup aren’t captured. Saved environment values are hidden from logs, but a value your prototype changed before printing may not be, so check logs before sharing them. See Runtime errors.
Public sharing
Create a link that people without an Artor account can open. See Public sharing.
| Command | Description |
|---|---|
share add [--mode latest|pinned] [--deployment <id>] [--days <n>] [--warn] [--comments off|members|anyone|name|name-email] [--hide-widget] [--password | --password-stdin] | Create a link. latest follows new publishes; pinned stays on one version. Lasts 7 days by default, up to your organization’s limit. --warn emails you about a day before it expires. --comments sets who can comment on the link (its Comments on this link choice). --hide-widget creates it with the review widget off. |
share list [--json] / share ls | List links and copy their URLs, with who can comment on each live one. A link with the review widget hidden shows comments: off (review widget hidden), since nobody can comment on it. |
share set <share> [--comments off|members|anyone|name|name-email] [--password | --password-stdin | --remove-password] | Change who can comment on a live link, or its password. |
share extend <share> [--days <n>] | Extend a live link from today. |
share off <share> | Turn off a link for good. |
Pointing a link at another version is changed from the dashboard.
Link passwords
artor share add --password # asks for it, hidden, twice
artor share set <share> --password # change it
artor share set <share> --remove-password # remove itPasswords are 8 to 128 characters and are always typed at the prompt (or piped in with
--password-stdin), never written on the command line. If your organization requires a password
on every public link, you can’t remove one. See Password protection.
Spaces
A Space decides which organization members can open and work on a group of prototypes. See Spaces for who can do what.
| Command | Description |
|---|---|
space list [--json] | List the Spaces you can see. |
space create <name> | Create a shared Space (Team plan or higher). You become its first admin. |
space rename <space> "<new>" Admin access required | Rename a shared Space. |
space read <space> on|off Admin access required | Let every organization member open and comment on this Space’s prototypes, without changing anything. |
space color <space> [<color>|none] | Set or clear a Space’s color. Leave out the color to pick from swatches. |
space rm <space> [--move-to <folder>] [--yes] Admin access required | Delete a shared Space. It must be empty, or use --move-to to move its prototypes first. |
space members <space> | List a shared Space’s members. |
space members <space> add <email> [--role admin|member] Admin access required | Add a member or change their role. |
space members <space> rm <email> Admin access required | Remove a member. |
Put a Space name with spaces in quotes. Run artor org members to find people’s email addresses.
Folders
Group prototypes into colored folders within a Space. Folders organize; Spaces control access. See Organizing with folders.
| Command | Description |
|---|---|
folder list [--space <name>] [--json] | List folders and how many prototypes each holds. |
folder create [<name>] [--color <c>] [--space <name>] | Create a folder. |
folder rename <name> "<new>" | Rename a folder. |
folder color <name> [<color|none>] | Set or clear a folder’s color. |
folder move [<project>] [<folder>] [--space <name>] | Move a prototype into a folder, optionally in another Space. |
folder rm <name> [--with-content] [--yes] | Delete a folder; its prototypes move to Draft. With --with-content Admin access required they’re trashed instead. |
folder clear <name> [--yes] Admin access required | Trash every prototype in a folder and keep the folder. |
Without --space, folder commands use the Organization Space.
Env vars
Set configuration for the organization, a project, or one version. In a linked folder the default is the project. See Environment variables for who can change what.
| Command | Description |
|---|---|
env set KEY=VALUE [--local] [--scope org|project|version] [--version <ref>] | Set a value. --local lets env pull download it. |
env set KEY --stdin [--local] [scope flags] | Read the value from a pipe, so it stays out of your shell history. |
env list [--scope …] [--version <ref>] [--json] | List names; values are never shown. |
env rm KEY [--scope …] [--version <ref>] | Remove a variable. |
env pull | Download local values to ./.env.local. |
Mock datasets
Add sample data for the organization, a project, or one version. See Mock datasets for who can change what.
| Command | Description |
|---|---|
mock set <name> <file.json> [--scope org|project|version] [--version <ref>] | Upload or replace a dataset (project by default). |
mock list [--scope …] [--version <ref>] [--json] | List datasets. |
mock rm <name> [--scope …] [--version <ref>] | Remove a dataset. |
mock revisions <name> [--scope org] [--json] | Show a dataset’s edit history. |
mock pin <name> <sha> --version <ref> | Point a published version at an earlier revision, without republishing. |
mock pull | Download the project’s datasets to ./mocks/. |
mock status [--json] | Compare local and saved datasets. |
mock promote <name> [--ref <r>] Admin access required | Make a version’s dataset an organization default. |
Org skills
Share instructions with your team’s AI tools. See Org skills.
| Command | Description |
|---|---|
skill add <gh-url> [--name X] [--ref <r>] [--credential <t>] [--enforced] Admin access required | Add shared instructions from GitHub. --enforced makes them mandatory. |
skill list [--json] | List organization skills. |
skill enforce <name> [--off] Admin access required | Make a skill mandatory, or optional again. |
skill pin <name> [--yes] Admin access required | Update a skill to its latest version. |
skill rm <name> [--yes] Admin access required | Remove a skill from the organization. |
skill sync [--force] | Download shared skills. Your local edits are kept unless you use --force; mandatory skills always overwrite them. |
Starter templates
| Command | Description |
|---|---|
template push --name X [--slug y] [--desc z] Admin access required | Save the current folder as an organization template. |
template list | List organization templates. |
Start from a template with artor init --template <slug>. See Starter templates.
Usage
| Command | Description |
|---|---|
usage [--org <ref>] [--json] Admin access required | Show the organization’s plan, storage and link views against its limits, publisher seats, and build size limits. |
The same figures are in Settings > Usage. See Usage.
Private registry
Install your organization’s private packages through Artor. See Private registry.
| Command | Description |
|---|---|
registry add <@scope> --type azure|npmjs [--uplink <url>] [--token <t>] [--name <label>] [--expires <date>] Admin access required | Connect a package scope to a private source. |
registry list [--json] | List connected scopes. With --json, each row adds proxyAvailable (true, false, or null from an older server). |
registry login | Set up your machine to install those packages. |
registry rm <@scope> Admin access required | Remove a scope. |
Unlinking a folder
artor unlink removes Artor’s local setup from a folder. It never deletes your code or the
prototype on Artor (use artor rm for that).
| Flag | Removes |
|---|---|
| (none) | Asks what to remove; the link is pre-selected. |
--link-only | The link to the prototype. |
--skills | The synced organization skills, and the link. |
--npmrc | Artor’s private-registry setup, and the link. |
--all | All three. |
Every run with a flag, and every run outside an interactive terminal, also removes the link.
To remove only the skills or the registry setup and stay linked, run artor unlink with no
flags in a terminal and uncheck the link in the list.
Multiple accounts
You can be signed in with several Artor accounts at once, for example a work and a client
account. Run artor login once per account.
There’s no account to switch: each folder uses the account that belongs to its organization.
If more than one of your accounts could be used, Artor asks once and remembers the answer for that
folder, on your machine only. To choose for a single command, add --account <email>.
artor account list # which accounts are signed in, and which this folder uses
artor logout --account you@acme.com # sign out one account
artor logout --all # sign out all of themOrganization context
When you belong to more than one organization, a command picks one in this order:
--org <ref>, if you pass it.- The organization the folder is linked to.
- Otherwise Artor asks, with your default (
artor org use) pre-selected. If you only have one organization, it just uses that.
A folder stays with its organization: --org naming a different one is refused. To move a
folder, run artor unlink --link-only, then artor link <prototype> --org <ref>.
artor status and artor whoami show which account and organization this folder will use.
Your token
Signing in stores a token on your computer. Treat it like a password. artor logout makes it
stop working and removes it; if Artor can’t be reached at that moment, revoke it yourself under
Settings > CLI tokens. Signing out also ends any artor open --signed-in sessions it started.
When a command says your token no longer works
- “This account is suspended.” Signing in again won’t help. Contact your organization admin or Artor support. Your login works again once the suspension ends.
- “This account is scheduled for deletion…” Run
artor loginand sign in with your password, then choose Cancel deletion & sign in. See Changed your mind?. - “Token invalid or revoked.” Run
artor loginagain.