Cloud agents that give you the flexibility of local development with the governance of enterprise infrastructure. Get started with $100 free credit, then pay for tokens plus 10%.
from ellipsis import Ellipsis
client = Ellipsis(api_key="ellipsis_key_...")
session = client.sessions.run(prompt="Fix the flaky test in ci/")Drive cloud agents from your terminal like a local one, each session in its own sandbox.
Learn moreSpawn, connect, and stream from your terminal
Spawn sessions, send messages, and stream logs from Python, TypeScript, or the CLI.
Learn morePOST /v1/sessions from Python or TypeScript
Changing harness or model is a config edit, not a rewrite of your agent.
Learn moreSwap the harness or the model with one field
The prompt, model, sandbox, permissions, and budget all live in one reviewable file.
Learn moreCheck it in, review it, merge to deploy
You define the Dockerfile your agent runs on, so every dependency your build needs is already installed.
Learn moreYour toolchain, baked into a cached image
Scope exactly which repositories and APIs an agent can reach, enforced when its token is minted.
Learn moreA per-session token, narrowed in YAML
Every turn, tool call, and thinking block is recorded, searchable, and downloadable as JSONL.
Learn moreThe full transcript, downloadable as JSONL
Claude Code, Codex, GitHub Copilot, Gemini CLI, Cursor, Grok Code, Antigravity, OpenCode, and Pi, each with the model, tools, and spend cap you declare. The harness is one config field; the sandboxes, permissions, budgets, and logs are the same underneath.
Sessions run on cloud machines, so dozens work in parallel while your laptop is closed. Each one gets credentials scoped below any developer, a hard spend cap, and a transcript your whole team can read afterwards.
Install the GitHub app, commit one YAML file under agents/ in your repository, and the version on your default branch is the live agent. There are no runners to host and no tokens to mint.
One YAML file in your repository carries the prompt, model, trigger, repositories, permissions, and spend caps. Commit it to deploy, open a pull request to change it, revert to roll it back.
A config declares one trigger: a cron schedule, an event on a GitHub pull request, push, or issue, a Linear issue, a Sentry alert, or a new Slack channel, or an @ellipsis mention. Any agent also starts from the REST API and the CLI.
On its own cloud machine, one per session, with your repositories cloned in and credentials scoped to the job at hand. The sandbox is torn down when the session ends.
Every turn, tool call, and diff is recorded and searchable, with the cost of each step. Transcripts keep indefinitely by default; an organization admin can set retention between 7 and 365 days.
Zero source code retention: your code exists only inside a session's sandbox and is deleted when that sandbox is torn down.
Every agent session runs in its own sandbox, and you pay for exactly what that session consumes: CPU and memory metered by the second, tokens passed through at the model provider's rates with no markup, and a platform fee of 10% of the session's token and compute cost. There are no per-seat fees, and nothing runs idle, so nothing bills idle.
Yes, at four levels: your whole account, one agent, one session, and one developer, over rolling 1-, 7-, and 28-day windows. A session that would breach a limit never starts, and a running session that reaches its budget stops immediately.
Yes. Agents are defined as YAML in your repositories, so they are portable by construction: the same configs, skills, and triggers run in either deployment, at the same prices. Talk to sales and we will help you plan the move.