Install and sign in
The download page shows release availability and verified installation instructions. Public downloads are still in preparation. Once installed, start with:
scrip login
scrip init
scrip whoami
scrip captableLogin prints a code and opens the sign-in page in an interactive terminal. Use scrip login --no-open to open it yourself. Sign in with your Scrip passkey; you do not need a separate model-provider account.
Update the CLI
scrip --version
scrip upgrade --check
scrip upgradeChecking reads release metadata without installing or signing in. Updating installs only a newer published release; updates never run automatically. Native installations verify the downloaded executable before replacement. Global npm installations update through npm. Use the owning package manager for other installations. Add --json to either upgrade command for structured output.
Choose the company
scrip use acme
scrip init --company <company-id>
scrip init --name "Acme, Inc." --slug acmeinit without arguments selects your account’s default and lists accessible companies. Creation starts an empty register. Company selection is fixed when a conversation starts; changing it in another terminal does not move an existing conversation.
Read without calling the model
scrip holders
scrip holder "Example Holder" --json
scrip instruments --kind convertible --holder "Example Holder"
scrip instrument CS-1
scrip pending
scrip docs --holder "Example Holder"
scrip requests --status open
scrip request <request-id>Use exact names or IDs. Ambiguous names need an ID. Add --json for the complete API response. Direct reads do not use inference or prepare changes. Instrument amounts retain their original units.
scrip captable --as-of 2026-01-01
scrip captable --recorded-through 2026-01-01
scrip export --format records --out company-records.zip--as-of uses effective dates with the evidence recorded now. --recorded-through replays what had been recorded by that UTC day. Do not combine them. Exports verify the returned artifact and create a new private file; they refuse to overwrite an existing file.
Prepare access changes
scrip keys ls --json
scrip keys create --name "Reporting" --scope read
scrip keys revoke <key-id>
scrip portal invite "Example Holder" holder@example.com --capacity "Authorized representative"These commands use the API without inference and prepare proposals for owner passkey approval. They do not open a browser or send email. The approving owner receives a new key secret or private invitation link once in the browser. An invitation grants access only after the invited person accepts. Use an exact holder name or ID and state the representative’s capacity.
Identical inputs reuse the same proposal in the same sign-in and company. Use --idempotency-key <key> for a retry across session refresh or an intentionally new request. A successful preparation is still pending human approval; repeated requests show the proposal’s current status.
Ask for a change
scrip
/holder new "Morgan Investor"
/issue "Morgan Investor" 100 Common
/pendingInside the conversation, ask naturally or use a guided shortcut. Scrip reads the supported input schema and asks for missing terms or evidence. The managed model prepares a proposal; the API calculates and validates its effect. There is no model or reasoning picker.
Review and approve
scrip approve <proposal-id>
scrip approve <proposal-id> --no-open --wait --timeout 120Routine confirmation requires an attached terminal showing the exact review. Sensitive operations require a passkey in the browser. Waiting only observes the result. There is no --yes approval shortcut, and a model cannot invoke human approval. If the proposal changes, read the new version before deciding.
Run scrip --help for standalone commands and /help inside the conversation. scrip logout signs the CLI out.