# Eve Runtime
URL: /docs/runtimes/eve/overview

Connect an Eve agent to assistant-ui with useEveAgentRuntime, eve/next, durable sessions, streaming messages, and human-in-the-loop approvals.

`@assistant-ui/eve` integrates assistant-ui with [Eve](https://eve.dev/), Vercel's filesystem-first framework for durable agents. It wraps Eve's `useEveAgent` hook and exposes it as an assistant-ui `ExternalStoreRuntime`, so Eve owns the session stream while assistant-ui renders messages, reasoning, dynamic tool calls, and approval requests.

## When to use it

Pick the Eve runtime when:

- You want your agent implementation to live under `agent/` and be served by `eve/next`.
- You want Eve sessions, continuation tokens, NDJSON streaming, and local development tooling.
- You want assistant-ui to render Eve messages and human-in-the-loop tool approvals without writing a custom runtime adapter.

## Architecture

The Next.js app mounts Eve with `withEve()` and assistant-ui's registry transform with `withAui()`:

```
import { withAui } from "@assistant-ui/next";
import type { NextConfig } from "next";
import { withEve } from "eve/next";

const nextConfig: NextConfig = {};

export default withEve(withAui(nextConfig));
```

On the client, `useEveAgentRuntime()` calls Eve's React hook and converts Eve message parts into assistant-ui thread messages:

```
"use client";

import { Thread } from "@/components/assistant-ui/thread";
import { useEveAgentRuntime } from "@assistant-ui/eve";
import { AssistantRuntimeProvider } from "@assistant-ui/react";

export default function Home() {
  const runtime = useEveAgentRuntime();

  return (
    <AssistantRuntimeProvider runtime={runtime}>
      <Thread />
    </AssistantRuntimeProvider>
  );
}
```

## Requirements

- Node.js 24 or higher.
- React 18 or 19.
- An Eve app mounted with `eve/next`.
- A model credential for the model configured in `agent/agent.ts`.

Eve's default gateway model ids route through the [Vercel AI Gateway](https://vercel.com/docs/ai-gateway). Use `AI_GATEWAY_API_KEY` or Vercel OIDC, or configure a direct provider `LanguageModel`.

## Install

**React**

```bash
npm install @assistant-ui/react @assistant-ui/eve eve
```

## Auth note

Eve's built-in `eve` channel accepts localhost during development and trusted Vercel OIDC callers. It does not automatically admit browser users in production. Before deploying a public app, add `agent/channels/eve.ts` and wire the channel to your application auth.

## Next

- [Quickstart](/docs/runtimes/eve/quickstart) — Scaffold the Eve template or add Eve to an existing assistant-ui app.
- [Eve channel](https://eve.dev/docs/channels/eve) — Routes, auth, session creation, and stream events in the default Eve HTTP channel.