v0.8.7-beta.5 is out · 5 Novsee the release
Browse guides
DOCS

Your server.
The field guide.

Installation, runtime behavior and technical reference. These guides are a snapshot of the product repo's docs folder.

START HERE

From install to your first run.

Set up the server and client, connect them, and launch an agent.

Open quickstart

Get running

  • Quickstart

    Install Aether on a headless Ubuntu server with Docker and git, link your machine, create a workspace, set up your agent, then launch, review and publish a run.

  • Install

    How to install aether-server on Linux and the aether client on Linux, macOS or Windows, run the server as a service, and add the desktop or Android app.

  • Networking

    How Aether reaches your server over one SSH port: Tailscale, the recommended network and identity layer, or an edge relay when neither side can reach the other.

  • Teams

    Inviting teammates to a shared Aether server, the viewer, collaborator and admin roles, steering runs together, sharing agent accounts, swarms and budgets.

  • Environments

    The container image a member's runs use, saving a custom one, the resource limits on runs, Docker inside runs with Sysbox, and each workspace's setup script.

  • Terminals

    Your persistent environment shell, a run's agent terminal with one controller at a time and Take control to hand it over, and the extra shells in a run.

  • Environment home

    The server-owned home directory mounted into every one of a member's containers, and what it keeps: logins, config and installed tools.

Runtime

  • Agents

    The agent CLIs Aether can launch, like Claude Code, Codex and many more: how each installs and logs in inside your environment, and how Aether updates it.

  • Enhanced runs

    Enhanced runs drive the agent over the Agent Client Protocol, so its messages, tool calls, diffs and permission requests appear as native controls in the app.

  • Adapters

    How to add a new agent CLI to Aether as an agent profile, and optionally turn its machine-readable output into typed events with an adapter.

  • Security

    Aether's security stances: the container is the isolation boundary, agents run as root by default, how each run's browser is isolated, and what gateways expose.

  • Local gateway

    How the dashboard reaches your server through aether gui on your machine or aether-server --web-port on its tailnet, and how they differ.

  • Dashboard SPA

    How the Aether dashboard is built and what each view does: the Board and Map, a run's Session, Terminal, Changes and Browser views, and the settings pages.

  • Assistant

    The dashboard's assistant: an Enhanced session of your own Claude Code or Codex that reports on runs and launches or messages them, asking first by default.

  • Insights

    Statistics about what your agents did over a date range: runs and how they ended, swarms, time spent, cost and pull requests, computed on your own server.

Reference

  • Coordination

    How runs in one workspace message each other, how a swarm's integrator splits an objective into worker runs, and how the conflict radar flags overlapping edits.

  • Candidate integration

    How Aether assembles accepted submissions into a candidate revision, verifies it, and lands or proposes it, kept separate from the state of the swarm.

  • Failure handling

    What happens when the server reboots, fills up or loses connections, the tuning flags available, and where each behaviour is proven.

  • MCP bridge

    The in-container MCP server with six coordination tools, registered automatically for Enhanced runs, beside the aether-internal CLI that every run gets.

  • Testing

    How Aether is tested: unit tests beside their packages, plus an integration and E2E suite behind a build tag covering failure scenarios.

  • Privacy policy

    The privacy policy for the Aether Android app, the dashboard it shows and the project's edge: what each stores, what leaves your phone, and how to delete it.

  • Contributing

    How to contribute to Aether: read the docs and the package you're changing first, search for existing helpers, and keep credentials out of the checkout.