# AI Code Elements

**Published:** January 21, 2026 | **Authors:** Hayden Bleasel

---

Today we're releasing a brand new set of components designed to help you build the next generation of IDEs, coding apps and background agents.

## [<Agent />](https://ai-sdk.dev/elements/components/agent)

A composable component for displaying an AI SDK [ToolLoopAgent](https://ai-sdk.dev/docs/agents/overview) configuration with model, instructions, tools, and output schema.

```bash
npx ai-elements add agent
```

![CleanShot 2026-01-18 at 09.29.42@2x](//images.ctfassets.net/e5382hct74si/9Lcgk6qBtmY3ZZQnG7WEU/07d708bf5cc86aac62e0f97a27283b7b/CleanShot_2026-01-18_at_09.29.42_2x.png)

## [<CodeBlock />](https://ai-sdk.dev/elements/components/code-block)

Building on what we've learned from [Streamdown](https://streamdown.ai/), we massively improved the code block component with support for a header, icon, filename, multiple languages and a more performant renderer.

```bash
npx ai-elements add code-block
```

![CleanShot 2026-01-18 at 09.30.16@2x](//images.ctfassets.net/e5382hct74si/NCPOBJRmmpkTGYpVv8lNR/fc59f4f85b0d2c996be0aabf9ee7de09/CleanShot_2026-01-18_at_09.30.16_2x.png)

## [<Commit />](https://ai-sdk.dev/elements/components/commit)

The Commit component displays commit details including hash, message, author, timestamp, and changed files.

```bash
npx ai-elements add commit
```

![CleanShot 2026-01-18 at 09.31.05@2x](//images.ctfassets.net/e5382hct74si/bQKzL7A18S9Z3GNmLbhRI/9c0b24825ef656920b067bb0b89334b0/CleanShot_2026-01-18_at_09.31.05_2x.png)

## [<EnvironmentVariables />](https://ai-sdk.dev/elements/components/environment-variables)

The EnvironmentVariables component displays environment variables with value masking, visibility toggle, and copy functionality.

```bash
npx ai-elements add environment-variables
```

![CleanShot 2026-01-18 at 09.33.35@2x](//images.ctfassets.net/e5382hct74si/10pyVjOssryZWClt8O19Kq/9e42e2e2177d4d61a9c73c8b58957184/CleanShot_2026-01-18_at_09.33.35_2x.png)

## [<FileTree />](https://ai-sdk.dev/elements/components/file-tree)

The FileTree component displays a hierarchical file system structure with expandable folders and file selection.

```bash
npx ai-elements add file-tree
```

![CleanShot 2026-01-18 at 09.33.55@2x](//images.ctfassets.net/e5382hct74si/5CN8oxylptd6ilAoRYeHSG/afc51ddfe5bcf53895026093c940e66b/CleanShot_2026-01-18_at_09.33.55_2x.png)

## [<PackageInfo />](https://ai-sdk.dev/elements/components/package-info)

The PackageInfo component displays package dependency information including version changes and change type badges.

```bash
npx ai-elements add package-info
```

![CleanShot 2026-01-18 at 09.34.21@2x](//images.ctfassets.net/e5382hct74si/4M4enrxOfTKyHuLHmFvnud/926a064222e6a2e4453c5b6983226fad/CleanShot_2026-01-18_at_09.34.21_2x.png)

## [<Sandbox />](https://ai-sdk.dev/elements/components/sandbox)

The Sandbox component provides a structured way to display AI-generated code alongside its execution output in chat conversations. It features a collapsible container with status indicators and tabbed navigation between code and output views.

```bash
npx ai-elements add sandbox
```

![CleanShot 2026-01-18 at 09.34.40@2x](//images.ctfassets.net/e5382hct74si/14Req5pFWcchf0NHiIkMhH/5fd8c9ef828994020bd46d1cfafb4e54/CleanShot_2026-01-18_at_09.34.40_2x.png)

## [<SchemaDisplay />](https://ai-sdk.dev/elements/components/schema-display)

The SchemaDisplay component visualizes REST API endpoints with HTTP methods, paths, parameters, and request/response schemas.

```bash
npx ai-elements add schema-display
```

![CleanShot 2026-01-18 at 09.35.35@2x](//images.ctfassets.net/e5382hct74si/2mXDsEy9TYMm9Ls0IuIl4E/bb799a3dfc4b43b5b0c7dbe0c31e86c6/CleanShot_2026-01-18_at_09.35.35_2x.png)

## [<Snippet />](https://ai-sdk.dev/elements/components/snippet)

The Snippet component provides a lightweight way to display terminal commands and short code snippets with copy functionality. Built on top of shadcn/ui InputGroup, it's designed for brief code references in text.

```bash
npx ai-elements add snippet
```

![CleanShot 2026-01-18 at 09.35.49@2x](//images.ctfassets.net/e5382hct74si/7LHIeT2ckuHPXtCwa79GhJ/681516bc1cf6270dc7ceea52839260ce/CleanShot_2026-01-18_at_09.35.49_2x.png)

## [<StackTrace />](https://ai-sdk.dev/elements/components/stack-trace)

The StackTrace component displays formatted JavaScript/Node.js error stack traces with clickable file paths, internal frame dimming, and collapsible content.

```bash
npx ai-elements add stack-trace
```

![CleanShot 2026-01-18 at 09.36.20@2x](//images.ctfassets.net/e5382hct74si/7vBeq3SyJHlhW9sI37xr7/2f7ea2325901b82cdd1d41b748c3af5e/CleanShot_2026-01-18_at_09.36.20_2x.png)

## [<Terminal />](https://ai-sdk.dev/elements/components/terminal)

The Terminal component displays console output with ANSI color support, streaming indicators, and auto-scroll functionality.

```bash
npx ai-elements add terminal
```

![CleanShot 2026-01-18 at 09.36.33@2x](//images.ctfassets.net/e5382hct74si/3kHORruainYOMYRya0LlKW/47df77462f41372849c43049d6fd55e2/CleanShot_2026-01-18_at_09.36.33_2x.png)

## [<TestResults />](https://ai-sdk.dev/elements/components/test-results)

The TestResults component displays test suite results (like Vitest) including summary statistics, progress, individual tests, and error details.

```bash
npx ai-elements add test-results
```

![CleanShot 2026-01-18 at 09.37.02@2x](//images.ctfassets.net/e5382hct74si/7Gqs2UnizraHiwmexorTsT/b0b324ade11531e204d068ac3e061fdf/CleanShot_2026-01-18_at_09.37.02_2x.png)

## [Bonus: <Attachments />](https://ai-sdk.dev/elements/components/attachments)

Not code related, but since attachment were being used in Message, PromptInput and more, we broke it out into its own component - a flexible, composable attachment component for displaying files, images, videos, audio, and source documents.

```bash
npx ai-elements add attachments
```

![CleanShot 2026-01-18 at 09.50.09@2x](//images.ctfassets.net/e5382hct74si/139wgjouur2PbXPcbt6W1R/9eaed2d1f1bd2260fb3de13ac3b65059/CleanShot_2026-01-18_at_09.50.09_2x.png)

---

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