Concepts
Glossary of the terms you'll see across the docs and the codebase.
A short glossary for the terms used in the dashboard and these docs.
Workspace
A workspace is the unit of isolation and billing: each plan is one flat price for a workspace, however many people are in it. It connects at most one GitHub organization or personal account and, optionally, one Linear organization and one Slack workspace. A workspace made without GitHub can connect it later. It holds memberships, shared API keys, personal model connections, and billing settings. Workspace-scoped data access and sandbox ownership checks isolate each customer's tasks and credentials.
Roles
Each workspace member has one role:
- Owner: full control. Manages members, invites, access requests, billing, and ownership transfer. Every workspace has exactly one owner.
- Admin: changes operational settings such as connected repos, model credentials, and agent preferences. Cannot manage access or billing.
- Member: views the workspace and its tasks, links personal identities and model subscriptions, and changes their own repository agent preferences. Cannot change shared settings.
See Workspaces and access for invitations and joining. Adding members doesn't change the price; see Billing.
Task
A task is a conversation with Sinatra about a piece of work, usually one Linear or GitHub issue, a Slack thread, or a request you started from the CLI, an MCP client or the API. You ask, the agent works, you reply, and it works again. A task can answer a question, propose a plan, or change code.
A pull request is something a task produces, not the task itself. One task can open several PRs, and it keeps taking replies after a PR merges. A task doesn't end when its PR does.
The dashboard shows each task in one of four states:
- In progress: the agent is working on it now.
- Queued: it's ready to run and starts on its own when your plan has room. See How the queue works.
- Needs your input: the agent asked something, a run failed, or billing or access needs fixing.
- Idle: the agent has nothing left to do, or someone stopped it. A reply picks it up again.
The codebase calls a task's durable record a workstream. It preserves status and links across restarts and follow-ups. See How it works for the states and the raw statuses behind them.
Access token
An access token is a personal token for the sinatra CLI, the MCP server, and the HTTP API. Claude Code, Cursor, claude.ai and ChatGPT can sign in to the MCP server with your Sinatra account instead. Create a token on the dashboard's CLI & API page. It acts as you in every workspace you belong to, with your role in each, and stops working in a workspace you leave. It expires after 30, 90 or 365 days, and you can revoke it at any time. See Create a token.
Agent session
An agent session groups agent execution and usage records within a task. Follow-ups or restarts can produce additional sessions, and a follow-up can resume the previous agent conversation. A new session does not necessarily create a new sandbox: the task can reuse its existing environment.
Linear also calls its agent conversation UI an agent session. Its activity feed is where Sinatra posts progress and where Linear provides the Stop control.
Sandbox
A sandbox is the isolated environment where the agent runs, with a checkout of the repo and access to task credentials. It belongs to a task and can be reused for follow-ups. Stopped or archived sandboxes may be resumed; they are not permanent storage. See Sandboxes for retention and network access.
Run
A run is one execution of the agent: a prompt, one or more turns, and an outcome. A task can involve multiple runs for questions, plans, implementation, test fixes, CI fixes, self-review, and feedback. Your plan limits how many tasks run at a time and how many more are queued, not how many runs or tasks you have; see Billing.
Engine
The engine is the agent harness running inside the sandbox: claude-code or oh-my-pi. The effective default depends on model access. Choose compatible engine and model values through .sinatrarc.json or personal repository preferences.
.sinatrarc.json
A per-repo JSON config file committed to the target repository to control the engine, model, sandbox setup, test command, and CI behavior. See the configuration reference.