English · Français
A desktop console for Claude Code. The app drives the real claude CLI (stream-json protocol, the same options as the SDK and the VS Code extension) and shows sessions more readably than a terminal: live text, a tool log, permissions with diffs, several sessions in parallel, git worktrees. The interface is available in French and English; dark themes only.
Download the installer for your system from the GitHub releases page. No .NET SDK or particular browser is needed: the app bundles its own server and uses the system web view.
| System | File | Note |
|---|---|---|
| Windows 10/11 | .msi or -setup.exe |
Unsigned installer: SmartScreen shows "Windows protected your PC". Click "More info", then "Run anyway". WebView2 is already included in Windows 11. |
| macOS (Apple Silicon) | .dmg (aarch64) |
Signed with a Developer ID and notarized by Apple: it opens normally, no workaround needed. Intel Macs are not supported (macOS 26 is their last version). |
| Linux x64 | .AppImage or .deb |
Requires WebKitGTK 4.1 (libwebkit2gtk-4.1-0 on Debian/Ubuntu, already installed on most desktops). For the AppImage: chmod +x, then run it. |
Verify your download. Each release ships a SHA256SUMS file (shasum -a 256 -c SHA256SUMS) and GitHub build-provenance attestations: gh attestation verify <file> -R Atypical-Consulting/ClaudeCodeUI.
Updates. Every version after 0.1.0 updates itself: a few seconds after startup it checks the latest GitHub release and, when there is a new one, offers to install it and restart. You can also check at any time with Check for Updates… (app menu on macOS, Help menu on Windows and Linux), or Check for updates in Settings › Appearance and the command palette. Updates are signed, and the signature is verified before anything is installed. Version 0.1.0 has no updater: install the next version by hand once. With the .deb or .rpm package, installing an update asks for your password.
The Claude Code CLI must be installed and signed in:
# macOS, Linux, WSL
curl -fsSL https://claude.ai/install.sh | bash
# Windows (PowerShell)
irm https://claude.ai/install.ps1 | iexThen run claude once in a terminal to sign in. If claude is not found in the PATH, the app shows a help screen instead of the start screen. On macOS, the app reads the PATH of your login shell, so an installation done through ~/.zshrc is picked up.
- New session: folder, isolated worktree (generated name), permission mode; the session opens, then you write the first message.
- Live text, thinking indicator, tool log with an inspector (output, input, JSON).
- Permission requests with diffs: allow, deny, or always allow (this session, or local, project or user settings), with why the CLI asked and which subagent asks.
- Permission rules manager, MCP elicitation forms and sign-in, plugin and marketplace management, hooks editor, auto-memory, output styles and
/config. - Compaction card, uncommitted changes (
/diff), thinking, bookmarks, copy, rewind; send now,@agentmentions, PDF attachments, prompt suggestions. - Rename, export, PR link, account and status, background sessions, Remote Control.
- Overview of all sessions and a queue of pending decisions (Ctrl ⇧ A).
- Command palette (Ctrl K), resume recent sessions with their history.
- Model, effort, subagents, context, MCP servers, skills and plugins.
- 5 h / 7 day quota, cost per turn.
- Worktrees: ranking and safe cleanup.
- Five dark themes and an adjustable code size.
Requirements: .NET 10 SDK. For the desktop app: Rust (stable), Node 20+ and the Tauri prerequisites for your system.
dotnet run # web server alone: open the http://localhost:5284/?token=… URL it prints
dotnet run -- --self-check # built-in checks, non-zero exit code on failureDesktop app (desktop/ folder):
cd desktop
npm install
npm run server # publishes the self-contained server for your machine into src-tauri/server
npm run dev # launches the Tauri window (same as cargo tauri dev)
npm run build # builds the installers into src-tauri/target/release/bundleThe Tauri shell launches ClaudeCodeUI --desktop-port 0 --parent-pid <pid> (HTTP on 127.0.0.1 only, Production environment, access protected by a local-use token passed over standard output), shows a loading screen, then opens the interface. The server stops on its own when the window closes, and takes the claude processes down with it. Re-run npm run server after every change to the .NET code.
- Commits follow Conventional Commits (
feat:,fix:,docs:,ci:,chore:). - On every push to
main, release-please opens or updates a release PR: CHANGELOG, and the version inClaudeCodeUI.csproj,tauri.conf.jsonandCargo.toml. - Merging that PR creates the tag and the GitHub release. The
release.ymlworkflow then builds the Windows, macOS (Apple Silicon) and Linux installers and attaches them to the release.
MIT © 2026 Atypical Consulting
