Create a VibeSpace
A VibeSpace is a persistent container for projects, terminals, browser tabs, agent conversations, git state, and layout preferences.
Run Claude Code, Codex, Kiro CLI, Gemini CLI, OpenCode, and GitHub Copilot CLI in persistent VibeSpaces with terminal sessions, ACP chats, browser panes, git, Markdown, and HTML. Open source on GitHub.
Dallas, May 20, 2026
Developers who use multiple AI coding agents (Codex, Claude Code, Kiro CLI, Gemini CLI) often end up managing separate applications, separate contexts, and separate conversation histories that do not persist across sessions. The IDEs available to unify this experience are VS Code forks built on Electron, several of which add token marketplaces, telemetry, and proprietary integrations that do not interoperate. CrispyVibe supports multiple AI agents from different vendors in a single persistent workspace without requiring an account or collecting usage data.
CrispyVibe is a macOS IDE written in Swift, SwiftUI, and AppKit. It shares no code with VS Code or Electron. It introduces VibeSpaces: persistent workspaces that hold projects, GPU-accelerated terminals, ACP agent conversations, browser panes, and git integration. Developers bring whatever agents they already use (Kiro CLI, Claude Code, Codex, Gemini CLI, OpenCode, GitHub Copilot CLI, or custom agents) and run them as dedicated workspace tiles with persistent conversation history. Terminal sessions are backed by tmux and survive application restarts. SSH remote projects use the same surfaces as local projects within the same workspace. Markdown and HTML, common output formats for AI agents, render in place with direct editing rather than separate source and preview panes. The same in-place document workspace extends to LaTeX (compiled offline with a local TeX engine), Jupyter notebooks, Typst, AsciiDoc, and Graphviz diagrams, and offline whiteboards. Agents can programmatically control the IDE through the built-in crispy CLI, opening files, managing terminals, driving browser panels, and inspecting workspace topology. CrispyVibe is free. It has no ads, in-app purchases, or paid tiers. Its automatic network activity is limited to update checks; other connections are user initiated. All workspace data is stored locally.
Credits: 100% of CrispyVibe's code is developed with AI. Kiro CLI is the daily driver for CrispyVibe development, covering spec-driven feature design, implementation, and testing. Thanks to AWS for supporting the vibe.
"Every other tool wanted me on their platform. I wanted them all on mine. One native app, all my agents, sessions that survive restarts, no tokens, no telemetry, no account. Just me and my vibe."
Manu Mishra, Creator of CrispyVibe · Read why I built it
How It Works
A VibeSpace is a persistent container for projects, terminals, browser tabs, agent conversations, git state, and layout preferences.
Add local folders and SSH remote hosts to the same VibeSpace. Each project gets a distinct color, file explorer, git context, and terminal sessions.
Select a default agent or override it per project. Installed agents are detected from PATH. Both terminal-based and ACP-structured agents are supported.
The Terminal Board is a GPU-accelerated 4×4 grid for terminals, browser panes, ACP agent chats, file previews, and VibeCast. tmux preserves terminal sessions when you quit.
Agent Workspaces and Controls
Switch from the Terminal Board into a detailed workspace with focused terminals, rendered Markdown, file browsing, Shelf items, and project context side by side.
Configure app-wide navigation, VibeSpace commands, Terminal Board focus, project movement, and inline insert triggers from one settings surface.
Run reusable rephrase and research prompts on selected text through macOS Services.
Choose a built-in theme preset, preview its palette, and adjust the typography.
FAQ
For Developers
Built-in support for Kiro CLI, Claude Code, Codex, Gemini CLI, OpenCode, and GitHub Copilot CLI. Custom agents can be added by specifying a command and arguments. ACP-compatible agents run as structured chat surfaces with streaming responses and tool-call UI. Terminal-based agents run in standard terminal tiles.
CrispyVibe is free and has no paid tiers. A solo developer builds and funds it independently with help from the community. There are no investors requiring a return, no token marketplace, and no server-side services to upsell.
No. CrispyVibe's only automatic network activity is Sparkle update checks, which can be disabled.
VS Code forks inherit Electron's Chromium runtime (600MB to 1.2GB memory with typical workloads), then add AI features and token marketplaces. CrispyVibe is written from scratch in Swift with Metal GPU rendering (150 to 300MB typical). It supports multiple agents from different providers in one workspace without telemetry.
When enabled, every terminal session in CrispyVibe is backed by tmux. Quitting the app detaches sessions. Reopening reattaches them with full shell state and scrollback. A built-in tmux session browser shows active and orphaned sessions across workspaces and previews their contents.
SSH remote projects use the same file explorer, editor, terminal, and git surfaces as local projects within the same VibeSpace. The connection supports ControlMaster transport, SFTP, port forwarding, host key validation, and SSH config import.
Conversations persist per-workspace. Switching the default agent does not affect existing conversations. Each thread is tied to the agent that created it and remains searchable and resumable.
A unified per-project side panel that shows a project's files, git changes, and agent conversations in one place, with each project and git worktree as a collapsible row and the Shelf at the top. It is the default sidebar and has its own rail button; the classic Files, Git, Sessions, and Conversations tabs remain available.
Quick Todos & Sticky Notes capture tasks with a hotkey or a dedicated surface, scoped to a project or the VibeSpace, with rich-text notes and per-todo threads. They persist across launches and are scriptable from the crispy CLI.
Documents and Authoring
LaTeX files open with three tabs: a live WYSIWYG view with KaTeX-typeset math, the raw source, and a compiled PDF rendered by your own local TeX engine (BasicTeX or MacTeX). The PDF tab supports double-click on-page editing via SyncTeX and inline comments. Compilation runs locally and offline, with multi-pass cross-reference and BibTeX resolution. Typst, AsciiDoc, and Graphviz files also get a live local preview next to their source.
CrispyVibe opens .ipynb notebooks with editable cells and inline comments, running against a local Jupyter or against a remote host over SSH using a forwarded loopback port. It needs Jupyter and Python on whichever machine runs the kernel.
Offline Excalidraw whiteboards are built in. New whiteboards start in the Shelf as drafts and can be dragged into a project. Whiteboards render and persist locally.
Technical Details
CrispyVibe uses SwiftUI for its interface, Metal for terminal rendering, and WebKit for browser panes. Typical memory use is 150 to 300MB.
CrispyVibe embeds GhosttyKit, the library behind the Ghostty terminal emulator, for Metal-accelerated terminal rendering. Terminal content is rendered on the GPU to reduce input latency and CPU use at high throughput. SwiftTerm is included as a fallback. Developers can switch between engines in Settings.
A VibeSpace persists: project list, board layout, editor sessions, agent conversations, browser state, git context, theme, and pane sizes. All data is stored locally and signed with HMAC-SHA256 for integrity verification.
A compose surface for sending text to one terminal or broadcasting to all active sessions simultaneously. Supports rephrase via a configured CLI tool before sending.
A persistent pinned-files section at the top of the Files sidebar. Files added to Shelf stay across launches, receive files opened from Finder or external sources, and sync with the active content viewer.
CrispyVibe renders Markdown and HTML in place and supports direct editing of the rendered view. Developers read and edit documents as they appear, formatted with images and links, without switching to source mode.
An on-device overlay at the top of each terminal summarizes the developer's current activity using Apple's Foundation Models framework. Requires macOS 26+. Falls back to displaying the last command when unavailable.
A settings panel for configuring CLI agent defaults and reusable prompt templates. Developers set a CLI profile, trust mode, command arguments, and default agent. Prompt templates power VibeCast's rephrase feature and macOS Services menu integration.
The application code is open source. The project also publishes the engineering process: every feature ships with a spec, technical design, threat model, and usage guide (200+ documents). Contributors propose features by writing specs and extending threat models before implementation begins.
Each feature is developed against four documents: a spec, a technical design, a threat model, and a usage guide. The repository also publishes ADRs, NFRs, and learnings from audits. Contributors can trace every decision from proposal through implementation.
Get started
Create a VibeSpace, add your projects, and choose your agents. CrispyVibe is free and native to macOS; an account is not required.