Skip to main content

Top-Level Commands

serve

Load a local model and expose it at localhost:6767/v1. Auto-detects LlamaCPP or MLX.
jan serve [MODEL_ID] [OPTIONS]
See the serve command documentation for detailed usage.

launch

Start a local model, then launch an AI agent with it pre-wired (environment variables set automatically).
jan launch [PROGRAM] [OPTIONS] [-- PROGRAM_ARGS...]
See the launch command documentation for detailed usage.

threads

List and inspect conversation threads saved by the Jan app.
jan threads <SUBCOMMAND>

Subcommands

Print all threads as JSON.
jan threads list
Output: JSON array of thread objects with metadata.
Print a single thread’s metadata as JSON.
jan threads get <THREAD_ID>
id
string
required
Thread ID to retrieve
Output: JSON object with thread metadata.
Permanently delete a thread and all its messages.
jan threads delete <THREAD_ID>
id
string
required
Thread ID to delete
Output: Confirmation JSON with deleted thread ID.
Print all messages in a thread as JSON.
jan threads messages <THREAD_ID>
thread_id
string
required
Thread ID to get messages from
Output: JSON array of message objects.

models

List and load models installed in the Jan data folder.
jan models <SUBCOMMAND>

Subcommands

Print all installed models as JSON (from the Jan data folder).
jan models list [--engine <ENGINE>]
engine
string
default:"all"
Filter by engine: llamacpp, mlx, or all
Example Output:
[
  {
    "id": "qwen3.5-35b-a3b",
    "engine": "llamacpp",
    "name": "Qwen 3.5 35B",
    "model_path": "/Users/you/Library/Application Support/Jan/models/qwen3.5-35b-a3b/model.gguf",
    "size_bytes": 21474836480,
    "embedding": false,
    "capabilities": ["text"],
    "mmproj_path": null
  }
]
Load a model and serve it — alias for the top-level serve command.
jan models load [MODEL_ID] [OPTIONS]
Accepts the same options as jan serve. See serve documentation.
Load an MLX model directly (macOS / Apple Silicon only).
jan models load-mlx --model-id <MODEL_ID> [OPTIONS]
model-id
string
required
Model ID as shown by jan models list --engine mlx
model-path
string
Path to the MLX model directory (auto-resolved from model.yml when omitted)
bin
string
Path to the mlx-server binary (auto-discovered from Jan.app when omitted)
port
number
default:"6767"
Port the model server listens on (0 = pick a random free port)
ctx-size
number
default:"0"
Context window size in tokens (0 = model default)
embedding
boolean
default:"false"
Treat the model as an embedding model
timeout
number
default:"120"
Seconds to wait for the model server to become ready
api-key
string
default:""
API key required by clients (sets MLX_API_KEY on the server)

app

Show app configuration and data folder location.
jan app <SUBCOMMAND>

Subcommands

Print the Jan data folder path (where models, threads, and config are stored).
jan app data-folder
Example Output:
{
  "data_folder": "/Users/you/Library/Application Support/Jan"
}
Print the Jan configuration as JSON.
jan app config
Output: JSON object with Jan configuration settings.

Global Options

--help
flag
Display help information for any command
jan --help
jan serve --help
jan launch --help
--version
flag
Display the Jan CLI version
jan --version
-v, --verbose
flag
Print full server logs (llama.cpp / mlx output) instead of the loading spinnerAvailable on: serve, launch
jan serve qwen3.5-35b --verbose
jan launch claude --model qwen3.5-35b -v

Examples

jan serve qwen3.5-35b-a3b

Exit Codes

  • 0: Success
  • 1: Error (with error message printed to stderr)

See Also

Serve Command

Detailed guide for serving models

Launch Command

Wire AI agents to local models

Build docs developers (and LLMs) love