Skip to contentSkip to Content
CLI reference

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. link needs an exact ID or slug.
  • Confirmations: destructive commands ask first; --yes (-y) skips the question. artor rm --permanent is 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 from artor share list (the first four characters are enough if they’re unique).

Version & update checks

CommandDescription
--version / -VShow the installed CLI version.
updateUpdate the CLI and your installed Artor skill.
update --off / update --onTurn automatic CLI and skill updates off or on. They’re on by default.
installChoose which Artor agent integration to install.
install-claude-pluginInstall or update the Claude Code plugin.
install-skills / install-skillInstall 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

CommandDescription
loginSign 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 membersList 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

CommandDescription
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 v3

Shows 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.

CommandDescription
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 lsList 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.

artor share add --password # asks for it, hidden, twice artor share set <share> --password # change it artor share set <share> --remove-password # remove it

Passwords 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.

CommandDescription
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 requiredRename a shared Space.
space read <space> on|off Admin access requiredLet 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 requiredDelete 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 requiredAdd a member or change their role.
space members <space> rm <email> Admin access requiredRemove 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.

CommandDescription
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 requiredTrash 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.

CommandDescription
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 pullDownload 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.

CommandDescription
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 pullDownload the project’s datasets to ./mocks/.
mock status [--json]Compare local and saved datasets.
mock promote <name> [--ref <r>] Admin access requiredMake a version’s dataset an organization default.

Org skills

Share instructions with your team’s AI tools. See Org skills.

CommandDescription
skill add <gh-url> [--name X] [--ref <r>] [--credential <t>] [--enforced] Admin access requiredAdd shared instructions from GitHub. --enforced makes them mandatory.
skill list [--json]List organization skills.
skill enforce <name> [--off] Admin access requiredMake a skill mandatory, or optional again.
skill pin <name> [--yes] Admin access requiredUpdate a skill to its latest version.
skill rm <name> [--yes] Admin access requiredRemove 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

CommandDescription
template push --name X [--slug y] [--desc z] Admin access requiredSave the current folder as an organization template.
template listList organization templates.

Start from a template with artor init --template <slug>. See Starter templates.

Usage

CommandDescription
usage [--org <ref>] [--json] Admin access requiredShow 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.

CommandDescription
registry add <@scope> --type azure|npmjs [--uplink <url>] [--token <t>] [--name <label>] [--expires <date>] Admin access requiredConnect 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 loginSet up your machine to install those packages.
registry rm <@scope> Admin access requiredRemove 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).

FlagRemoves
(none)Asks what to remove; the link is pre-selected.
--link-onlyThe link to the prototype.
--skillsThe synced organization skills, and the link.
--npmrcArtor’s private-registry setup, and the link.
--allAll 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 them

Organization context

When you belong to more than one organization, a command picks one in this order:

  1. --org <ref>, if you pass it.
  2. The organization the folder is linked to.
  3. 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 login and sign in with your password, then choose Cancel deletion & sign in. See Changed your mind?.
  • “Token invalid or revoked.” Run artor login again.