A lightweight, AI-first workspace for coding alongside Claude Code, Codex and friends.
Rider-style project view and Git tooling, a capable C# editor, and terminals that survive restarts.
When an AI agent writes most of the code, a full IDE is heavy and noisy, and a plain terminal is too bare. Haze sits in between. It is aimed at .NET and Unity developers used to JetBrains Rider, and keeps the parts of Rider that matter when you are reviewing and steering agents.
![]() |
![]() |
![]() |
Shown with blur 10, dim 40 %, panel opacity 65 %, popup opacity 65 % and ambient glow 55 %. |
Also in the box:
- Unity live link: compile, Console, Play/Pause, asset usages in Code Vision and Unity tests, through the
com.aprius.ide.hazepackage. - No silent overwrites: files changed on disk reload automatically, and conflicting edits are always surfaced.
- Worktree per agent and a
hazeCLI:haze agent claude --worktree fix/login "…", thensend,waitandreadfrom scripts or other agents. - Copy Context (
Ctrl+Shift+C): the selection aspath:lineplus a code fence, ready to paste into an agent. - Full session restore: projects, tabs, unsaved drafts, layout and terminals.
- GitHub / GitLab accounts with tokens in the system keychain.
- And more: see the full feature reference.
Works with any CLI agent: if it runs in a terminal, it runs in Haze. Status badges and notifications are built in for:
Claude Code Codex Gemini CLI OpenCode Deep Code + any agent that prints OSC 6973
macOS: one universal build for Apple Silicon and Intel.
curl -fsSL https://raw.githubusercontent.com/aprius/Haze/main/install.sh | bashOr with Homebrew:
brew tap aprius/haze https://github.com/aprius/Haze
brew install --cask hazeUpdate (Homebrew):
haze updateWindows / Linux: download from Releases: -setup.exe or .msi (Windows), .deb, .rpm or .AppImage (Linux).
Updating: when a new version is out, click Update Now (the arrow above Settings). Haze downloads it, installs it and restarts; terminals keep running. A Homebrew install updates through Homebrew in Terminal. A .deb/.rpm install, or an .msi one under Program Files, opens the release page instead.
For C#: if the Roslyn Language Server (or the .NET SDK) is missing, Haze offers a one-click install.
- Open a folder from the Welcome screen.
- Open a terminal (
Alt+F12,Cmd+Jon macOS) and start your agent, e.g.claudeorcodex. - Optional: in Settings (
Ctrl+Alt+S) → AI Agents, install the hook for status badges and notifications. - Before a big task, take an AI checkpoint from the Commit window.
- Review the result in the Commit window (
Alt+0): open diffs, mark files as reviewed, roll back what you don't want, then commit and push. - For parallel agents, create a worktree per task from the Branches popup.
Key shortcuts
| Action | Shortcut |
|---|---|
| Search Everywhere | Shift Shift |
| Go to File / Find Action / Recent Files | Ctrl+Shift+N / Ctrl+Shift+A / Ctrl+E |
| Find / Replace in Files | Ctrl+Shift+F / Ctrl+Shift+R |
| Go to Definition / Implementation | Ctrl+B / Ctrl+Alt+B |
| Find Usages | Alt+F7 |
| Rename | Shift+F6 |
| Quick fix | Alt+Enter |
| Build / Run | Ctrl+Shift+B / Shift+F10 |
| Commit / Git log | Alt+0 (Ctrl+K) / Alt+9 |
| Push / Pull / Update Project | Ctrl+Shift+K / Alt+P (macOS) / Ctrl+T |
| Branches | Ctrl+Shift+` |
| Terminal / Project view | Alt+F12 (Cmd+J on macOS) / Alt+1 |
| Copy Context for AI | Ctrl+Shift+C |
| Settings (and Keymap) | Ctrl+Alt+S |
Haze is not a Rider replacement. It keeps the Rider workflow for reviewing and steering agents, and leaves out what an agent-driven workflow rarely needs: debugger, profiler, deep inspections.
| Haze | Rider | |
|---|---|---|
| Install size | 40 MB | 6.3 GB |
| Window shown | 0.3 s | 2.5 s |
| Solution loaded (C# navigation ready) | ~3.9 s | 19.8 s |
| Memory, idle with the solution loaded | ~1.9 GB | ~4.1 GB |
| Price | Free, MIT | Paid (free for non-commercial use) |
Feature comparison
✅ yes ·
| Area | Feature | Haze | Rider |
|---|---|---|---|
| Project | Project view, file nesting, Git status colors | ✅ | ✅ |
Unity view (Assets and packages, .meta hidden) |
✅ | ✅ | |
| Full session restore (tabs, terminals, layout) | ✅ | ||
| Editor | Rider keymap, Search Everywhere, Find/Replace in Files | ✅ | ✅ |
| Change markers, inline blame, rainbow brackets | ✅ | ✅ (blame via plugin) | |
| Never silently overwrites files the agent changed on disk | ✅ | ||
| Split editors, detached editor windows | ✅ | ✅ | |
Copy Context (path:line + code fence for agents) |
✅ | ❌ | |
| C# | Go to Definition, Find Usages, Rename, quick fixes | ✅ (Roslyn) | ✅ (ReSharper) |
| Code Vision, inline completion | ✅ | ✅ | |
| Live code inspections | ✅ | ||
| Advanced refactorings (Extract, Move, Change Signature…) | ✅ | ||
| Decompiled DLL sources | csharp-ls) |
✅ | |
| Run and debug | Run configurations from launchSettings.json |
✅ | ✅ |
| Debugger | ❌ | ✅ | |
| Profiler (dotTrace, dotMemory) | ❌ | ✅ | |
| .NET test runner | dotnet test in a terminal) |
✅ | |
| Unity | Editor link: compile, Console, Play/Pause, asset usages | ✅ | ✅ |
Unity inspections (tags, layers, scenes, Resources, .asmdef references) |
✅ | ✅ | |
| Unity tests | ✅ | ✅ | |
| Unity Editor/Player debugging | ❌ | ✅ | |
| Git | Commit window, log graph, diff, 3-way merge | ✅ | ✅ |
| Interactive rebase, stashes, cherry-pick | ✅ | ✅ | |
| GitHub/GitLab accounts | ✅ | ✅ | |
| Pull request review | ❌ | ✅ | |
| AI agents | Terminals survive closing or updating the app | ✅ | ❌ |
| Agent status badges and notifications (Claude Code, Codex, Gemini, OpenCode, Deep Code) | ✅ | ❌ | |
| AI checkpoints, per-file reviewed marks | ✅ | ❌ | |
One worktree per agent, haze agent/send/wait/read CLI |
✅ | ❌ | |
| Built-in AI assistant | ❌ (uses external agents) | ✅ (JetBrains AI) | |
| Other | NuGet manager, database tools, HTTP client | ❌ | ✅ |
How performance was measured
Measured on an Apple M4 MacBook (24 GB RAM, macOS) with a Unity project (WorldEngine.sln), Haze 0.1.0 vs Rider 2026.2, warm caches, each app running alone.
| Memory breakdown | Haze | Rider |
|---|---|---|
| UI | 0.85 GB | 1.77 GB |
| C# analysis | 1.08 GB (Roslyn) | 1.78 GB (ReSharper, Roslyn worker) |
| MSBuild kept running | – | 0.44 GB |
- Memory is the macOS physical footprint (
footprint) of every process of each app, including Haze's WebKit processes and both C# servers. Haze had been in use for about 15 minutes; Rider had just finished loading. - Rider's times come from its
idea.log(Project frame set,Full warm solution load). Haze's solution time is the time to start Roslyn plus the time until Roslyn reportsworkspace/projectInitializationComplete, the signal Haze waits for. - Rider does more work while loading (inspections, caches), so this compares when C# becomes usable, not equal workloads. Numbers vary with the project and machine.
Want to build from source or contribute? See CONTRIBUTING.md for prerequisites, build and test commands, the release process and the architecture.
Haze is released under the MIT License.
The file and folder icons in src/assets/jb are JetBrains' (IntelliJ Platform and the Rider Unity plugin), used under the Apache License 2.0; see their license. So is the list of Unity's built-in shaders in src/lib/unity/builtinShaders.ts, from the Rider Unity plugin.











