The story of crystl

How it started

I left my job as an executive web director at a small agency to learn more about how AI was changing the world and what that would mean for small businesses and startups.

When Claude Code came out it was like AI became infinitely more useful and it seemed to me that the best way to use AI was in a terminal.

I was also immediately excited by the idea of running parallel agents and running agents across multiple projects.

But after trying everything from Ghostty, Warp, and Cursor, I realized that there wasn't really a terminal app that had the features I needed.

So I downloaded an open-source terminal for Mac, SwiftTerm, and began building on it.

When I realized that adding metadata to the terminal would allow agents to see what other agents were doing in crystl, I built cavrn, the terminal that crystl uses today.

crystl continually evolves with the goal of helping people use AI on their own terms while owning as much of their data as they choose.

What I kept running into

I was switching tabs constantly to find out which agent needed me. Floating cards and the activity panel show me who's working, who's stuck, and what they need to keep going.

I wanted my project history kept on my own computer. Conversation history lets me search past sessions and see what my agents said and ran.

I wanted agents to start with the project's context, without writing a long catch-up prompt every time. Project instructions give them that context. Heroes let me define specialists with their own models and instructions for particular kinds of work.

I wanted one agent to see what another was doing. The terminal keeps structured session data, so agents can read each other's screens and check on work in progress.

I wanted several agents working on the same project without overwriting each other's edits. Isolated shards give each agent its own git worktree and branch, keeping their edits separate until it's time to bring them together.

I was digging through notes to find prompts and commands I'd already written. Now I can save them as facet inserts and use them with a click.

I wanted to decide how agents divided up the work and who reported to whom. With multi-tiered orchestration, I can choose the models, write the instructions, and watch the agents work in their own sessions.

I wanted work to happen while I was away from the desk. Schedules launch it at the right time. Sequences run steps in order: one agent builds, another reviews, and another implements fixes. The iPhone app lets me check in when I'm not home.

Timeline

  • March 2026. The first build: a floating approval panel for Claude Code, on top of SwiftTerm.
  • March 22, 2026. The first entry in the public changelog.
  • July 2026. cavrn becomes the default terminal in crystl.
  • July 2026. The iPhone app launches on the App Store, and the Book of Spells goes up.
  • October 2026. Version 2.263. Every release is in the changelog.