HashCortx — Hash (the prompt, the identifier) + Cortex (the thinking layer).
Written HashCortx: capital H, capital C, lowercase x, no space. In terminal contexts, hashcortx_.
The GitHub repository is
Hash-7777/HashCortXwith a capital X, and URLs must keep that spelling. Everywhere else — the app, the docs, prose — useHashCortx.tauri.conf.jsonsets"productName": "HashCortx".
Local-first AI workspace
HashCortx — 100% local. Zero cloud. No account.
Your API keys stay on your machine.
Your files never leave it.
No telemetry. No tracking. No backend server.
Air-gapped capable with local models (Ollama).
Every AI request travels: your device → provider API → back.
Nothing passes through us. There is no "us".
Do not write "your keys never leave your keychain." Keys are not in the macOS Keychain — they live in an app-scoped local store, in plain text, protected by the user account rather than by encryption. See SECURITY.md. Claiming Keychain storage is a false security claim.
The brand mark is the white brain — a top-down anatomical brain outline with rays converging on the brainstem, drawn in white on near-black. It ships as the app icon and lives at logosss/new hashcortx logo no bg.png (white art on transparency).
Use it white. Do not recolour it, do not add a glow, do not place it on a light background without a dark plate behind it.
[brain mark] hashcortx_
└────────┘└ cursor
scripts/gen-icon.py draws a seven-ray neon-green burst and does not produce the shipped icon. It predates the brain mark. Do not run it expecting the current icon.
Read this section before you touch a colour. Three palettes currently coexist in the app, and the token names lie about two of them. This is real technical debt, documented here rather than hidden.
These are the tokens components should use.
| Token | Hex | Use |
|---|---|---|
--gold |
#c9a96e |
Primary accent — the Send button, primary actions |
--gold-2 |
#dfc38e |
Hover, highlights |
--gold-deep |
#8b6d2c |
Pressed, dim accent |
--emerald |
#4ade80 |
Success, safe, allowed — active tab icons |
--rose |
#f87171 |
Danger, denied, destructive |
--bg-0 |
#06070a |
App background |
--bg-2 |
#0d1117 |
Panels |
--text |
#ece7dc |
Primary text |
--text-dim |
#a39d91 |
Secondary text |
--muted |
#6b6558 |
Tertiary text |
tabs.css, sidebar.css and friends do not use the tokens above for borders and glows. They hardcode rgba(34, 211, 238, …) — cyan — for tab borders, focus rings and glow shadows, with mint #b6e5c7 label text and --emerald icons.
This is why the app reads as cool green-teal on screen even though the accent token is gold. The gold shows up mainly on the Send button.
coder-mode.css uses #39ff81 — neon terminal green — for output and status text. That is the colour scripts/gen-icon.py was built around, and it survives only inside Coder.
src/styles.cssdefines a legacy--hc-*set on:rootin which--hc-greenis#22d3ee, which is cyan, not green. The name is wrong. These tokens are effectively unused; do not build on them.src/styles.cssalso redefines--goldas#22d3ee— but scoped to#intro-screenonly. That is the splash screen's local palette, not the app's. An earlier version of this guide read that line, concluded the primary was cyan, and was wrong. So was the version that claimed gold was the only accent.styles.cssloads last inindex.html, so anything it puts on:rootwins. Check the selector before you assume a token is global.
README diagrams are monochrome — white and grey on near-black, with emerald and rose reserved for allowed and denied. They deliberately do not follow the app palette, because the app palette is currently three palettes. Keep the docs art white until the UI colours are unified.
- UI body: the system sans stack (
--sans) — SF Pro on macOS. - Code, terminal surfaces, modals: JetBrains Mono, falling back to
ui-monospace. - Diagrams and the README hero: monospace throughout.
The claim that the entire UI is monospace is not true, and never was.
- Terminal-first: short, direct, no filler.
- Action-oriented: "patching", "running", "done".
- No marketing speak. Never "powerful", "seamless", "revolutionary".
- Security-confident, which means stating facts including the unflattering ones. If a protection is weaker than a reader would assume, say so before they find out.
- Not a cloud service
- Not a subscription
- Not a data company
- Not a wrapper around another product