Infrastructure for your Software Factory

Run Claude Code and Codex in the cloud without thinking about infrastructure. Govern with scoped permissions, budget caps, and full observability.

Install on GitHub

Start with $100 credit, then pay for tokens + 10%.

0.0M
agent sessions
0B
tokens spent
0+
companies

Agents-as-a-Service from any platform

Start, steer, and review sessions from the terminal, the web app, the API, Slack, or GitHub. Same agents, same logs, same budgets everywhere.

Observability and governance
Every session logged, scoped, and capped

your-org / agents
standup-automator.yaml
ellipsis:
name: Standup automator
description: Posts a daily standup digest to Slack
triggers:
- type: cron
schedule: "30 8 * * 1-5"
budget:
session: 2
claude:
model: claude-opus-4-8
system: |
Each weekday, summarize yesterday's merged PRs, the
reviews still waiting, and any failing CI, then post
the digest to #engineering and @ the right owners.

$

Agents are defined in YAML

One file declares the agent and the environment it runs in: repositories, dependencies, permissions, and budgets. Check it in, review it, and audit changes like any other code.

Tool callsmerge-referee
Bash
pytest -k auth · passed
Allowed
Edit
tests/test_auth.py
Allowed
gh pr merge
GH_TOKEN is read-only
Blocked
Grep
"flaky" · 3 matches
Allowed
Read
tests/test_auth.py
Allowed

Permissions set before the session starts

Every session runs on credentials minted just for it: the repositories it may touch, the tools it may call, nothing else. Revoked with the sandbox.

agents/nightly-migration-checker.yamlUSD, enforced live
budget:  session: 1.50  day: 5.00  week: 20.00  month: 60.00
session_9Kt4vR7m · stopped at its session capbudget_hit

Budgets that stop the session

Cap spend per session, per developer, or over time — in the same YAML. A session that hits its cap stops, and the ledger shows where every token went.

Steps (15)
15Commit pushed28 tok
14thinkingDouble-check the diff before pushing
13Bashgit commit -m 'Release connection on error path'20 tok
12thinkingWrite a clear commit message
11assistantGreen. Committing the fix.14 tok
10Bashpytest -k pool · 142 passed24 tok
9thinkingRe-run the pool suite to confirm the fix
Budget$0.40 / $1.00
Tokens30.8K

Observability

Every thinking token, tool call, and diff is recorded and attributed. Logs are searchable by the whole team (if you want).

How it works

Connect GitHub

Install the GitHub App on the repositories agents may touch. Ellipsis clones them, pushes branches, and opens pull requests with exactly the access you granted.

ellipsis:
  kind: environment
  name: api-toolchain

repositories:
  - name: acme/api
variables:
  - name: NPM_TOKEN
image:
  setup: |
    cd api && pnpm install
compute:
  cpu: 4
  memory: 16GB

Create environment.yaml

One YAML file describes the machine a session runs on: the repositories cloned in, the secrets, the image, the compute. Commit it, and every agent and session references it by name.

from ellipsis import Ellipsis

client = Ellipsis(api_key="ellipsis_key_...")

handle = client.sessions.run(
    prompt="Fix the flaky test in ci/",
    environment="api-toolchain",
)
print(handle.id)

Spawn cloud agents

Starting a session returns immediately. The agent works on its own isolated cloud machine, in the environment you named, hundreds at a time.

Secure, Managed Infrastructure
that is very easy to use

Ellipsis is built with governance at scale in mind. Permissions are defined before a session starts. Every agent action is logged. You have full control over your data longevity.

More about security
SOC 2Type ICertified
SOC 2Type IIIn progress

Scoped credentials

Minted per session, scoped to the repos you allowed, revoked with the sandbox.

Zero source retention

Your code lives only in the session sandbox and is deleted with it.

Full audit trail

Every command, file change, and tool call an agent made, kept after the sandbox is gone.

Frequently asked questions