v0.1.2-alpha.25 is outsee the release →
[ SELF-HOSTED AGENT RUNTIME ]

Your agents keep working while you sleep.

Agent-agnostic sandboxed environments, hosted on your hardware, controlled by your whole team.

GET STARTED
$
$
$
ALPHA · GPL-3.0

[ THE PROBLEM ]

Laptops are bad hosts for agent fleets

YOUR LAPTOP

Agents eat CPU, RAM and battery even when the model is remote. Sandboxes, file watching and test loops all run locally, and everything dies the moment the lid closes.

HOSTED PLATFORMS

The hosted alternatives fix that by moving your source code onto their infrastructure and charging per seat for it.

Aether is the third option.
Your hardware, your code.


[ HOW IT WORKS ]

From install to a branch you can pull

Set the server up once, then this is the loop. Every command, in order

Link a server

Point the CLI at a Linux box running Docker. It talks to the server over SSH on port 2222, and the first identity to link a fresh server becomes its admin. There is no other signup.

aether link my-server

Run an agent

Give it a task and name an agent. The run gets its own container, git worktree and branch on the server. Nothing runs on your machine, and nothing stops when you disconnect.

aether run "fix the flaky auth test" --agent claude

Pull the branch

When the agent exits its work is already committed. Pulling fetches the run branch into your clone as a remote-tracking ref. You review and merge it yourself; Aether never merges.

aether pull 01m04mhf114eap4k85n2mgcped

[ RUNTIME ]

How Aether runs your agents

Nothing runs on your laptop

Agents run in containers on the server. Close the lid and the run keeps going, and the sync daemon fetches what landed when you reconnect.

Results come back as branches

Every run gets its own worktree and branch. You pull, review and merge. Aether never merges anything itself.

Your agents, your team, one server

Skills, plugins and settings mirror to the server per member, with secrets held back by a denylist and a content scan. Teammates run side by side on the same box and can watch or steer each other's agents, with every act attributed.

Roles, attribution and budgets for a whole team

[ RUNS ]

What a finished run looks like

Example runs, showing the shape of the receipt a finished run leaves behind.

flaky-auth-fixEXAMPLE
agentclaudebranchaether/run-fix-the-flaky-auth-test-mgcpedfiles6 files changedwall clock12m 40s
deps-auditEXAMPLE
agentcodexbranchaether/run-bump-the-http-deps-qv4nzcfiles14 files changedwall clock8m 05s
dashboard-a11yEXAMPLE
agentopencodebranchaether/run-add-aria-labels-s8kgrwfiles9 files changedwall clock21m 18s

[ DASHBOARD ]

One window on every run

aether gui serves the dashboard from your own machine over your SSH key and opens a browser tab. Nothing is exposed to your network and there is no separate login. The desktop app is the same dashboard in its own window, with notifications when a run needs you. Both call the same methods the CLI does, so you can use the GUI and the terminal side by side on the same runs.

Every pane, in detail
WORKSPACE SWITCHER

Every workspace on the box

Yours and your team's, colored by member. Picking one filters the rest of the view to it.

RUN BOARD

Runs bucketed by what needs you

Working, Needs You, Done. A run lands in Needs You whether it stalled or finished clean, and the card says which.

LIVE MIRROR

The run's terminal, mirrored

Read-only by default. With the steer capability you can type into your own run or a teammate's, and every keystroke is attributed.

DIFF TIMELINE

Every change, commit by commit

Scrub through what the agent touched as it worked, file by file, before you pull the branch.

APPROVAL INBOX

The shared approval inbox

When a run needs a permission or a decision it stops and posts here, then picks up once a member with the right role answers.

127.0.0.1:41823 / aether gui
SESSIONS
flaky-auth-fix
deps-audit
dashboard-a11y
docs-sweep
perf-pass
flaky-auth-fixclaude
6 files · 12m 40slive
WORKING
flaky-auth-fixclaude · 3m
deps-auditcodex · 8m
docs-sweepqueued
NEEDS YOU
cache-headersexited · 4 files
flake-triagestalled · 2 files
DONE
aria-passmerged
perf-passabandoned
LIVE MIRROR · run-014
▸ pulling workspace image
▸ running test suite (attempt 2)…
auth/session_test.go · 41 passed
auth/token_test.go · 12 passed
auth/refresh_test.go · 1 failed
✓ flake isolated: races on token refresh
patching auth/refresh.go
writing fix, re-running…
attempt 2 · 3m 12slive
DIFF TIMELINE
c1a9fauth/refresh.go
d44b2auth/session.go
f01e7auth/token.go
a9c30auth/refresh_test.go
7b2e1internal/clock.go
3fd80auth/middleware.go
e6c47docs/auth.md
APPROVAL INBOX
run-016 wants to install a packagegolang.org/x/crypto · held 40s
allowdeny
run-015 asks: bump major versions too?waiting on you
run-018 wants to reach api.github.comwaiting on you
3 waitingoldest held 4m
LAUNCH · STEER · PULL · LAUNCH · STEER · PULL · LAUNCH · STEER · PULL · LAUNCH · STEER · PULL · LAUNCH · STEER · PULL · LAUNCH · STEER · PULL · LAUNCH · STEER · PULL · LAUNCH · STEER · PULL · LAUNCH · STEER · PULL · LAUNCH · STEER · PULL · LAUNCH · STEER · PULL · LAUNCH · STEER · PULL ·
[ HARNESSES ]

Bring your own agent

claudecodexpiampopencodefake (testing)

Those are the names you pass to --agent. Five are real CLIs, and fake runs a script from your own repo so you can drive the whole lifecycle without a vendor account. Your own logins, your own settings: an admin can pin any other CLI with a harness definitions file.

Logins, profile sync and the registry

[ BUILD ]

Build from source

# requires go 1.25+ · GNU make · bun 1.3+
make build # dashboard SPA, then both binaries
make test # unit tests, race detector on
make test-integration # needs real docker and git
make release # the full cross-compiled matrix
LAUNCH · STEER · PULL · LAUNCH · STEER · PULL · LAUNCH · STEER · PULL · LAUNCH · STEER · PULL · LAUNCH · STEER · PULL · LAUNCH · STEER · PULL · LAUNCH · STEER · PULL · LAUNCH · STEER · PULL · LAUNCH · STEER · PULL · LAUNCH · STEER · PULL · LAUNCH · STEER · PULL · LAUNCH · STEER · PULL ·

Run your agents on hardware you own.

$ curl -fsSL https://raw.githubusercontent.com/3xDevOps/Aether/main/scripts/install.sh | sh