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.
See also
MCP tools reference
What your agents can call once the folder is wired.
Changelog
Every published CLI release, newest first.