syndai
v0.1.1
Published
Connect your Claude and ChatGPT plans to a Syndai workspace with one command. Stores nothing locally; never echoes a token.
Readme
syndai connect
Connect your Claude and ChatGPT plans to a Syndai workspace with one command:
npx -y syndai connect <code>Get <code> from your Syndai portal → Connections → Connect a plan. It is a
single-use code with a 15-minute TTL.
What it does
- Claims the code and shows you where it will connect:
Connect to workspace "Acme" (s••@acme.com)? Phrase: amber-falcon-42 [y/N]— default No, no--yesflag. Confirm the phrase matches what the portal shows, then the portal owner clicks Approve. - Claude: if
claudeis on your PATH, mints a fresh plan token withclaude setup-token(under a PTY, so its full-screen UI works) and verifies it with the official CLI before uploading. Ifclaudeis not installed, it tells you to runclaude setup-tokenyourself and paste thesk-ant-oat01-…value — the paste is hidden. - ChatGPT: if
codexis on your PATH, runscodex logininto a throwawayCODEX_HOME(Syndai keeps its own login lineage — copying your laptop'sauth.jsonwould log one of you out), captures the resultingauth.json, and deletes the temp directory. - Uploads whatever it collected in exactly one call. The portal flips to Connected ✓.
One code connects both providers if both CLIs are present.
It stores nothing, and echoes no token
The tool holds your token only in memory for the single upload. It never writes it to disk, never puts it on the clipboard, and never prints it to your terminal or scrollback. Pasted tokens are read with terminal echo off.
Configuration
SYNDAI_API_URL— override the API base (defaulthttps://api.syndai.ai).
Requirements
- Node.js >= 18 (dependency-free — Node builtins only).
claudeand/orcodexon your PATH for the one-command path; otherwise the Claude paste fallback still works.
Source & provenance
This package is developed in the Syndai monorepo under tools/syndai-connect/
and mirrored to the public repo
solozerolabs/syndai-connect
for the npm provenance publish (owner action O1) — a private monorepo cannot
publish with sigstore provenance. Published as syndai with
publishConfig.provenance.
Development
node --test test/ # pure-helper unit tests (no network, no subprocess)