ImageJan Docs
DocsJan AgentQuickstart

QuickStart

Get Jan Agent running and finish a real task in a few minutes. You need a terminal and access to a model provider or an OpenAI-compatible endpoint.

Install Nightly

⚠️

Jan Agent is a preview. The installers below pull from the agent-nightly channel - expect nightly-quality builds.

curl -fsSL https://delta.jan.ai/jan-cli/install-jan-agent.sh | bash

Installs to ~/.local/bin by default. Override it with JAN_INSTALL_DIR=/usr/local/bin, and make sure the directory is on your PATH.

irm https://delta.jan.ai/jan-cli/install-jan-agent.ps1 | iex

Installs to %USERPROFILE%\.local\bin, which isn't on your PATH by default. To install and add it to your user PATH in one go, then open a new terminal:

& ([scriptblock]::Create((irm https://delta.jan.ai/jan-cli/install-jan-agent.ps1))) -AddToPath

Check it worked:

jan --version

Already have the Jan repo checked out? scripts/install-jan-agent.sh --source builds from your checkout instead of downloading. Source builds don't self-update, because the update channel is stamped in by CI.

Connect a provider

Jan Agent has no local inference engine - it calls a cloud provider or an HTTP endpoint. Point it at one:

jan config set --provider anthropic --api-key sk-ant-...

Or sign in to Tokamak, which needs no key of your own:

jan login

Confirm what's configured (keys are redacted):

jan config list

Already using Jan Desktop? You can skip provider setup if Jan Agent inherits an enabled HTTP provider with a usable endpoint and any required credentials. Desktop local llama.cpp or MLX models alone are not enough: start Desktop's Local API Server, then configure Jan Agent to use its endpoint. Jan Agent does not start Desktop's inference engine.

Open the console

Change into the project you want to work on, then start with approval prompts enabled:

jan --safe

You get an interactive console: type a message, press Enter. The agent works in the directory you launched it from.

Plain jan auto-approves tool calls. This walkthrough uses --safe so you can review writes, shell commands, and MCP tool calls before allowing them. This does not sandbox commands: the shell is unconfined by default and runs with your access. To enable both controls, use jan --safe --sandbox. See Tools & permissions.

Give it a task

Start with something small and verifiable:

Read the README and tell me how to run the tests

Built-in file reads inside the project do not need approval. Reads outside the project may prompt. If the agent requests approval for a shell command or a change while investigating, review it before allowing it.

Now ask for a change:

Add a --version flag to the CLI and update the README to document it

With --safe, file writes prompt unless a policy allow rule or an existing grant covers them. Dedicated memory and skill tools do not prompt, including writes. Review a file-write request's path and diff; shell requests show the command. Use the arrow keys to select Allow once or Deny, then press Enter. You can also press y to allow once or n to deny.

Some requests also offer a thread-level grant, selected with a. Read its label: for a shell command it may allow the named commands or only that exact command, not every future shell call. Choose Allow once throughout this walkthrough to avoid granting approval to later calls.

Watch it work

While the agent runs you'll see each tool call as it happens, and a receipt when the turn ends:

  Worked for 12s • 14:02 • ↑ 43K ↓ 1.1K • 45.6/s

That's how long the turn took, when it finished, context sent, tokens produced, and throughput.

Press Esc at any point to cancel the current turn. Press Ctrl+D to quit.

Pick up where you left off

Sessions are saved per project. To continue the most recent one:

jan --safe -c

Or choose from a list inside the console with /resume.

Try these next

Three things worth doing on your first day:

Explore before changing. Start read-only so the agent can investigate without touching anything:

jan --safe --plan

It will study the project and propose a plan. Type /plan exit when you're ready to let it act. Safe mode stays on after you exit plan mode: writes, shell commands, and MCP calls still follow its approval rules.

Set a finish line. Instead of babysitting turn by turn, tell it what "done" means:

/goal all tests in tests/auth pass

The agent keeps working and re-checking until that holds.

Seed a task from the shell. Start the interactive console with an initial task:

jan --safe --task "fix the failing test in tests/auth"

Where to go next

Troubleshooting

jan: command not found - the install directory isn't on your PATH. The installer prints a note when it detects this. Add ~/.local/bin to your shell profile. On Windows, re-run the installer with -AddToPath (see Install Nightly) and open a new terminal. If the installer warns that another jan comes first on your PATH, remove the entry it names.

"no providers configured" - run jan config set --provider <id> --api-key <key>, or jan login for Tokamak. jan config path prints the file it reads.

The agent won't edit anything - you're in plan mode. Type /plan exit.

Model errors or an unexpected model - /model inside the console lists what's available and switches on the spot. jan config list shows which providers are wired up.