documentation

Everything you need to know about crystl.

Features

Workspace

Split View

View multiple shards side by side to multitask within a single gem.

API Key Storage

Store provider API keys securely in macOS Keychain and auto-inject them into shell sessions, from the providers & keys settings page.

MCP Servers

Manage a global catalog of MCP servers and sync them to projects automatically.

Terminal GPU Rendering (Cavrn)

Cavrn, crystl's terminal engine built for multi-agent workflows: it keeps a fleet of shards light and agent output structured, drawn on the GPU with Metal. Plus scrollback presets and width-immutable history.

Agent Activity Panel

One view of what your agents are doing across every gem, and a classified record of the files they touched.

Crystal Rail

The frosted-glass bar for managing gems, approvals, and navigation.

Remote SSH Sessions

Use crystl approval panels with Claude Code running on remote machines over SSH.

Terminal Engine Internals

A deep look at cavrn, crystl's terminal engine: the byte-to-pixel pipeline, how it stays fair across many concurrent agent shards, its memory and reflow model, and why the GPU sits near-idle by design.

Terminal Renderers

Choose Prism, crystl's default Metal terminal surface, or the xterm fallback in Settings.

Notifications

Floating glass panels for approvals, questions, denials, and activity notifications.

History Navigator

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

Tool Calls

Click a collapsed tool call in the terminal to see its full output, with a copy button.

Chat Dock

Read and drive the focused shard's agent conversation beside the terminal with Cmd + Y.

Context Load Tracking

Monitor per-shard token usage, estimate how many turns remain, and see what every installed plugin and skill is costing you.

Workbench

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

Settings

Every settings page in crystl: what each toggle controls, and how to read your current config from an agent.

Scenarios

Scenarios: what do you want to do?

Task-first paths through crystl. Pick the thing you're trying to do and follow the steps, instead of reading a feature page and working out which parts apply to you.

Run your coding agent on your own hardware

Point Claude Code or Codex at a model server running on your own machine, so the prompts never leave your network.

Cut model costs with hosted open models

Run Claude Code against a hosted open model without your Anthropic key ever going near it.

Fan out cheap workers while your main agent leads

Hand one session a task list and let it run a team: it spawns a worker per task, attends to them, and merges the finished work back.

Parallel feature work without merge conflicts

Run two or more agents on the same repo at once, each in its own git worktree on its own branch, so their live edits never overwrite each other.

Run a multi-agent quest

Summon a party of agents that coordinate in a shared chat, with roles, optional branch isolation, and staged levels.

Run agents on a schedule

Launch a fresh agent at a time you choose, once or on a cadence, with its own gem, prompt, agent, model, and approval mode.

Work on a repo on your home server over SSH

Run agents on a remote machine while approval panels, file drops, and worktrees still behave like they're local.

Only get interrupted when an agent needs you

Tune approval modes and notification panels so a screenful of agents stays quiet until one of them actually needs a human.

Supervise your agents from your phone

Pair the iPhone app to your Mac to watch sessions, answer questions, and approve tools while you're away from the keyboard.

Recover context after closing or losing a session

Find what an agent actually did, in the navigator, the timeline, or the CLI, and bring the agent itself back when you closed it by mistake.

Teach crystl your models once

Fill in what small, standard, and large launch for your own agents so heroes, quests, and scheduled runs land on the model you meant.

Review and merge a worker's branch safely

Read what an isolated shard did, then integrate its branch through machinery that never forces and never guesses.