# Register a capability on a running Framework runtime

> A host holding a shared InProcessRuntime can add a capability discovered after startup and activate it in live sessions without rebuilding the runtime.

Source: <https://everruns.com/docs/changelog/2026-08-19-register-capabilities-running-runtime/>

Date: 2026-08-19
Products: Framework
Category: Feature
Available: In 0.20.0
Pull request: everruns/everruns#3224

An `InProcessRuntime` can now accept capabilities after composition, for example an extension a user installs mid-conversation:

```rust
runtime.register_capability(Arc::new(capability))?;
runtime.is_capability_registered("ext:name");
```

Registration only makes the id resolvable. Sessions still enable it with `activate_capability`, so sessions that never activate it see no change. A duplicate id or a colliding alias is rejected and the existing capability stays. Readers always see a consistent registry snapshot.

See [Advanced capabilities](https://everruns.com/docs/framework/advanced-capabilities/) and [#3224](https://github.com/everruns/everruns/pull/3224).