# HashCortX > HashCortX is a free, open-source desktop AI workspace for macOS, built by Seif Hashish. > It puts multi-provider chat, an autonomous coding agent, an offline knowledge base, a real > Python sandbox, financial document analysis, a security scanner and multi-agent swarms into > one window. There is no backend, no account and no telemetry: requests go from the user's > machine straight to the AI provider whose key they entered, or to a local model via Ollama. Current version: 2.6.0, released 1 September 2026. Licence: MIT. Website: https://hashcortx.com Companion app: HashNotch 1.3.1, released 26 August 2026 — see the HashNotch section below. In development: HashWinNotch, the Windows version of HashNotch. Not released; no date. Source: https://github.com/Hash-7777/HashCortX ## How it started In the developer's own words: it started with local models. He wanted to know how to run and tune them properly, so he turned an old laptop into a home server and learned something new from it most days. What he did not have was a way to actually use them — somewhere to build agents that stayed on his own machine, put them to work in more than one way, and let a local model and a cloud model work on the same problem rather than having to choose between them. So he built the missing part. It began as a plain chat box on a web page and kept growing, a workspace at a time, until it became the application described here. Where it has been shown: - Product Hunt: https://www.producthunt.com/products/hashcortx - Show HN thread: https://news.ycombinator.com/item?id=48369212 - Hacker News discussion: https://news.ycombinator.com/item?id=48357392 - Trendshift listing: https://trendshift.io/repositories/36185 ## What it is - A native desktop application built with Tauri v2 (Rust) and plain JavaScript — no bundler, no framework, no minified application code. - Eight workspaces in one window: Chats, Coder, 3D Forge, Finance, Sandbox (a security scanner), ERP (a business-app prototype builder), Agent Swarm, and Virtual OS. Two further surfaces live inside chat rather than having a workspace of their own: Agents (nine built-in specialists plus a builder for your own) and Split (one prompt answered by two models side by side). - Eleven cloud providers — Groq, Google Gemini, OpenAI, Anthropic, Moonshot, DeepSeek, Mistral, Cerebras, SambaNova, OpenRouter, NVIDIA NIM — plus Ollama for local models. - A knowledge base that searches by meaning using an embedding model (bge-small-en-v1.5) compiled into the binary, so retrieval works with the network off. - A Python sandbox running real CPython on WebAssembly with pandas, numpy and matplotlib, which produces genuine .docx, .xlsx, .pdf and .png files. ## How it handles privacy and safety - There is no HashCortX server, no analytics, no crash reporting and no update pings. - API keys are stored in an app-scoped local directory protected by the user's account. They are not in the macOS Keychain: the build is unsigned, and a Keychain item's access control is tied to a code signature, so every rebuild would re-prompt. This is stated plainly rather than described as "OS-grade" storage. - Every filesystem and shell action an agent takes passes a permission guard in the renderer and is re-checked in Rust against a compiled denylist that no prompt can override. Actions are recorded in a local audit log. - Reading a web page asks permission too, because a URL is a way for something the agent has just read to leave the machine. ## Honest limitations - The build is unsigned and un-notarised. macOS refuses it on first open and the user must clear the quarantine flag once. This is documented in the release notes and on the website. - Only Apple Silicon Macs have a ready-made download. Intel Macs build from source. - Linux and Windows compile and pass their tests in continuous integration on every change, but nobody has run the application on either, so they are buildable rather than supported. - 3D Forge and the ERP builder are earlier and rougher than the rest of the app. - Each release ships with a written list of what is still open. That list is part of the release notes, not omitted from them. ## HashNotch 1.3.1 — released 26 August 2026 HashNotch is the companion app to HashCortX and the second released app in the Hash ecosystem. It is a native Swift utility for macOS that turns the black notch on a MacBook into a live display, and lights up when HashCortX or any other AI coding tool finishes a job or needs the user. Free, GPL v3, no telemetry, no account. - Source: https://github.com/Hash-7777/HashNotch - Download: https://github.com/Hash-7777/HashNotch/releases/latest - Release notes: https://github.com/Hash-7777/HashNotch/releases/tag/v1.3.1 - Requires macOS 12 or newer, on Apple Silicon or Intel. A Mac with no notch gets the same panel drawn at the top of the screen. What it shows: now playing with artwork and transport controls, battery, processor, memory, storage, network throughput, network data used and which programs used it, temperatures, downloads, AirPods battery, microphone in use, timers, and today's AI token spend across Claude Code, HashCortX and HashCerebrum. New in 1.3.1, a small release five commits after 1.3.0 about one thing — being able to put the indicators in the order you want, which 1.3.0 could not do: - Dragging a row on the Indicators page moved the whole settings window instead of the row, so the order could not be changed at all. The window has no title bar, so it is told it may be dragged by its background, and then every view inside it gets a say in whether a press moves the window; nearly all say yes unless told otherwise. The whole window was a handle, and a window that moves on a press takes that press with it. The window now moves only from its header. - Reordering is animated, so a row travels to its new place rather than jumping there, and what follows the pointer is a small piece naming the indicator instead of a live copy of the row. The carried piece needs macOS 13 or newer; on Monterey the drag still works with the system's own picture of the row. - A page title is no longer pressed up against the row of tabs above it. New in 1.3.0, which is 84 commits after 1.2.0 and the largest release so far: - Temperatures now work on every Mac rather than only Apple Silicon. The rows read the SMC directly, so an Intel Mac gets real processor, drive and battery readings instead of an empty section, and the rows hold one order rather than re-sorting hottest-first while being read. - The network readout says which programs used the data, not only how much. It reads Apple's own nettop per process, with no address, no port and no remote host requested or returned. A program can never be shown using more than the machine used: anything unknowable is counted as history rather than attributed. - A running timer survives a locked lid. Display sleep used to cancel it silently. Sleeping now suspends the samplers without touching the deadline, and the alert is scheduled with the system so it arrives with the screen off. - The agent side sets itself up from Settings, with no terminal: a button connects Claude Code, says whether it is already connected, and offers to update the installed hook when it falls behind the app. - Every heading in the panel is drawn from geometry in the source rather than borrowed from the system, at two line weights so a mark stays readable at nine points. - A hairline traces the physical notch: green when a tool finishes, amber while something waits, breathing faster the longer it waits. Earlier releases: - 1.2.0, 17 August 2026 — the app renamed back to HashNotch everywhere, with settings carried across; the panel's power button actually quits (it had failed in three ways at once); a finished AI tool shows only its name. - 1.1.0, 28 July 2026 — the panel stays where you put it; a real way to refuse the opening consent window, which closes the app and removes its settings file; reset appearance and reset all settings; a Mac with no battery stops showing a battery. - 1.0.0, 27 July 2026 — first release. At rest the island matches the physical notch exactly; now playing for anything that plays; processor, memory, storage, internet speed, battery, AirPods, temperatures, downloads and a timer; a live dot when any app opens the microphone; and the local activities feed that lets any tool light the notch. GPL v3. What is still not finished, stated in the release rather than left out: the app is not signed by Apple, so macOS refuses it on first open; every update revokes the Accessibility approval because an unsigned build is identified by its exact bytes, which affects only the browser media keys; and the Claude Code hook is copied into the home folder on purpose, so it does not follow app updates — the panel says when the installed copy is behind and offers to update it. How it treats AI tools: it tells the user, and never intercepts. When a tool stops for a permission or a question, the notch says so and holds its edge amber until it is dealt with; clicking it brings the waiting window forward. Nothing in HashNotch can allow or refuse a tool call on the user's behalf — the hook writes a local file and returns nothing the agent acts on, so no tool call is ever held open waiting for the notch. An earlier attempt at answering permissions from the notch was built and then removed for exactly this reason. Verification: 917 automated checks run before every push and again in continuous integration on every change — the parsers, the geometry, the privacy rules and the arithmetic behind every readout. Every commit and every tag is signed. Like HashCortX, the build is unsigned and un-notarised, so macOS refuses it on first open and the user clears the quarantine flag once; this is stated in the release notes rather than glossed over. ## Installing and running each app — every system HashCortX ships two files: a macOS disk image for Apple Silicon and a Windows program for 64-bit PCs. HashMeterAi and HashNotch ship a macOS disk image only. Where there is no prebuilt download you build from the source, which takes a few minutes once Node and Rust are installed. The Windows download for HashCortX is built WITHOUT local embeddings, deliberately: the standard build links a prebuilt ONNX Runtime compiled for AVX2 processors, linked so its start-up code runs before the app's own, so on a pre-2013 processor the app cannot start at all. The published Windows build has none of that in it and starts on any 64-bit PC. The trade is that it searches the knowledge base by keyword rather than by meaning, and reports that it is doing so. Building from source with the default features gives search by meaning on a processor with AVX2. Windows status: the app has been built, installed and run on one Windows 10 machine. That is the whole of the evidence. Describe it as "runs on Windows, tested on Windows 10" — not as broadly supported, and never claim Linux, where nobody has launched it. The website has the full steps for every app and every system at https://hashcortx.com/#install What runs where: - HashCortX — macOS Apple Silicon: download and run. Windows: download and run. Linux and Intel Mac: build from source. - HashMeterAi — macOS Apple Silicon: download and run. Windows, Linux: build from source (it looks for usage files where macOS keeps them, so it finds fewer tools elsewhere). - HashNotch — macOS only, download and run. There is no Windows or Linux version and there will not be; it is written in Swift against Mac-only frameworks. - HashWinNotch — nothing to download; still being built. Building either Tauri app (HashCortX, HashMeterAi) is the same three commands on every system, after the tools are installed: cd ~ git clone cd npm install npm run tauri build What has to be installed first: - Windows: Node LTS, Rust via rustup, and the Microsoft C++ Build Tools with the "Desktop development with C++" option ticked. WebView2 is already in Windows 11 and in updated Windows 10. The build output is an .exe installer under src-tauri\target\release\bundle\nsis\ - Linux (Ubuntu 24.04+): build-essential, pkg-config, libwebkit2gtk-4.1-dev, libayatana-appindicator3-dev, librsvg2-dev, libxdo-dev, libssl-dev, libdbus-1-dev, patchelf, then Rust and Node. The output is an AppImage and a .deb under src-tauri/target/release/bundle/ - macOS: xcode-select --install, then Rust and Node. Two things stop a Windows build that are not obvious from the error: - **The processor.** The default HashCortX build links a prebuilt ONNX Runtime for the embedding model, compiled for x86-64 processors with AVX2 and BMI2 — Intel Haswell (2013), AMD Excavator (2015) and newer. It is linked statically, so its start-up code runs before main(). On an older processor Windows kills the process while it is still loading: no window, no error dialog, nothing in the interface — a double-click that appears to do nothing. Build with `npx tauri build -- --no-default-features` and the app starts on any x86-64 machine, searching the knowledge base by keyword instead of by meaning. The `--` is required: the Tauri CLI has no such option of its own and forwards what follows it to cargo. Through npm it takes two, because npm consumes the first — `npm run tauri build -- -- --no-default-features`. Apple Silicon is not affected. - **Where the clone lives.** Run `cd ~` before `git clone`. PowerShell opened as an administrator starts in C:\Windows\System32, so a pasted clone lands in Windows' own system folder; a normal PowerShell starts in the user's folder. Administrator is needed for the prerequisite installers (Node, Rust, C++ Build Tools) but NOT for the build. A checkout under System32 fails misleadingly: the WiX installer tools are 32-bit, and a 32-bit process reading that path is redirected by Windows to SysWOW64, where the checkout does not exist — so the Rust build succeeds and bundling then fails saying it cannot find a file that is present. The folder also inherits System32's permissions, so removing it needs an administrator PowerShell: robocopy C:\Windows\System32\HashCortX $HOME\HashCortX /E /XD target Remove-Item -LiteralPath C:\Windows\System32\HashCortX -Recurse -Force None of these apps is signed by Apple or by Microsoft, because signing needs a paid certificate. Both systems therefore refuse them on first open, and this is expected rather than a sign of a bad download: - macOS: run `xattr -cr /Applications/.app` once, or use Open Anyway in System Settings > Privacy & Security. - Windows: click "More info" then "Run anyway" on the blue SmartScreen box. ## HashWinNotch — in development, not released HashWinNotch is the Windows version of HashNotch. It is being built now and has not been released; there is no date and no download. A Windows laptop has no notch, so instead of one it puts the same live strip of the machine at the top of the screen and out of the way until it is wanted: battery, processor, memory, storage, network, downloads, and the day's AI token spend. It follows the same rule as the rest of these apps — every figure is read on the machine it runs on, and none of it is sent anywhere. Status: in development. Do not describe HashWinNotch as available, released or downloadable. The released notch app is HashNotch, and it is macOS only. ## The developer Seif Hashish is a clinical pharmacist and open-source developer based in Egypt. He builds local-first desktop AI applications and publishes them under open licences. He works by directing AI coding agents rather than typing the code himself: architecting the system, specifying each change, and reviewing what comes back against tests and real runs. His published apps are HashCortX (a desktop AI workspace, MIT), HashMeterAi (a private usage meter for AI coding tools) and HashNotch (a native macOS utility for the MacBook notch). Two are in development: HashCerebrum, a medical research workbench with a 3D brain interface, and HashWinNotch, the Windows version of HashNotch. - GitHub: https://github.com/Hash-7777 - Contact: Hashish.ai@hashcortx.com ## Links - Website: https://hashcortx.com - Source code: https://github.com/Hash-7777/HashCortX - Download: https://github.com/Hash-7777/HashCortX/releases/latest - Release notes and the list of open items: https://github.com/Hash-7777/HashCortX/blob/main/CHANGELOG.md - Security and key handling: https://github.com/Hash-7777/HashCortX/blob/main/docs/SECURITY.md - Architecture: https://github.com/Hash-7777/HashCortX/blob/main/docs/ARCHITECTURE.md - Product Hunt: https://www.producthunt.com/products/hashcortx - Hacker News: https://news.ycombinator.com/item?id=48369212 - HashMeterAi: https://hashmeterai.com - HashNotch source: https://github.com/Hash-7777/HashNotch - HashNotch 1.3.1 release: https://github.com/Hash-7777/HashNotch/releases/tag/v1.3.1