# Introducing eve, an open\-source agent framework

**Published:** June 17, 2026 | **Authors:** Shar Dara, Andrew Barba, Casey Gowrie, Allen Zhou, Rui Conti, Dima Voytenko, JJ Kasper, John Phamous, Timo Lins

---

[eve](https://vercel.com/eve) is now available in public preview.

eve is an open-source framework for building, running, and scaling agents. An agent is just a directory of files, and production comes built in:

- Durable execution
- Sandboxed compute
- Human-in-the-loop approvals
- Subagents
- Evals

```markdown
agent/
  agent.ts                   # the model it runs on
  instructions.md            # who it is
  tools/
    run_sql.ts               # what it can do
    post_chart.ts
  skills/
    revenue-definitions.md   # what it knows
  subagents/
    investigator/            # who it delegates to
  channels/
    slack.ts                 # where it lives
  schedules/
    monday-summary.ts        # when it acts on its own
```

The smallest agent that runs is just two files, a model and a set of instructions.

**agent/agent.ts**
```typescript
import { defineAgent } from "eve";
export default defineAgent({
  model: "anthropic/claude-opus-4.8",
});
```

**agent/instructions.md**
```markdown
You are a senior data analyst. You answer questions about the team's data.
- Prefer exact numbers to hand-waving. If you can compute it, compute it.
- State the assumptions behind any number you report (date range, filters, grain).
- Use the tools available to you rather than guessing. If you cannot answer from
  the data, say so plainly.
```

Add a tool, skill, channel, or schedule by adding a file. eve picks them up at build time and wires them in for you, so there's no boilerplate to register them.

You can scaffold and start a new agent with a single command. It installs the dependencies, scaffolds the project, and starts a dev server, so you have an agent running locally in under a minute.

```bash
npx eve@latest init my-agent
```

Or you can let your coding agent set it up for you. Give it this prompt:

```markdown
Set up an Eve agent for the user. Eve is a filesystem-first TypeScript framework for durable agents, published as the npm package eve. Read its docs: once eve is installed they are bundled in the package at node_modules/eve/docs; before eve is installed, read the published Introduction and Getting Started pages. If the project has no Eve app, scaffold one with `npx eve@latest init <name>`; add `--channel-web-nextjs` only when the user wants Web Chat. The init command installs dependencies, initializes Git, and starts the dev server, so run it in a controllable process and stop it before editing. To add Eve to an existing app, run `npm install eve@latest`. Make sure agent/agent.ts and agent/instructions.md exist, then add a first typed tool at agent/tools/get_weather.ts using defineTool from eve/tools with a Zod inputSchema and an inline execute. Start the dev server again, then exercise the HTTP API: create a session with POST /eve/v1/session, attach to GET /eve/v1/session/:id/stream, and send a follow-up with the returned continuationToken. Verify with the project's typecheck, adapt model and provider choices to the project, and do not commit unless the user asks.
```

And because an eve agent is an ordinary Vercel project, `vercel deploy` ships it to production unchanged, exactly as it ran on your machine.

eve is the framework that Vercel builds and runs its own agents on. For the full tour, read the [announcement](https://vercel.com/blog/introducing-eve) or the [documentation](https://docs.eve.dev/), and you can follow development in the open over at [github.com/vercel/eve](https://github.com/vercel/eve).

**Build your first agent**
An agent is a directory of files, and eve runs it with durable execution, a sandbox, approvals, and evals built in. Works with any model, any MCP server, and channels like Slack, Discord, and GitHub.
[Get started](https://vercel.com/kb/eve)

---

📚 **More updates:** [View all changelog entries](/changelog/sitemap.md) | [Blog](/blog/sitemap.md)