by cristicretu
Native macOS orchestrator for coding agents — run Claude Code, Codex, Cursor, Gemini and shells in parallel across git worktrees and remote hosts
# Add to your Claude Code skills
git clone https://github.com/cristicretu/diriLast scanned: 8/5/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-08-05T06:28:12.820Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}diri is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by cristicretu. Native macOS orchestrator for coding agents — run Claude Code, Codex, Cursor, Gemini and shells in parallel across git worktrees and remote hosts. It has 258 GitHub stars.
Yes. diri passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/cristicretu/diri" and add it to your Claude Code skills directory (see the Installation section above).
diri is primarily written in Rust. It is open-source under cristicretu on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh diri against similar tools.
No comments yet. Be the first to share your thoughts!
Native desktop orchestrator for coding agents on macOS and Linux. Run Claude Code, Codex, Cursor, Gemini and plain shells in parallel — across git worktrees or on remote hosts — each with a live status (working / needs-you / done) and tmux-like persistence: closing the app never kills a session, and a daemon restart brings conversations back.

brew install --cask cristicretu/diri/diri
Or download the latest DMG from Releases, open it, and drag diri to Applications. Either way it is the same universal build (Apple silicon and Intel), signed and notarized. diri updates itself from there.
The tap has to be named in full — a bare diri resolves only against Homebrew's default
taps. The cask lives in cristicretu/homebrew-diri
rather than homebrew-cask, which requires a notability threshold diri does not meet yet.
macOS 15 or newer.
Download the x86_64 AppImage or Debian package from Releases. Ubuntu 22.04 and 24.04 are supported under X11 and Wayland with a Vulkan 1.3-capable GPU.
sudo apt install ./diri_<version>_amd64.deb
# or
chmod +x diri_<version>_amd64.AppImage && ./diri_<version>_amd64.AppImage
See the Linux beta guide for checksums, upgrade and uninstall steps, XDG paths, graphics troubleshooting, and current limitations.
The getting-started guide covers remote hosts, MCP orchestration, diagnostics, local data, and uninstalling.
First-class status detection and resume are Claude Code and Codex. Cursor and Gemini run with partial support, and anything else runs as a terminal with running/exited status.

Two processes, one wire protocol:

diri — the desktop app: Rust + GPUI. Owns the
window, sidebar, terminal renderer, command palette, and usage accounting. Lives in
diri/.dirijord-rs — the headless Rust engine, launched by the app and outliving it. Owns PTYs and
child agent processes, an offset-addressed output log per session (for detach and replay), a
headless terminal emulator for status detection, the session registry and persistence,
worktrees, and the control socket.dirijor is the automation CLI for hooks, notifications, status, and diagnostics;
dirijor-mcp is the MCP stdio server injected into agents. diri-holder owns each PTY master so
sessions survive an engine restart. Every shipped executable is built from the Rust workspace in
diri/.
Agent support is data, not code. Each agent is one JSON file in
diri/crates/diri-engine/manifests/ describing how to spawn it, how to resume, which keys
approve or deny a prompt, and the screen rules that decide whether it is working, waiting, or
done. Copy the closest existing manifest and adjust it — no code changes required. The
manifest-authoring guide explains the schema, safe capture workflow,
examples, overrides, and validation. This is the easiest way to contribute.
Needs Rust (pinned in diri/rust-toolchain.toml) plus the platform build dependencies. On macOS
that means the Xcode command-line tools; Linux dependencies and packaging commands are listed in
diri/LINUX.md. The first
build compiles GPUI from a pinned Zed revision and takes a while.
(cd diri && cargo build) # app, engine, holder, CLI, MCP
(cd diri && cargo test --workspace)
(cd diri && cargo run -p diri-app) # run the app from source
diri/scripts/package.sh # full bundle
diri/scripts/package-linux.sh # AppImage + DEB, on x86_64 Linux
diri/scripts/install-local.sh
Run the same core checks as CI with one command:
./scripts/check.sh
diri/PACKAGING.md covers signing and notarization,
diri/UPDATING.md the updater and release flow,
diri/NODE.md running agents on a remote VPS node.
The documentation index links user and engineering guides.
See CONTRIBUTING.md. Bug reports, fixes, docs, and new agent
manifests are all welcome. New contributors can start with
good first issue
or help wanted.
Questions belong in Discussions, reproducible bugs in Issues, and vulnerabilities in private security reports. See the roadmap, support guide, privacy notice, and governance for project expectations.
Diri's original source is Apache 2.0. Builds also contain third-party software
under its own licenses; see LICENSE, NOTICE, and the
machine-checked dependency policy in license-policy.json.