Install
Requires Bun 1.4.2 or later.Create a project
src/actor.ts. terse.config.json identifies the hosted project. Coding agents pick up the durable-actors-quickstart skill from .agents/skills and .claude/skills.
For unattended setup, authenticate first:
--no-browser. It works with terse install, terse init, and terse auth login:
Run locally
Run from the actor project:http://127.0.0.1:7100/v1/projects/local/actors. Local state lives in .durable-actors/. Keep that directory to retain state.
Generate a client
Keep the actor server running. Run from your application project:
Clients default to
generated/. They include their runtime and need no packages.
Regenerate after changing public methods, state, or socket types. Keep generated files unchanged.
Deploy
Run from the actor project:TERSE_API_KEY. Regenerate the client against the hosted contract.
Secrets
add prompts for the value. --value-stdin reads it from standard input. Local sync writes the value to .env; --skip-local-sync disables that write. import --overwrite replaces existing server values. list --json lists names.
Keep provider keys in the actor project. Keep Terse credentials in the calling backend. Keep both out of browser code.
Connection settings
Create an API token in the app under API keys in the sidebar. Copy it into the backend’s
TERSE_API_KEY.
The CLI loads .env. Application backends must load their own environment. Saved CLI credentials can authorize hosted client generation; running applications still need TERSE_API_KEY.
Account and utilities
Run
terse <command> --help for command options.
