Knowledge

Jan

Open-source desktop app for running local LLMs offline with a ChatGPT-like interface.

applocal-firstinferencejan

Draft: not yet reviewed/published by a human.

Jan

Jan is an open-source desktop app that runs language models entirely on your own hardware. It is positioned as a self-hosted alternative to ChatGPT and Claude: you download a model, chat with it, and no account or cloud service is required. Jan is built on llama.cpp/GGML and ships as a Tauri app (the Rust implementation is why the repository's primary language reads as Rust).

At a glance

Field Value
Home page https://jan.ai/
Download https://jan.ai/download
Repository https://github.com/janhq/jan
OSS? Yes
License Apache-2.0 (the LICENSE file requests attribution in user-facing docs)
Platforms macOS, Windows, Linux (AppImage and .deb packages on Linux)
Model formats GGUF via llama.cpp
Local API Yes — OpenAI-compatible local API server
Account required? No

Why it is on our list

  • It is the gentlest on-ramp to "a ChatGPT on my laptop" for people who are not ready to touch a terminal.
  • Apache-2.0 with a public repository: inspectable, forkable, repairable.
  • It exposes a local OpenAI-compatible API server, so the same models can back other tools later.

Install and first run

  1. Download the installer for your platform from https://jan.ai/download.
  2. Install and launch. Jan does not require an account.
  3. Pick a foundation model in the app, download it, and start chatting.

If you prefer written reference material over the in-app flow, start with the docs overview at https://docs.jan.ai/desktop.

Configuration worth knowing

  • Local API server. Jan can expose an OpenAI-compatible endpoint on your machine; other local tools can then point at Jan instead of at a cloud provider.
  • Data folder. Jan keeps models and settings in a data folder that you can relocate — useful when your system drive is small.
  • Engine settings. Model parameters (context length, GPU layers, sampling) are adjustable per model; leave defaults until something actually misbehaves.

Common pitfalls

  • Stale versions on Linux and older NVIDIA cards. The Jan 0.8.6 hotfix specifically addressed Linux AppImage model-loading crashes, NVIDIA Turing GPU compatibility, and Qwen3.8 speculative-decoding slowdowns. If you hit crashes or absurdly slow generation on that hardware, update before debugging anything else.
  • Downloading a model that does not fit your VRAM. A failed or glacially slow load is usually a sizing problem, not a bug. Choose a smaller quantization first, prove the pipeline works, then scale up.
  • Confusing "local" with "private from your network". Local inference keeps prompts on your machine; it does not stop a model from being served to other devices if you deliberately expose the API server.

Tips and tricks

  • Start with one small model, confirm it responds at acceptable speed, then add larger ones. This separates "my hardware is too weak" from "my configuration is wrong".
  • Once a model works in chat, turn on the local API server and point a second tool at it — that is the cheapest way to learn how local inference is reused across apps.
  • Keep the app updated; the project ships fixes for specific GPU generations rather than generic "performance improvements".

Videos

All links below were resolved through YouTube's oEmbed API on 2026-10-28, so the titles and channels are the real ones.

Related

Verification note: license, repository, and platform facts were read from the official site, the project docs, and the repository LICENSE file on 2026-10-28. Feature descriptions come from the project's own documentation and should be re-checked before being quoted as current.