Installation¶
Platform-specific guides¶
| Platform | One-liner | Detailed guide |
|---|---|---|
| macOS | curl -fsSL https://open-jarvis.github.io/OpenJarvis/install.sh \| bash |
macOS install |
| Linux | curl -fsSL https://open-jarvis.github.io/OpenJarvis/install.sh \| bash |
Linux install |
| WSL2 on Windows | curl -fsSL https://open-jarvis.github.io/OpenJarvis/install.sh \| bash (run inside Ubuntu) |
WSL2 install |
| Native Windows | irm https://open-jarvis.github.io/OpenJarvis/install.ps1 \| iex |
Native Windows install |
| Desktop GUI | Download from the latest release | — |
The bash and PowerShell installers do the same thing on their respective hosts. The rest of this page documents the bash installer in detail; the native Windows guide is the equivalent reference for PowerShell.
Bash installer¶
The installer downloads everything for you — including uv (the Python package manager), the Python venv, Ollama, and a small starter model. You don't need to install uv or any other prerequisite first.
Install URL
This script is served straight from the project's own GitHub Pages site,
so HTTPS always works. You may also see https://openjarvis.ai/install.sh
referenced in older docs — that domain is community-operated and has had
intermittent TLS issues (#337).
The open-jarvis.github.io URL above is the canonical one.
About 3 minutes on a typical broadband connection. Type jarvis to start chatting.
What the installer does¶
| Phase | Step | Where |
|---|---|---|
| Foreground | Install uv (Python package manager) |
~/.cargo/bin/ or ~/.local/bin/ |
| Foreground | Clone OpenJarvis repo | ~/.openjarvis/src/ |
| Foreground | Create Python 3.11 venv | ~/.openjarvis/.venv/ |
| Foreground | uv pip install -e . (editable install) |
venv |
| Foreground | Install Ollama | system default |
| Foreground | Start ollama serve |
systemd-user / launchd / nohup |
| Foreground | Pull qwen3.5:2b (~1.5 GB) |
Ollama's model store |
| Foreground | Write config.toml (auto-detected hardware + engine + model) |
~/.openjarvis/config.toml |
| Foreground | Symlink jarvis and jarvis-uninstall |
~/.local/bin/ |
| Foreground | Add ~/.local/bin to PATH if missing (with on-screen notice) |
~/.bashrc or ~/.zshrc |
| Background | Install Rust toolchain via rustup | ~/.cargo/ |
| Background | Build the maturin extension (memory + security features) | venv |
| Background | Pull hardware-tier and tier+1 models | Ollama's model store |
What the installer does NOT touch¶
- Your existing Python installations
- Your
~/.bashrc/~/.zshrcother than appending one PATH line (with on-screen notice) - Your existing Ollama models
- Any other tool or dotfile
Idempotent re-runs¶
Re-running the curl line is safe. The installer reads ~/.openjarvis/.state/install-state.json and skips completed steps. If your venv got nuked, re-running heals it.
Cloud quick-path¶
If any of these env vars are set when you install or run jarvis init, the installer/init proposes cloud as the default and writes the matching provider into config.toml:
OPENROUTER_API_KEYANTHROPIC_API_KEYOPENAI_API_KEYGOOGLE_API_KEY(orGEMINI_API_KEY)
Local-first remains the default when no key is in env. Precedence is OpenRouter > Anthropic > OpenAI > Google.
Flags¶
| Flag | Effect |
|---|---|
--minimal |
Skip the foreground model pull. First chat will need to wait for the bg pull to finish. |
--no-bg-orchestrator |
Don't detach the background work pipeline. (Mostly for testing.) |
--force |
Re-run all steps even if install-state.json says they're done. |
Environment overrides¶
| Variable | Default | Purpose |
|---|---|---|
OPENJARVIS_HOME |
$HOME/.openjarvis |
Install location. |
OPENJARVIS_REPO_URL |
https://github.com/open-jarvis/OpenJarvis.git |
Source repo for the clone step. |
Uninstall¶
Removes ~/.openjarvis/, ~/.local/bin/jarvis, and ~/.local/bin/jarvis-uninstall. Leaves Ollama, uv, and the Rust toolchain in place (they may be used by other tools); the script prints removal hints.
Updating¶
Fetches release-tag history, pulls the latest source with a fast-forward-only
update, and rebuilds OpenJarvis in the Python environment that launched Jarvis.
Previously installed extras are preserved. Older shallow installs are repaired
automatically so jarvis --version reports a version derived from release tags.
Use jarvis self-update --check to preview the update plan, or --yes to skip
the confirmation prompt. If Git reports a conflict or diverged branch, resolve
it before retrying; self-update does not reset local changes.
Troubleshooting¶
"command not found: jarvis"¶
~/.local/bin isn't on your PATH. Run source ~/.bashrc (or ~/.zshrc) or open a new terminal.
"memory features unavailable"¶
Rust extension hasn't finished building yet (or failed). Check status:
Manually retry:
A bigger model failed to download¶
Check status and retry:
Behind a corporate proxy¶
Set HTTPS_PROXY and CURL_CA_BUNDLE in your environment before running the installer.