Skip to content

Installation

JARVIS runs on Linux, macOS, and Windows via WSL2. The recommended path is the one-liner installer, which handles every prerequisite automatically.

RequirementVersionNotes
Operating systemLinux, macOS, or WSL2Native Windows not supported
Bun1.0 or laterInstalled automatically if missing
Anthropic API keyRequired for the default LLM provider
Chrome or ChromiumAny recent versionRequired for browser control
.NET SDK 8+OptionalRequired only for desktop control on Windows
Terminal window
curl -fsSL https://raw.githubusercontent.com/vierisid/jarvis/main/install.sh | bash

This script does the following in order:

  1. Detects your operating system and shell
  2. Installs Bun if it is not already present
  3. Installs the @jarvis-ai/daemon package globally via bun install -g
  4. Adds the jarvis binary to your PATH
  5. Launches the interactive onboarding wizard (jarvis onboard)

The onboard wizard prompts for your API key, preferred LLM model, and optional channel tokens (Telegram, Discord). It writes ~/.jarvis/config.yaml and starts the daemon.

If you prefer to install without running a remote script:

Terminal window
# Install Bun first if you don't have it
curl -fsSL https://bun.sh/install | bash
# Then install JARVIS globally
bun install -g @jarvis-ai/daemon

After installation, run onboarding manually:

Terminal window
jarvis onboard
Terminal window
jarvis version

Expected output:

JARVIS v1.0.0
Runtime: Bun 1.x.x
Config: ~/.jarvis/config.yaml

If the jarvis command is not found after installation, ensure your shell’s PATH includes Bun’s global binary directory. Add this to ~/.bashrc or ~/.zshrc:

Terminal window
export PATH="$HOME/.bun/bin:$PATH"

Then reload your shell:

Terminal window
source ~/.bashrc
# or
source ~/.zshrc

The installer places these files on your system:

PathDescription
~/.bun/bin/jarvisMain CLI binary
~/.jarvis/config.yamlConfiguration file (created by onboard)
~/.jarvis/jarvis.dbSQLite knowledge vault (created on first run)
~/.jarvis/logs/Log files directory

Nothing is installed system-wide. Everything lives under ~/.bun/ and ~/.jarvis/.

Terminal window
jarvis update

This pulls the latest version from npm, replaces the binary, and confirms the new version number. Your config and database are untouched.

Terminal window
bun remove -g @jarvis-ai/daemon
rm -rf ~/.jarvis

JARVIS works in WSL2 with full feature support. A few WSL2-specific behaviors:

  • Browser control: Linux Chromium is preferred over Windows Chrome. JARVIS auto-detects and launches the appropriate binary. When using Linux Chromium, the --no-sandbox flag is applied automatically.
  • Desktop control: The C# FlaUI sidecar (desktop-bridge.exe) runs on the Windows side and is auto-launched from WSL via the WSL/Windows interop path.
  • GUI display: WSLg is supported — Linux GUI apps render on your Windows desktop via the :0 display.
  • Autostart: Systemd user services are available in WSL2 with recent Windows builds. See Autostart for configuration.