Installation
JARVIS runs on Linux, macOS, and Windows via WSL2. The recommended path is the one-liner installer, which handles every prerequisite automatically.
Prerequisites
Section titled “Prerequisites”| Requirement | Version | Notes |
|---|---|---|
| Operating system | Linux, macOS, or WSL2 | Native Windows not supported |
| Bun | 1.0 or later | Installed automatically if missing |
| Anthropic API key | — | Required for the default LLM provider |
| Chrome or Chromium | Any recent version | Required for browser control |
| .NET SDK 8+ | Optional | Required only for desktop control on Windows |
One-Liner Install (Recommended)
Section titled “One-Liner Install (Recommended)”curl -fsSL https://raw.githubusercontent.com/vierisid/jarvis/main/install.sh | bashThis script does the following in order:
- Detects your operating system and shell
- Installs Bun if it is not already present
- Installs the
@jarvis-ai/daemonpackage globally viabun install -g - Adds the
jarvisbinary to yourPATH - 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.
Manual Install
Section titled “Manual Install”If you prefer to install without running a remote script:
# Install Bun first if you don't have itcurl -fsSL https://bun.sh/install | bash
# Then install JARVIS globallybun install -g @jarvis-ai/daemonAfter installation, run onboarding manually:
jarvis onboardVerify the Installation
Section titled “Verify the Installation”jarvis versionExpected output:
JARVIS v1.0.0Runtime: Bun 1.x.xConfig: ~/.jarvis/config.yamlIf 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:
export PATH="$HOME/.bun/bin:$PATH"Then reload your shell:
source ~/.bashrc# orsource ~/.zshrcWhat Gets Installed
Section titled “What Gets Installed”The installer places these files on your system:
| Path | Description |
|---|---|
~/.bun/bin/jarvis | Main CLI binary |
~/.jarvis/config.yaml | Configuration file (created by onboard) |
~/.jarvis/jarvis.db | SQLite knowledge vault (created on first run) |
~/.jarvis/logs/ | Log files directory |
Nothing is installed system-wide. Everything lives under ~/.bun/ and ~/.jarvis/.
Updating
Section titled “Updating”jarvis updateThis pulls the latest version from npm, replaces the binary, and confirms the new version number. Your config and database are untouched.
Uninstalling
Section titled “Uninstalling”bun remove -g @jarvis-ai/daemonrm -rf ~/.jarvisWSL2 Notes
Section titled “WSL2 Notes”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-sandboxflag 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
:0display. - Autostart: Systemd user services are available in WSL2 with recent Windows builds. See Autostart for configuration.
Next Steps
Section titled “Next Steps”- Quick Start — send your first message
- Configuration — customize
~/.jarvis/config.yaml - Troubleshooting — if something went wrong