• Blog
  • Docs
  • Pricing
  • We’re hiring!
Log inSign up
drewmcdonald

drewmcdonald

promptCompare

Public
Like
promptCompare
Home
Code
7
.claude
3
backend
2
docs
1
frontend
4
shared
.mcp.json
deno.json
Environment variables
2
Branches
1
Pull requests
Remixes
History
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Sign up now
Code
/
.claude
/
skills
/
ai-elements
/
references
/
terminal.md
Code
/
.claude
/
skills
/
ai-elements
/
references
/
terminal.md
Search
…
Viewing readonly version of main branch: v106
View latest version
terminal.md

Terminal

Display streaming console output with full ANSI color support.

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

See scripts/terminal.tsx for this example.

Installation

npx ai-elements@latest add terminal

Features

  • Full ANSI color support (256 colors, bold, italic, underline)
  • Streaming mode with cursor animation
  • Auto-scroll to latest output
  • Copy output to clipboard
  • Clear button support
  • Dark terminal theme

ANSI Support

The Terminal uses ansi-to-react to parse ANSI escape codes:

\x1b[32m✓\x1b[0m Success # Green checkmark \x1b[31m✗\x1b[0m Error # Red X \x1b[33mwarn\x1b[0m Warning # Yellow text \x1b[1mBold\x1b[0m # Bold text

Examples

Basic Usage

See scripts/terminal-basic.tsx for this example.

Streaming Mode

See scripts/terminal-streaming.tsx for this example.

With Clear Button

See scripts/terminal-clear.tsx for this example.

Props

<Terminal />

PropTypeDefaultDescription
outputstring-Terminal output text (supports ANSI codes).
isStreamingbooleanfalseShow streaming indicator.
autoScrollbooleantrueAuto-scroll to bottom on new output.
onClear() => void-Callback to clear output (enables clear button).
classNamestring-Additional CSS classes.

<TerminalCopyButton />

PropTypeDefaultDescription
onCopy() => void-Callback after successful copy.
onError(error: Error) => void-Callback if copying fails.
timeoutnumber2000Duration to show copied state (ms).

<TerminalHeader />

PropTypeDefaultDescription
...propsReact.HTMLAttributes<HTMLDivElement>-Any other props are spread to the div element.

<TerminalTitle />

PropTypeDefaultDescription
...propsReact.HTMLAttributes<HTMLDivElement>-Any other props are spread to the div element.

<TerminalStatus />

PropTypeDefaultDescription
...propsReact.HTMLAttributes<HTMLDivElement>-Any other props are spread to the div element.

<TerminalActions />

PropTypeDefaultDescription
...propsReact.HTMLAttributes<HTMLDivElement>-Any other props are spread to the div element.

<TerminalClearButton />

PropTypeDefaultDescription
...propsReact.ComponentProps<typeof Button>-Any other props are spread to the Button component.

<TerminalContent />

PropTypeDefaultDescription
...propsReact.HTMLAttributes<HTMLDivElement>-Any other props are spread to the div element.
FeaturesVersion controlCode intelligenceCLIMCP
Use cases
TeamsAI agentsSlackGTM
DocsShowcaseTemplatesNewestTrendingAPI examplesNPM packages
PricingNewsletterBlogAboutCareers
We’re hiring!
Brandhi@val.townStatus
X (Twitter)
Discord community
GitHub discussions
YouTube channel
Bluesky
Open Source Pledge
Terms of usePrivacy policyAbuse contact
© 2026 Val Town, Inc.