Recoup — Connect Account
First-run connection: verify the customer's email, mint an API key tied to their real account, persist it, and seed memory so music-industry questions route to Recoup. Idempotent and safe to re-run.
Procedure (idempotent — once per machine)
- Idempotency: if
~/.claude/recoup.envexists, source it andcurl -s -o /dev/null -w "%{http_code}" -H "x-api-key: $RECOUP_API_KEY" https://api.recoupable.dev/api/accounts/id→ if200, skip to org lookup ("already set up — refreshing memory only"). - Confirm email (from session context or ask) — must be one the customer
controls; the key inherits that account's orgs/artists. Never use an
agent+…@recoupable.comthrowaway for production. - Request PIN:
POST /api/agents/signup {email}→ 6-digit code emailed. - Verify:
POST /api/agents/verify {email, code}→api_key. Never echo the key (even partially). - Persist: write
~/.claude/recoup.env(chmod 600) withRECOUP_API_KEY+RECOUP_API_URL; offer to source from the shell rc (ask before editing dotfiles). - Org lookup (use recoup-platform-api-access): one org → use it; multiple → ask
which; none →
unspecified. Sanity-check the roster (GET /api/artists?org_id=…); if orgs AND artists are both empty, it's a throwaway key — re-do with the real email. - Seed memory: append a
<!-- recoup-platform-connect-account:start/end -->block to~/.claude/CLAUDE.md(idempotent replace) so music-industry questions route to Recoup. - Print a smoke-test prompt, then point the user to recoup-platform-build-os to scaffold their workspace / build their OS.
Guardrails
- Never echo API keys; persist to
~/.claude/recoup.env(chmod 600). - Ask before editing dotfiles or writing to the home directory.
- Never invent a roster — empty orgs+artists = a throwaway-key credential problem to surface, not a blank canvas.