Cavrn

The terminal, as structured data — not just pixels. Cavrn captures every turn, tool call, and result an agent draws as typed, agent-readable metadata, so crystl and sibling agents can read, search, and reformat what's on screen. (Painted fast on the GPU with Metal.)

works withany CLI agent

Cavrn is crystl's terminal engine. Where a normal terminal hands you scrollback — characters on a grid — Cavrn keeps a live, structured model of the session. Every user turn, assistant reply, tool call, and tool result is captured as a typed, timestamped record; a tool call is linked by id to the result it produced; a table an agent draws knows it's a table. It's the difference between a picture of the terminal and data about it.

Because the output is structured, things that used to be impossible become one call. A sibling agent reads your session with crystl screen --json or crystl history --json and gets typed records — turns, tool calls, results — not a screenshot. crystl's history navigator searches every past turn and tool call. A table an agent draws, box-drawing or markdown, is detected on the fly and copied as raw, CSV, or JSON. The phone app re-renders the same model cleanly instead of replaying escape codes. All of it reads from the one structured surface Cavrn keeps.

Cavrn also draws fast: the terminal is painted on the GPU with Metal, so a firehose of agent output scrolls smoothly while your CPU stays free for the work. It's the default surface for new shards; xterm.js remains a one-click fallback in Settings → Terminal Rendering. Read the GPU rendering docs for that side of it.

Why it matters

Output you can read, not just see

Every turn, tool call, and result is captured as typed, timestamped data. crystl and other agents read the structure, not a screenshot of it.

Agents can read each other

crystl screen and crystl history return a sibling shard's session as JSON — typed turns, and tool calls linked by id to their results. That's how one agent supervises another.

Tables become data

A table an agent draws — box-drawing or markdown — is detected on the fly and copied as raw, CSV, or JSON. The structure survives the terminal instead of dying as characters.

Fast, too

Drawn on the GPU with Metal, so heavy output scrolls smoothly and your CPU stays free. The default surface for new shards, with xterm.js as a one-click fallback.

Dive deeper in the GPU rendering docs

Ready to try it?

Create a free account and download crystl for macOS.

get started getting started guide →

Frequently asked questions

What makes Cavrn different from a normal terminal?
A normal terminal gives you scrollback: characters on a grid. Cavrn keeps a structured model of the session — every turn, tool call, and result as typed, timestamped records, tables detected as data. The output becomes something agents and crystl can read and act on, not just display.
What can read the metadata?
crystl itself (the history navigator, mobile rendering, detected-table copy) and any agent via the CLI. crystl screen --json returns the live grid plus shard state (agent, status, awaiting-input, last output); crystl history --json returns the full typed transcript — user turns, assistant text, and tool calls linked by id to their results.
Is the Metal GPU rendering the main feature?
It's the supporting one. Metal keeps the terminal drawing fast under heavy output, but the point of Cavrn is the structured, agent-readable model underneath. Speed is table stakes; readable structure is the difference.
Do I have to turn it on?
No. Cavrn is the default surface for new shards. Existing shards keep the engine they were created with, so close and reopen one to move it onto Cavrn. xterm.js stays available as a fallback in Settings → Terminal Rendering.
Does it work with any agent?
Yes. Cavrn captures whatever runs in the shard — Claude Code, Codex, or a plain shell. The structured model is built from the output itself, so it doesn't depend on the agent.
Book of Spells
the crystl guild

Crystl's Book of Spells

Master crystl with a grimoire of powerful prompts. Summon heroes, assemble a party, revive shards, and complete epic quests.

open the book →

More features

Gems & Shards

Gems, shards, and the Crystal Rail keep every project one click away.

Action Panels

See what every Claude session is doing at a glance.

Parallel Sessions

Run multiple Claude instances on the same repo without conflicts.

Hero Shards

Summon a single hero as a shard — its own agent, model, and persona — without a quest party.

History Navigator

Browse, jump through, and search every session: conversation and tool calls.

Token Tracking

Track token burn per shard, estimate turns left, and reclaim context window by disabling heavy plugins and skills.

Workbench

A slide-out task list in every project, backed by a WORKBENCH.md the agent reads and writes with you.

Prompt Integration

Facet Inserts give you one-click access to saved prompts, commands, and shortcuts.

Agent Config Editor

Create, edit, and manage CLAUDE.md, rules, skills, and agent config files with a block editor, file chooser, and project optimizer.

Project Optimizer

Scan your project for gaps in agent configuration (missing files, incomplete docs, oversized code, and setup issues) with one-click fixes.

Starter Bundles

New gems launch with CLAUDE.md, rules, skills, and MCP config, all pre-configured from your bundle library.

Skills Library

Browse and import agentic skills that teach agents like Claude Code or Codex new tricks: code review, testing, deployment, and more.

Remote Development

Full crystl integration over SSH: approval panels, file relay, and click-to-open on remote machines.

Agent Orchestration

One agent spawns, supervises, and merges the work of many: a control room for a team of coding agents.

crystl Quest

Assemble a party of specialized agents. Each brings unique skills, coordinates in shared chat, and executes in parallel.

Screenshot Bar

Drag recent screenshots into the terminal. Spotlight-powered, always up to date.

Copy Bar

A one-click copy bar under the terminal. Agents stage text, you click Copy. Editable, up to 10 tabs, free.