If you've ever wanted the experience of ChatGPT without ChatGPT's servers seeing every question you type, Jan is probably the most direct answer that exists right now. It's a native desktop app — a real installer, not a command-line tool dressed up with a graphical interface — that downloads open-source language models to your machine and runs them there. Once the model is on your hard drive, the internet is optional.
That matters for a specific kind of person: the lawyer who drafts privilege memos, the analyst who pastes client data into prompts, the founder who talks to an AI about strategy she hasn't told her board yet. For those people, hosted AI is a policy problem as much as a tool. Jan solves the policy problem cleanly, without requiring any technical sophistication.
At a glance
| Fact | Value |
|---|---|
| Where it lives | github.com/janhq/jan |
| License | Apache 2.0 — free for personal and commercial use, including modification |
| Maintained? | Yes — actively developed, regular releases |
| Install path | Download the installer from jan.ai or GitHub releases; no package manager required |
| Works with | Standalone app; optional use as a local API server for Claude Code, Cowork, or any OpenAI-compatible client |
| Setup time | Under 5 minutes to install; 5-30 minutes to download a model depending on size and connection |
| Cost | Free. No subscription. Model downloads are free from Hugging Face. |
What Jan actually is
Jan is an offline-first desktop application for running large language models (LLMs — the class of AI that powers ChatGPT, Claude, and Gemini) on your own hardware. You download the app, pick a model from the built-in hub, wait for it to download, and chat with it. The model files live on your disk. Nothing you type leaves your machine unless you explicitly connect to a cloud service.
The project sits on three technologies: llama.cpp for the actual model inference (the part that runs the AI math), Tauri (an open-source framework for building native desktop apps) for the application shell, and a JavaScript application layer. That stack means it's genuinely cross-platform without being a web app in disguise — it uses your GPU (or CPU) directly and behaves like a real installed application, not a browser tab.
It has been downloaded more than 4 million times — past the threshold where you worry about finding help or waiting for obvious bugs to get fixed. This is not a project in early access.
What ships in the repo
The app is more than a chat window attached to a model runner. Key components:
- Model Hub — a browsable catalog of downloadable models including Llama 3, Gemma, Qwen, Mistral, DeepSeek, and GPT-style open-source variants from Hugging Face; model files range from roughly 1.5 GB for a fast 3-billion-parameter model (parameter count is a rough proxy for capability and hardware demand — more parameters means smarter but heavier) to 20+ GB for a capable 13-billion-parameter one
- Thread interface — a conversation history that persists between sessions, organized like a messaging inbox; you can run multiple separate threads with different models or settings simultaneously
- Custom Assistants — reusable assistant configs where you set a system prompt, a model, and parameters, then save it to reuse across threads; useful for building a "legal memo reviewer" assistant and a "summarize this report" assistant as distinct entries
- Local API server — Jan can run a small server in the background on your own computer (at a local address nothing outside your machine can reach) that speaks the same communication format OpenAI uses; this means any tool designed to work with OpenAI (Claude Code, Cowork, Open WebUI, dozens of other apps) can be redirected to use Jan's local model instead of a cloud one
- Cloud provider pass-through — if you want to use OpenAI, Anthropic, Mistral, or Groq from inside the same interface, Jan supports that too; the local and cloud modes coexist, and you can switch mid-session
- Model Context Protocol integration — MCP support means Jan can connect to external tools and data sources using the same plugin standard that Claude Code and Cowork use; the scope of this is still growing but the foundation is in place
Platform coverage: Windows 10+, macOS 13.6+, Linux (standard installer packages for Debian/Ubuntu-based systems and a universal single-file format that runs on most distributions, including ARM-based machines). Also available on the Microsoft Store and Flathub.
Why this matters for the privacy-conscious professional
The non-technical professional who wants local AI has historically had two real options: pay for a hosted product and accept the vendor sees the data, or hire someone to set up Ollama and a self-hosted stack. Jan is the first option with none of the privacy tradeoff, and it doesn't need the second.
The install experience is genuinely accessible. There is no terminal step in the normal path. You download a .dmg or .exe, open the app, click "Explore Models," pick one based on the size your hardware can handle (Jan shows which models fit your RAM), and download it. The whole thing reads like installing a productivity app.
For the use cases where this matters most — reviewing contracts, drafting communications with sensitive context, analyzing financial data you don't want on someone else's server — Jan gives you a capable assistant that's structurally impossible to subpoena from the vendor, because the vendor never had the data.
The local API server capability matters for a second persona: the person who already uses Claude Code or Cowork but wants to run cheaper, faster inference for high-volume repetitive tasks without paying per token. Point those tools at Jan's local server and you get a local model as a drop-in for cloud calls, with full control over cost and no rate limits.
Where it fits
Jan occupies the "graphical desktop app, non-technical user" niche in a crowded local AI ecosystem. Named alternatives:
- GPT4All — the most direct competitor: also a native desktop app, also fully offline, also targeting non-technical users. GPT4All's LocalDocs feature for querying your own documents is more polished than Jan's current equivalent; Jan's model catalog and UI are cleaner. Both are legitimate choices for the same persona.
- Ollama — a local model server with a command-line interface. Extremely popular with developers and as a backend for other apps. Not the right tool for a non-coder who wants to open an app and chat; absolutely the right tool if you're building something on top of a local model.
- LM Studio — a polished desktop app with similar goals to Jan, strong on developer features (deeper coding tool integrations, fine-grained inference controls), and explicitly targets users who want local AI with developer-grade controls. LM Studio is proprietary, not open-source; if having the right to inspect or modify the source code matters to you, that's the deciding factor.
Jan's specific position: the only fully open-source option in this list that prioritizes a non-technical desktop experience above all else.
Verdict
Install if you're a non-technical professional who wants a working, private AI assistant on your machine and doesn't want to learn terminal commands to get it. The install experience is genuine, the model catalog is good, and the project is well past the "will this still exist in six months" risk threshold.
Wait if your primary use case is querying your own document library (Jan's document Q&A features are developing; GPT4All's LocalDocs is more mature today) or if you need the most capable models available — 70-billion-parameter and larger models require GPU hardware and significant RAM that most laptops don't have; at that scale, a cloud API is usually a more practical answer.
Skip if you're a developer looking for a programmable local inference backend. Ollama is the better foundation for that job.
The one thing to audit before you rely on Jan for sensitive work: check the model you're downloading against its original license. Jan is open-source and Apache-licensed; the models themselves have separate licenses (Llama 3 has specific commercial terms, for instance). Most common models are fine for professional use, but it takes thirty seconds to verify and it's worth doing.
For your agent to install this
You can skip this section — it's the install details your AI agent needs. If you're using Cowork, Claude Code, ChatGPT Work, Codex, or Hermes, say "install Jan for me" and it will read the tables below.
System and OS requirements
| Requirement | Value |
|---|---|
| Operating system | Windows 10+, macOS 13.6+, Linux (Ubuntu/Debian via .deb, or any distro via AppImage; Arm64 supported) |
| RAM for 3B-parameter models | 8 GB minimum |
| RAM for 7B-parameter models | 16 GB recommended |
| RAM for 13B-parameter models | 32 GB recommended |
| GPU | Optional but significantly faster; NVIDIA and Apple Silicon both supported |
| Disk space | 5 GB free minimum; plan for 5-20 GB per model you download |
API keys
Jan requires no API key to run local models. Everything works offline once you've downloaded a model.
| Key / config | Required? | What it unlocks |
|---|---|---|
| None | — | Full local model functionality |
| OpenAI API key (Settings → Model Providers) | Optional | Access to GPT-4o and other OpenAI models from within Jan's interface |
| Anthropic API key (Settings → Model Providers) | Optional | Access to Claude models from within Jan's interface |
| Mistral / Groq / other API keys | Optional | Access to cloud models from those providers |
Install commands
macOS: Download the universal .dmg from jan.ai, open it, and drag Jan.app to Applications.
Windows: Download the .exe installer from jan.ai or GitHub releases and run it. No additional configuration needed.
Linux (Debian/Ubuntu):
wget https://github.com/janhq/jan/releases/latest/download/jan-linux-amd64-*.deb
sudo dpkg -i jan-linux-amd64-*.deb
Linux (AppImage):
wget https://github.com/janhq/jan/releases/latest/download/jan-linux-x86_64-*.AppImage
chmod +x jan-linux-x86_64-*.AppImage && ./jan-linux-x86_64-*.AppImage
Local API server (for agent integration)
Once Jan is running with a model loaded, enable the local server in Settings → Local API Server. The server starts at http://localhost:1337/v1 in OpenAI API format. Point Claude Code or Cowork at that base URL and use any string as the API key — the local server does not validate it.