Purpose Clave is a desktop application for macOS whose core purpose is to manage multiple coding agent sessions in parallel within the same interface. It is positioned as a provider-agnostic tool that can run Claude Code, Antigravity CLI, Codex CLI, and Pi sessions simultaneously, opening as many as needed, arranging them in split or grid layouts, and switching instantly between different sessions.
Main capabilities
- Multi-agent session management: each session runs in an independent PTY, and a regular terminal can also be opened in addition. It supports named launch profiles, can wrap the CLI with tools such as TokenOps, and at the same time Clave controls the session and resume parameters.
- Built-in Git tools: provides a complete Git panel, including a diff viewer and commit history, and includes the MagicSync feature—completing pull, staging, AI-generated commit messages, commit, and push in one click.
- Side-by-side editing with agents: Markdown, HTML, or structured email can be associated with its source session and edited in a focused two-column view, with autosave, managed attachments, and signatures; the agent can read back the reviewed draft and send it through its own channel.
- Local and remote files: browse and edit files on the local machine or on a remote host via SSH/SFTP, with syntax-highlighted previews.
- Remote sessions: connect to any host via SSH and run agents on it, with the same interface and shortcuts.
- Fully local: the desktop app has no cloud backend and no account, and code, sessions, and keys remain on the local machine.
Plugin capabilities The plugin/ directory in the repository provides a companion agent plugin that lets any Claude Code, Cursor, or other Open-Plugin compatible coding agent generate .clave workspace files. This plugin is released together with the .clave format to ensure the two are always in sync. Installation method (any Open-Plugin compatible host; Claude Code, Cursor, etc. are automatically detected):
- General command: /plugin install clave@clave (shown as a placeholder in the documentation; the specific installation command is described in collapsed form)
- CNative alternative for Claude Code: /plugin install clave@clave Both methods install the same two skills: /clave:create-workspace and /clave:recover-sessions. The usage is to make a request to the agent such as "create a clave workspace for this repo with 3 sessions", and it will write a valid .clave file to the specified path, after which you open that file in Clave; or after a crash, make the request "recover the sessions I lost", and it will rebuild the grouping based on the session records Claude Code has already stored on disk. To uninstall, run /plugin uninstall clave@clave in Claude Code, or use the host's equivalent command. Previously, this plugin was distributed as codika-io/clave-plugin and installed as clave@clave-plugin; that repository has been archived. If you installed it from that repository, you need to uninstall it and rerun the command above.
Usage and acquisition
- Download the latest version (macOS universal, supporting Apple Silicon and Intel), and visit the all releases page.
- After downloading the .dmg, drag it into "Applications"; built-in automatic updates are included, and after installation new versions will be downloaded silently in the background.
- Windows (early): each release also includes clave-<version>-setup.exe (64-bit installer). This installer is not code-signed, so SmartScreen will block it once: click "More info" → "Run anyway". The automatic update mechanism is the same as on macOS.
- Uninstall: quit Clave and drag it from /Applications to the Trash; if you also want to remove local settings and cached session data, delete ~/Library/Application Support/clave.
System requirements
- macOS (Apple Silicon or Intel), or Windows 10+ (x64, early versions).
- At least one supported agent CLI installed and authenticated: Claude Code, Antigravity CLI, Codex CLI or Pi.
Platform differences Windows currently lags behind macOS: agent status dots (working / idle / needs you) and tmux-based session persistence are macOS-only, and Pi sessions are unavailable. On Windows, sessions run through ConPTY on cmd.exe and do not require a POSIX shell (Git Bash, WSL).
Privacy and network Clave is local-first by design, with no account or login; sessions, history, and settings remain on the local machine. The only thing sent back is a once-a-day anonymous ping, used to count actual usage. Its payload contains only three fields; the id is a randomly generated local UUID and does not include an email address, username, or hardware fingerprint. The server stores only its keyed hash and never stores the original ID. This ping can be disabled in "Settings → General → Privacy" (a notification is shown on first launch with a one-click "Turn off" option). The client is about 100 lines and can be viewed in src/main/telemetry.ts; on failure it handles errors silently, does not retry within a single check, and never affects application behavior. Apart from this, Clave makes only the following network requests:
- Claude Code accesses the Anthropic API through the user's local Claude Code installation; Clave does not proxy or see that traffic.
- Automatic updates: electron-updater checks GitHub Releases for new versions and installs signed, notarized builds on exit. Automatic downloads are off by default.
- Usage ping: the aforementioned once-daily anonymous POST to ping.clave.work (optional, can be toggled in settings).
- Git operations: standard fetch/pull/push against the remotes used by the user's own repositories.
- SSH / SFTP: connects only to remote hosts explicitly added by the user.
- OpenClaw agent chat: optional WebSocket connection, established only when connecting to an SSH location running OpenClaw. "Dangerous Mode" sessions (Cmd+D) start Claude Code with --dangerously-skip-permissions; it is never the default option and is clearly marked in the UI.
Build and signing notes The repository provides instructions for building from source. Regarding macOS signing, scripts/release.sh imports the signing certificate into its own keychain and passes it to electron-builder via CSC_KEYCHAIN, rather than letting electron-builder create it from CSC_LINK. The article explains why this is so: electron-builder's importCerts() runs two commands per certificate; the -k parameter in the second command is the password used to unlock the keychain, but what is passed in is the certificate password; because electron-builder generates a random keychain password, the two never match, causing that command to fail and the build to fail. That line of code exists in electron-builder 26.7.0 through 26.16.0, and upgrading cannot fix it. The author was unable to reproduce the command succeeding when the password does not match, but confirms that their CI had been working normally for a long time before it stopped; between the last successful build and the first failed build, only the GitHub runner image differed (macos-26-arm64 20260728.0273 → 20260831.0337), with the code, electron-builder 26.7.0, and credentials all the same, so the trigger came from the environment, but the specific cause cannot be determined, and the original build logs have expired. Verified: security set-key-partition-list -k validates its arguments against the keychain and rejects the certificate password (unless it happens to be the keychain password); the call is awaited without protection, and failure causes the build to fail; the same line exists in electron-builder 26.7.0 through 26.16.0 (the latest at the time of writing), so upgrading is not the fix. macPackager uses CSC_KEYCHAIN as given when CSC_LINK is not set, and this is exactly the seam that release.sh uses: it creates the keychain, imports the certificate, unlocks it, sets the partition list using the keychain's own password, and runs the build with CSC_LINK / CSC_KEY_PASSWORD unset, so it does not enter the upstream path. Notarization is unaffected and only reads APPLE_ID, APPLE_APP_SPECIFIC_PASSWORD, and APPLE_TEAM_ID. The EXIT trap restores the keychain search list and deletes the keychain.
Tech Stack Electron, React 19, TypeScript, xterm.js, node-pty, Zustand, Tailwind CSS v4, Framer Motion, shiki, simple-git, ssh2.
Use Cases and Limitations Suitable for developers who need to handle multiple coding agent sessions simultaneously on macOS, switch across providers, and have built-in Git and file editing collaboration. Limitations include: the Windows version is in an early stage, lacks some macOS features, and does not support Pi sessions; users need to install and authenticate at least one supported agent CLI themselves; Dangerous Mode carries the risk of skipping permissions and should be used with caution; the application is local-first and does not provide cloud sync or an account system. Information such as pricing, cost, and specific platform support scope is not yet provided.