Overview
Jan Agent is an AI agent that lives in your terminal. You give it a task in plain language, and it reads files, edits them, runs commands, and searches the web until the work is done - asking for your approval before anything touches your machine.
It uses the providers you have already configured in Jan Desktop, so if you're a Jan user there is nothing new to sign up for.
jan
That single command opens the interactive console in whatever directory you're in.
Jan Agent and Jan Desktop
They're two front ends onto the same stack, built for different jobs. Jan Desktop is where you run models on your own hardware and work in a GUI. Jan Agent is where you point a model at a folder and let it work.
| Jan Desktop | Jan Agent | |
|---|---|---|
| Interface | Desktop app | Terminal, interactive or headless |
| Where models run | Locally via llama.cpp or MLX, or a cloud provider | Cloud providers, or any OpenAI-compatible endpoint |
| Works on | Conversations, projects, and files you attach | A project folder on disk |
| Files and shell | Through MCP servers you add | Built in - read, write, edit, and run commands, each gated by approval |
| MCP servers | Yes | Yes, the same ones |
| Skills and memory | Yes | Yes, the same ones |
Neither replaces the other. A common setup is Jan Desktop serving a local model, with Jan Agent pointed at it - see running against local models.
Provider settings, MCP servers, skills, and memory are all shared, so anything you set up in one is already there in the other.
Install
Jan Agent is a preview. The installer on dev pulls from the agent-nightly channel - expect
nightly-quality builds.
curl -fsSL https://delta.jan.ai/jan-cli/install-jan-agent.sh | bash
Then check it landed:
jan --version
The Quickstart covers connecting a provider and finishing a first task. Looking for the desktop app instead? Download Jan Desktop (opens in a new tab).
What it can do
- Read and change a project - open files, make targeted edits, create new ones.
- Run commands - build, test, grep, and read the output to decide what to do next.
- Search the web - look things up mid-task when the answer isn't in your project.
- Use your MCP servers - every connector configured in Jan Desktop is available here too.
- Follow your project's skills - reusable procedures it loads when a task calls for them.
- Remember across sessions - durable facts about the project, kept as files you can review.
- Delegate - split large jobs across subagents that work in parallel.
- Keep working toward a goal -
/goalkeeps it going until a condition you set is true.
Jan Agent ships no inference engine of its own, so a model always runs somewhere else. That can be a
cloud provider, or your own machine - point it at any OpenAI-compatible endpoint, such as Jan
Desktop's local API server, with jan config set --base-url.
Get started
Install Jan Agent, connect a provider, and finish your first task.
Slash commands, keyboard shortcuts, and how a session works.
What the agent can do, and how approval keeps you in control.
Providers, agent.toml, and per-project instructions.
Delegate parts of a task to agents that run in parallel.
Every flag and subcommand, including headless runs for scripts and CI.
Staying in control
The agent edits files and runs commands without stopping to ask. File paths are checked against the
project root, and .jan/agent/ internals and anything in [tools] deny are refused outright - but
shell commands are not sandboxed by default, so one runs with your own access.
Three ways to change that:
- Plan mode (
jan --plan) makes the session read-only. The agent investigates and proposes, but cannot change anything. - Safe mode (
jan --safe) asks before every write and shell command, instead of auto-approving them. - Sandbox (
jan --sandbox) confines shell commands to the project with an OS sandbox. Off by default on the CLI, always on in the desktop app.
See Tools & permissions for the full picture.