Skip to main content
ClaudeWave

Astrid is a portable, capability-secure operating system for composable software.

Subagents10.3k estrellas175 forks● RustApache-2.0Actualizado today
ClaudeWave Trust Score
95/100
✓ Verified
Passed
  • ✓Open-source license (Apache-2.0)
  • ✓Actively maintained (<30d)
  • ✓Clear description
  • ✓Topics declared
  • ✓Documented (README)
Last scanned: 10/21/2026
Install as a Claude Code subagent
Method: Clone
Terminal
git clone https://github.com/astrid-runtime/astrid && cp astrid/*.md ~/.claude/agents/
1. Clone the repository and copy the agent .md definitions into ~/.claude/agents (or .claude/agents inside a project).
2. Start a new Claude Code session to load the agents.
3. Delegate work to them with the Task/Agent tool or by name.
Casos de uso

Resumen de Subagents

# Astrid

**Software should compose without inheriting each other's authority.**

[![CI](https://github.com/astrid-runtime/astrid/actions/workflows/ci.yml/badge.svg)](https://github.com/astrid-runtime/astrid/actions/workflows/ci.yml)
[![CodeQL](https://github.com/astrid-runtime/astrid/actions/workflows/codeql.yml/badge.svg)](https://github.com/astrid-runtime/astrid/actions/workflows/codeql.yml)
[![License: MIT OR Apache-2.0](https://img.shields.io/badge/License-MIT%20OR%20Apache--2.0-blue.svg)](#license)
[![MSRV](https://img.shields.io/badge/MSRV-1.95-blue)](https://www.rust-lang.org)
[![Rust 2024](https://img.shields.io/badge/Rust-2024_edition-orange)](https://www.rust-lang.org)
[![The Astrid Book](https://img.shields.io/badge/docs-The_Astrid_Book-8A2BE2)](https://github.com/astrid-runtime/book)

---

Astrid is an operating-system project for software built from WebAssembly
**capsules**. Today it runs as a portable user-space runtime on macOS and Linux;
the direction is a standalone operating system. This release is the hosted
runtime, not a bootable OS image.

Run components in a sandbox, connect them through typed interfaces, and give
each principal its own capabilities and durable state. Install, upgrade, and
remove capsules while the runtime is running.

Use it to build agent systems, tools, services, or your own distribution. Astrid
does not choose a product, model provider, agent loop, or user interface for you.

Agents make the problem urgent: a model can choose what to do, but that should
not make the model the authority that permits it. Astrid separates those jobs.
The same foundation serves software without an LLM—components can be replaced
and composed without putting application policy into the kernel.

- **Compose behavior:** capsules communicate through an event bus and versioned
  interfaces; the kernel routes requests rather than owning application logic.
- **Make authority explicit:** filesystem, network, process, and IPC access are
  checked at runtime boundaries, not entrusted to prompts.
- **Keep state portable:** content-addressed storage, deduplication, and recovery
  back principal-owned data. Mount it through macOS FSKit or Linux FUSE.

[Get started](#quick-start) · [Write a capsule](#write-a-capsule) ·
[Read the Book](https://github.com/astrid-runtime/book) ·
[Release notes](CHANGELOG.md)

## Quick start

Install Astrid using one of the [options below](#install), then start an
uncomposed runtime—no model account or distribution required:

```bash
astrid --version
astrid start
astrid status
astrid capsule list
astrid stop
```

`status` reports the running daemon; a fresh uncomposed runtime has no product
capsules. `stop` shuts it down and retires its working state into
`astrid.volume`. Starting again restores the working projection.

Next, [build your first capsule](#write-a-capsule), or choose a distribution you
trust with `astrid init --distro <source>`. A distribution supplies the capsule
composition and configuration; Astrid does not select one implicitly. See
[initial setup](#initial-setup) for repository, local-manifest, and signed-bundle
inputs.

Start with [the Book](https://github.com/astrid-runtime/book) for the
architecture or the [Contributor Handbook](https://github.com/astrid-runtime/handbook)
to contribute.

## Why Astrid exists

Agent frameworks put trust in the prompt. Astrid puts it in the runtime. An agent is untrusted code
executing on your machine with access to your files, your network, and your credentials. Telling it
to behave is not a security boundary. An OS-grade boundary is.

- **Cryptographic capability model.** Every file path, network host, and tool is a signed ed25519
  grant scoped to a resource pattern, principal-bound, expiry-checked, and globally revocable. No
  grant, no access.
- **WASM sandbox with no ambient authority.** Capsules run in Wasmtime with no syscalls, no file
  descriptors, and no host memory. Every external effect is a capability-checked host call over a
  WIT-typed ABI.
- **The kernel is dumb.** It instantiates an event bus, loads capsules, and routes IPC bytes under a
  capability ACL. It has no LLM handles, no conversation state, and no tool registry. All
  intelligence lives in capsules, so a capsule bug cannot corrupt shared kernel state.
- **Per-principal everything.** Each identity gets isolated capsule access, KV data, secrets, home
  directory, quotas, and audit chain. One principal can never read another's namespace, and it fails
  closed if the caller cannot be resolved.
- **Signed, hash-linked audit chain.** Each entry seals the hash of the one before it and is signed.
  Break the chain and the tampering shows.
- **Live capsule lifecycle.** Install, upgrade, and remove capsules on a running daemon. No restart.

## How it works

Frontends (the CLI, the HTTP gateway, Discord, and so on) are **uplinks**: protocol clients that
connect to the daemon over a Unix domain socket and speak in IPC events. There is no `Frontend`
trait. An uplink publishes events and receives responses like any other bus participant.

```mermaid
flowchart TB
    CLI[CLI] -->|IPC events over Unix socket| Kernel
    HTTP[HTTP gateway] -->|IPC events| Kernel
    Discord[Discord] -->|IPC events| Kernel
    Uplinks[Other uplinks] -->|IPC events| Kernel

    subgraph Runtime[Astrid]
        Kernel[Kernel: astrid-daemon<br/>dumb event router<br/>event bus - capability ACL - audit chain - Wasmtime sandbox]
        Capsules[WASM Component capsules: wasm32-unknown-unknown<br/>providers - orchestrators - tools - fs - http - sessions - registry - identity]
    end

    Kernel -->|capability-checked host calls<br/>astrid:* WIT ABI| Capsules
```

Capsules communicate exclusively through the bus. Each declares what it needs and what it provides
in a `Capsule.toml` manifest with typed `[imports]`/`[exports]` tables; the kernel resolves the
dependency graph by topological sort and boots capsules in order. Tools are an IPC convention, not a
kernel concept: a tool capsule intercepts `tool.v1.execute.<name>`, and the kernel never sees a tool
schema.

The host ABI is the WebAssembly component model with versioned `astrid:*` WIT packages:
`fs`, `io`, `kv`, `ipc`, `net`, `http`, `sys`, `process`, `approval`, `identity`, `elicit`, and
`uplink`. Guests import only what their manifest allows, and every call is capability-gated at the
boundary.

## The security model

Astrid's security is decomposed. There is no single gate every action funnels through. A capsule has
no ambient authority, and authorization is enforced by independent, per-area mechanisms, each
fail-closed and each enforced where the effect actually happens.

```mermaid
flowchart TB
    Action[A capsule action] --> Sandbox[WASM sandbox<br/>no syscalls, file descriptors, or host memory<br/>external resources are capability-checked host calls]
    Action --> Manifest[Manifest gate<br/>declared file, network, and process allow-list<br/>empty is deny-all; path traversal and SSRF defenses]
    Action --> IPC[IPC ACL<br/>declared publish and subscribe topics only<br/>per-principal routing]
    Action --> Capability[Capability token<br/>ed25519, principal-bound, scoped, expiring, revocable<br/>per-device tokens can be subset-scoped]
    Action --> Approval[Approval gate<br/>once - session - always - deny<br/>allow always mints a token; local egress elicits consent]
    Action --> OS[OS sandbox<br/>bwrap on Linux - seatbelt on macOS for native subprocesses]
    Action --> Audit[Audit chain<br/>signed, hash-linked JSONL decisions and calls<br/>split per principal and independently verifiable]
```

These mechanisms are real and independently tested. There is no unified interceptor orchestrating
them. The [five-layer gate](https://github.com/astrid-runtime/book) chapter of The Astrid Book walks
each layer against the source.

## Install

**Release archives:**

Download the archive for your machine from
[GitHub Releases](https://github.com/astrid-runtime/astrid/releases). Keep its
companion binaries and platform files together when extracting it; add the
extracted directory to your `PATH`.

The current stable release, [v2026.10.0](https://github.com/astrid-runtime/astrid/releases/tag/v2026.10.0),
publishes these targets:

| Platform | Architectures | Filesystem frontend |
|---|---|---|
| macOS | Apple Silicon, Intel | FSKit on macOS 26+; signed app and extension approval required |
| Linux GNU | x86_64, ARM64 | FUSE |
| Linux MUSL | x86_64, ARM64 | FUSE |

Windows is tested in CI but is **not included in the release archives**.
For older runtime-layout migration and platform limitations, read the
[2026.9.0 upgrade notes](release/UPGRADING-2026.9.0.md); for changes in this
release, read the [2026.10.0 changelog](CHANGELOG.md).
Versions follow [year.month.patch](release/VERSIONING.md).

Existing self-managed installations can run `astrid update --check` to inspect
their signed channel, then `astrid update` to apply an available update.
Homebrew and Cargo installations are updated by their respective package
managers.

**Homebrew (macOS and Linux):**

```bash
brew tap astrid-runtime/tap
brew install astrid
```

**From crates.io (requires Rust 1.95+):**

```bash
cargo install astrid
```

**From source:**

```bash
git clone https://github.com/astrid-runtime/astrid
cd astrid && cargo build --release   # binary at ./target/release/astrid
```

The core tools are listed below. Platform release archives additionally include
their filesystem provider and, on macOS, the signed AstridFS app and management
scripts. A Cargo install is not a substitute for that signed macOS bundle.

| Binary | Role |
|---|---|
| `astrid` | CLI uplink. Connects to the daemon over the Unix socket. TUI, headless mode, capsule and agent management. |
| `astrid-daemon` | The kernel process. Loads capsules, routes IPC, enforces capabilities, runs the sandbox. |
| `astrid-build` | Capsule compiler and packager. Builds to `wasm32-unknown-unknown`. |
| `astrid-emit
agent-runtimeai-agentscapability-securityllmmcpmicrokernelrustsandboxwasmwebassembly

Lo que la gente pregunta sobre astrid

¿Qué es astrid-runtime/astrid?

+

astrid-runtime/astrid es subagents para el ecosistema de Claude AI. Astrid is a portable, capability-secure operating system for composable software. Tiene 10.3k estrellas en GitHub y su última actualización registrada es del 2026-10-20.

¿Cómo se instala astrid?

+

Puedes instalar astrid clonando el repositorio (https://github.com/astrid-runtime/astrid) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.

¿Es seguro usar astrid-runtime/astrid?

+

Nuestro agente de seguridad ha analizado astrid-runtime/astrid y le ha asignado un Trust Score de 95/100 (tier: Verified). Revisa el desglose completo de comprobaciones superadas y flags en esta página.

¿Quién mantiene astrid-runtime/astrid?

+

astrid-runtime/astrid es mantenido por astrid-runtime. La última actividad registrada en GitHub es del 2026-10-20, con 245 issues abiertos.

¿Hay alternativas a astrid?

+

Sí. En ClaudeWave puedes explorar subagents similares en /categories/agents, ordenados por popularidad o actividad reciente.

Despliega astrid en tu cloud

Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.

¿Mantienes este repo? Añade un badge a tu README

Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.

Featured on ClaudeWave: astrid-runtime/astrid
[![Featured on ClaudeWave](https://claudewave.com/api/badge/astrid-runtime-astrid)](https://claudewave.com/repo/astrid-runtime-astrid)
<a href="https://claudewave.com/repo/astrid-runtime-astrid"><img src="https://claudewave.com/api/badge/astrid-runtime-astrid" alt="Featured on ClaudeWave: astrid-runtime/astrid" width="320" height="64" /></a>

Más Subagents

Alternativas a astrid