Infrastructure for your Software Factory

Run Claude Code and Codex in the cloud without thinking about infrastructure. Govern with scoped credentials, 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

Start agents from anywhere

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

Governance built in
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

Credentials 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 when the session ends.

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

Every step is recorded

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

How it works

Define an agent in YAML

Prompt, trigger, model, repositories, credentials, budget. Commit it to your repo and it is live.

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

Start it from anywhere

A GitHub event, a Slack mention, a schedule, the terminal, or the API. Each session runs on its own cloud machine, hundreds at a time.

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)

Watch and audit

Every session streams live and is kept afterward: every tool call, diff, and dollar, attributed to a person or a trigger.

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