Install Cabinet

Install Cabinet

Get from zero to a running cabinet in under five minutes. The first-run wizard creates your data folder, seeds an example cabinet, and asks you to plug in one model API key.

Who this is for

You want a local-first knowledge base where every page is a markdown file on disk and a team of AI agents can edit and run jobs against it.

If you're brand new, read Philosophy first — it's the 90-second pitch.

Supported systems

SystemStatusNotes
macOS 12+Fully supportedNative Electron app or npx CLI. Apple Silicon and Intel.
LinuxUntestedShould work via the npx CLI (Cabinet is Node + Electron — both fully Linux-compatible) but hasn't been verified yet. Try it and share what breaks.
WindowsVia WSL2Run inside WSL2 (Ubuntu recommended). Native Windows support is on the roadmap.
RequirementVersionHow to check
Node.js22+ (LTS)node -v — repo ships an .nvmrc, run nvm use to auto-switch
gitany recentgit --version
An AI CLIlatestOne of: Claude Code, Codex CLI. See Bring your own AI.

Install — Mac native app (Electron)

Easiest path on macOS. Download the .dmg, drag Cabinet into Applications, double-click. No terminal required.

Download Cabinet for Mac (.dmg)

Both Apple Silicon (M-series) and Intel builds are published with each GitHub Release. The first launch asks for the same things the CLI does — a folder for your cabinets, and an AI provider.

Note. macOS may ask you to confirm the app on first open (Apple Gatekeeper). Right-click → Open if you see "unidentified developer."

Install — npx CLI (any platform)

npx create-cabinet@latest my-cabinet
cd my-cabinet
npm run dev:all

Open the URL printed in your terminal (usually http://localhost:4000). The wizard creates a data folder, seeds an example cabinet, and prompts for one model API key.

Tip. Cabinets live anywhere on disk. Set CABINET_DATA_DIR=/path/to/folder before npm run dev:all to use a different location. Your folder is your data; the app is just a viewer.

Pick a model provider

Cabinet is bring-your-own-AI. You connect the providers you already pay for. There's no Cabinet middleman, no inference markup, no quota.

ProviderBest forGet a key
Anthropic ClaudeDefault for most agents — long context, careful writingconsole.anthropic.com
OpenAI GPTCheap routing, strong tool use, fastplatform.openai.com
Google GeminiLong-context research, low cost per tokenaistudio.google.com
xAI GrokLatest news, code, lighter-weight tasksconsole.x.ai
Local (Ollama / LM Studio)Offline, private, no API billollama.com / lmstudio.ai

You can connect multiple providers and pick a default per agent or override per task.

Verify it worked

Three checks. If any fail, jump to common failure modes below.

  1. The sidebar shows index.md selected.
  2. Press ⌘K (or Ctrl+K) — search opens.
  3. Press ⌘⇧A — the AI panel opens on the right.

If all three pass, your cabinet is alive. Now go meet your team.

Try your first agent

Open .agents/ in the sidebar. Click any persona. Click Hire. The agent appears in your AI team panel with the Active dot lit. Click their avatar to chat with them, or assign a task on the Task Board.

Don't have a team yet? Templates ship complete teams in one command:

npx cabinets add cabinet-app/job-hunt-hq
# or browse the registry at cabinets.sh

Common failure modes

SymptomLikely causeFix
EADDRINUSE :3000Old dev server still boundlsof -i :3000 then kill the PID, or set PORT=3001
Blank editor on first loadModel API key missing or invalidOpen Settings → Providers, paste your key, refresh
npm ERR! 401 on installStale auth token in ~/.npmrcnpm config delete _authToken, then retry
Sidebar says "no cabinets"CABINET_DATA_DIR points at an empty folderUnset it, or run npx cabinetai create inside it
Agent says "no API key" mid-chatProvider keyed but model not allowedSettings → Providers → enable specific models
First-run wizard hangsFirewall blocks fonts.googleapis.comAllow it, or use the offline build (npm run dev:offline)

Recovery toolkit

When things look broken, run these in order:

npx cabinetai doctor          # Diagnose env, ports, providers, db
npx cabinetai sessions list   # Show active sessions and locks
npx cabinetai uninstall       # Remove cached app (your data is safe)
npx cabinetai update          # Reinstall the latest version

Your cabinet folders are your data. uninstall only removes the cached app — it never touches your ~/cabinets/ folders.

Quick reference

CommandWhat it does
npx create-cabinet@latestScaffold a new cabinet folder and start the app
npx cabinetai runStart Cabinet against the current folder
npx cabinetai create <name>Create a new cabinet inside this one
npx cabinetai add <owner/repo>Install a template cabinet from cabinets.sh
npx cabinetai doctorDiagnose install + provider issues
npx cabinetai updateReinstall the latest version
npx cabinetai uninstallRemove cached app (keeps your data)
⌘KOpen search
⌘⇧AToggle AI panel
⌘`Toggle web terminal
?Open keyboard cheat sheet

See the full CLI reference for every flag and exit code.

Next steps