Every command
37 commands, fromretasc --help at 1.55.0. Each is described in full below or in retasc <command> --help.
Conventions
- Auth. Commands marked login need a session:
retasc login, a GitHub or Google device flow. Commands marked key resolve the folder’s agent key instead (env,.mcp.jsonmarker, or keystore) and need no login. - Output.
--jsonemits the raw payload on stdout; human notes go to stderr, so pipes stay clean. - Failure. Errors print
✗ CODE: messagewith a hint on its own line, and exit 1. - Secrets are never flags. Anything secret is typed with echo off, or read from an
environment variable. There is no
--token.
Configuration and environment
Session
retasc login
Non-interactive runs use GitHub with no prompt. Google requires the deployment to
carry Google device credentials; where absent, the CLI says so in one line.
retasc logout
retasc whoami
--json emits the raw payload.
retasc doctor
./.mcp.json marker exist, can the MCP launcher actually start,
and is there an illegal global (user-scope) registration. Also names the platform
support status (macOS is the only platform tested end to end). No login needed.
retasc config
Get connected
retasc bind
--setup.
Re-binding to the same org and project is an idempotent success. Replacing a
different binding without a TTY requires
--yes, otherwise exit 1. If setup aborts
after a new org was created, bind names the org and prints the exact resume command.
retasc join
rtscinv_...
code.
retasc init
retasc identity
join asks, on demand and per source tool. Requires login and an
interactive terminal, and refuses without one: linking someone’s history pulls their
authorship and dispatch lane onto your account irreversibly, so there is deliberately
no --yes and no scriptable form.
retasc import
linear, jira, asana,
clickup, shortcut.
Credentials are typed with echo off, or supplied via RETASC_IMPORT_TOKEN (and
sibling RETASC_IMPORT_* variables) for scripted runs. There is no --token flag on
purpose: flags land in shell history and process lists.
Work loop
retasc claim
rtsc-NN/... branch. Needs a resolvable key and a git repo (unless --no-worktree).
The claim is a 30-minute lease; only heartbeat and checkpoint renew it. When your
lane is empty but ready work sits in another lane, the CLI says so and points at
--all-lanes instead of reading as “nothing to do”.
retasc next
claim without a target: takes whatever dispatch hands you. Same flags as claim
except the positional issue.
retasc done
rtsc-NN/ branch you are on, or --id), then reaps its worktree and branch once
merged (tidy --prune --only). You can only close what you hold.
retasc tidy
rtsc-NN/* branch against its issue status and merge state.
Dry-run by default; --prune deletes the done-and-merged ones; --force also clears
orphans (done but unmerged). untracked, active, and main are never touched.
Org management
All of these require login.--json emits the raw payload where noted.
retasc org create
retasc project create
PFX-1, PFX-2.
retasc project rename-prefix
retasc key mint
retasc key list
revoked, auto-minted session keys
fold into a count.
retasc key rotate
retasc key revoke
retasc members invite
retasc join line to send. Default expiry: 7 days.
retasc members list
retasc members revoke
retasc billing
Wiring
retasc mcp install
claude mcp add), or falls back to
writing ./.mcp.json. Takes the key directly, so no login is needed. A user
(global) scope is refused by design: the folder decides the org, never a machine-wide
default.
There is also a hidden retasc mcp proxy, the liveness watchdog your agent harness
spawns; it is not for manual use.
retasc gate install
commit-msg git hook
(local, bypassable) and a GitHub Action (the authoritative CI gate), both enforcing
an issue reference like PFX-42 or [no-issue] in every commit. Prefix defaults to
the bound project’s.
Troubleshooting
fetch failed (UNABLE_TO_GET_ISSUER_CERT_LOCALLY) or (SELF_SIGNED_CERT_IN_CHAIN)
Node cannot verify the TLS certificate, so every request the CLI makes dies before it
leaves the machine. It usually surfaces on retasc login, because that is the first
command that talks to the network. The code in the parentheses tells you which cause
you have.
SELF_SIGNED_CERT_IN_CHAIN — a TLS-inspecting proxy
SELF_SIGNED_CERT_IN_CHAIN — a TLS-inspecting proxy
Corporate proxies (Zscaler and similar) re-sign traffic with a root certificate Node
does not trust. Point Node at your organisation’s CA bundle:Put it in your shell profile so it survives a new terminal.
npm needs the same
bundle, so if npm i -g @retasc/cli also failed, this fixes both.UNABLE_TO_GET_ISSUER_CERT_LOCALLY — a Homebrew Node that lost its CA symlink
UNABLE_TO_GET_ISSUER_CERT_LOCALLY — a Homebrew Node that lost its CA symlink
Homebrew Node reads its CA roots from the OpenSSL keg, and a This is the confusing one:
brew upgrade can leave
/usr/local/etc/openssl@3/cert.pem (or the /opt/homebrew equivalent on Apple
silicon) missing while the real bundle sits fine one directory over. Relink it:curl and npm keep working throughout, because neither
reads the file Node reads. A machine that installs the CLI happily and then cannot
log in is almost always this.See also
MCP tools reference
What your agents can call once the folder is wired.
Changelog
Every published CLI release, newest first.