Cloud agents

The same agent your team runs locally, managed in the cloud

Ellipsis runs Claude Code in isolated cloud sandboxes with your repos cloned and your toolchain installed. Sessions survive the closed laptop, credentials are minted per session, spend is capped, and every step is recorded. It is the upgrade path from one agent on one machine to a governed fleet.

Install on GitHubDocumentation
ellipsis.dev@priya-shah in splitshift-hq

What are we shipping today?

JavaScript was built in 10 days. It now runs most of the visible internet. Sleep well.

Repository: splitshift-hq/splitshift-web
Agent: Default
Model: claude-opus-5
Start a cloud session…
+ New session
Reviewing the schedule-conflict rules in splitshift-api2 turns · 3.2k · $0.21 · 2m ago
Backfill the tip-pool report totals for June6 turns · 12.4k · $0.86 · 18m ago
Fix the flaky shift-trade webhook retries11 turns · 4.8k · $1.15 · 41m ago
Draft the unfilled-shift digest cron1 turn · 2.2k · $0.30 · 3h ago
Bump pnpm to 10 across the monorepo4 turns · 9.1k · $0.62 · 1d ago
↓/esc: sessions
01Governance

Agents stop running on developers' own credentials

Every session gets its own GitHub token, scoped to the repos and permissions you grant and expiring in an hour, plus an API token scoped to that session. Spend runs under hard caps per session, per agent, and per developer. No standing credentials, no surprise bills.

Sandbox credentialssession #1842
GH_TOKEN
scoped to splitshift-web, splitshift-api
ANTHROPIC_API_KEY
synthetic key, valid for this session only
ELLIPSIS_API_TOKEN
scoped to this session
All credentials revoked at teardown

Permissions minted per session, spend capped before compute starts

02Close the laptop

Sessions keep working after you stop watching

A cloud session is a durable conversation. It idles when it finishes, wakes when you message it, and picks up with the working tree and transcript intact. Hand off uncommitted local work with one command and the agent keeps going in the cloud.

$ agent session handoff "finish the validator; tests fail on shift boundaries"

pushed working tree snapshot · uncommitted changes included

session_3Fw8dK1r · continuing in the cloud · splitshift-api

✓ safe to close the laptop, the session keeps working

14:12 · fixed the boundary check · suite greenActive
14:19 · waiting for input · working tree keptIdle
16:47 · "also cover overnight shifts" · woke in secondsActive

Idle conversations cost near zero and wake in seconds

03Sandboxes

Ten agents on one repo, none of them colliding

Each session runs in its own isolated sandbox with repositories pre-cloned and dependency installs baked into a cached image, so repeat sessions start in seconds. Parallel agents spawn the full stack and run the tests without clobbering each other.

sessions · runningone sandbox each
add rest-period warnings to the schedule editorrunning
session_7Hq2mX4p · splitshift-web$0.84
finish the shift-boundary validatorrunning
session_3Fw8dK1r · splitshift-api$1.12
migrate tip-pool reports to the new schemarunning
session_9Kt4vR7m · splitshift-api$0.61
fix the trade-conflict flake in CIrunning
session_2Bn8kL5w · splitshift-api$0.37
unfilled-shift digest copy changesrunning
session_5Xc1pT9j · splitshift-mobile$0.22

Isolated sandboxes with your toolchain installed, cached across sessions

04Observability

Every session is recorded, searchable, and replayable

Watch any session live, or answer which agent session produced PR #123 months later. Every turn, tool call, and thinking block lands in one transcript the whole team can search, and the exact instructions each run launched with are auditable next to what it did.

Sessionslive
Flagged 1 risk on splitshift-api #1841
Dropped column without backfill
$0.21
12.0K tok
just now1m30s
Posted daily standup to splitshift-hq #engineering
4 merged, 2 awaiting review
$0.05
3.3K tok
just now22s
Opened splitshift-web #314
Implement CSV export
$0.42
31.2K tok
22s ago4m02s
Approved splitshift-api #1839
Add rate limiting to /v1
$0.18
9.1K tok
1m ago48s
Reviewed splitshift-web #1842
Fix connection leak on error path
$0.31
18.4K tok
3m ago1m12s

Transcripts outlive the sandbox

05Start from anywhere

The dashboard, the API, the CLI, or the thread you are already in

Start a session from a terminal, POST /sessions from CI, mention @ellipsis on GitHub, Slack, or Linear, or let a Sentry alert or a cron schedule start it for you. Every entry point produces the same governed session.

ways to start a sessionsame governed session
CLIagent session start "fix the trade-conflict flake" --watch
APIPOST /sessions · {"config_id": "agent_x9Kd3Fq2", "prompt": "…"}
Mention@ellipsis why does the shift-trade test fail on Mondays?
Eventtrigger: react · sentry issue alert, PR opened, Linear issue
Scheduletrigger: cron · schedule: "0 13 * * 1-5"

One session model behind every entry point

06Agents as code

The agent itself is a YAML file in your repo

Prompt, model, sandbox, permissions, and budget live in one version-controlled file, deployed with git push. Your existing review process becomes the change-control process for your fleet.

agents/feature-builder.yamllive on merge
ellipsis:  version: v1  name: Feature builder  description: Implement the change described on the issueclaude:  model: claude-opus-4-8  system: |    Implement the change the issue describes. Read the surrounding    code first, follow the conventions you find, and run the test    suite before you open the pull request.trigger:  type: react  issue:    on: [opened]    labels: [agent]sandbox:  repositories:    - name: splitshift-apibudget:  session: 2.00  day: 20.00

Define once, governed everywhere

What a cloud agent session gets

The managed layer around every session, so none of it is each developer's job.

Isolated sandbox per session

Every session gets its own Linux container. Parallel agents never share state.

Repos pre-cloned

The repositories the config names are checked out before the agent starts, with gh authenticated.

Cached dependency images

Dependency installs bake into a cached image, so repeat sessions start in seconds.

Scoped GitHub token

Minted per session with exactly the repos and permissions the config grants, expiring in an hour.

Write-only secrets

Stored values inject by name into allowed sandboxes and can never be read back out.

Hard budget caps

Per-session caps plus trailing limits per account, agent, and developer, enforced before compute starts.

Live streaming

Watch any session over a WebSocket with lossless resume, from the dashboard or the CLI.

Full transcripts

Every turn, tool call, and thinking block is recorded and searchable by the whole team.

Downloadable session log

The complete history exports as first-party records, so audits read a ledger.

Replay

Re-run any session with its frozen original config, or override the model, budget, or prompt.

Session IDE

Open a real editor into a live sandbox to review the diff and run tests where the agent worked.

Structured output

Sessions can exit through your JSON schema, so pipelines get typed data instead of prose.

Frequently asked questions

A coding agent that runs in a managed cloud sandbox instead of on a laptop. Ellipsis creates an isolated container with your repositories cloned and your toolchain installed, runs Claude Code inside it, and records everything it does. The session outlives the terminal that started it.

It is the same agent, managed. Sessions keep working when the laptop closes, the config is shared and version controlled instead of living in one person’s setup, credentials are minted per session instead of being your own, spend runs under hard caps, and every session is recorded and searchable by the team.

Yes. Each session gets its own GitHub token, minted with exactly the repositories and permissions the agent config grants, down to read-only, and expiring in an hour. GitHub enforces the scope at the mint, so nothing running in the sandbox can exceed it.

Every session runs under a hard cap, with trailing daily, weekly, and monthly limits per account, per agent, and per developer. A session that reaches its cap stops cleanly and records budget_hit, and a session blocked by a trailing limit never even creates a sandbox.

Every turn, tool call, and thinking block is recorded into a searchable transcript, along with the exact instructions the session launched with. You can watch a session live, search the whole history, download the complete log, or replay the session months later.

Through the Ellipsis GitHub App. The repositories an agent needs are cloned into its sandbox at session start using a scoped, short-lived installation token. Your code exists only inside the sandbox and is deleted when the sandbox is torn down.

A terminal command, a POST to the REST API, an @ellipsis mention on GitHub, Slack, or Linear, a repository or Sentry event, a cron schedule, or the dashboard. Every entry point produces the same governed, recorded session.

You can use Ellipsis for...

Every use case runs on the same platform. See how it works