Argus installation instructions for coding agents
September 7, 2026 · View on GitHub
Complete the installation; do not merely print commands.
Installation channel
The commands below use the official source repository, microsoft/ArgusAgent.
They install its main branch, not a published binary release and not a PyPI
package. Use the development preview, lbx154/Argus, only when the user asks for
it; replace the repository in the selected platform's commands and use this
guide from that same repository.
For an upgrade, inspect the existing checkout remote or the installed package's
direct_url.json before choosing the source. Keep the existing channel unless
the user requests a switch. Never silently redirect an existing clone.
Windows packaged previews are separate from source installation. See
Windows Desktop for the official and preview release
pages; an EXE may not yet contain fixes present on main.
Safety contract
- Argus has no separate Argus account. Use one supported Agent CLI and its official login flow.
- Inspect before changing the machine.
- Ask before
sudo, system package installation, shell startup edits, or global configuration changes. - Never request passwords, tokens, or API keys in chat. Never place credentials in the Argus checkout or shell history.
- Prefer the Agent CLI already running this conversation.
- Do not replace a dirty checkout or silently switch providers after a failure.
- Use only the section for the detected operating system.
- Running
argus doctoris read-only. Only an explicitargus doctor --advisor <auto|backend>authorizes the selected installed Agent to inspect and repair Argus files, configuration, runtime state, and required dependencies. Login or administrator blockers must be reported rather than guessed.
Supported backend values:
| Agent CLI | Backend |
|---|---|
| GitHub Copilot CLI | copilot |
| OpenAI Codex CLI | codex |
| Claude Code | claude |
| Cursor CLI | cursor |
| Pi | pi |
| OpenCode | opencode |
| xAI Grok Build | grok |
| Qoder CLI | qoder |
| DeepSeek Harness | dsh |
Setup adopts a model from the selected CLI's own catalog when available and otherwise keeps its native default. Never assign an OpenAI model id to Claude Code, Pi, OpenCode, Grok, Qoder, or dsh merely because it is Argus's historical default.
Windows 10/11
Inspect
Use PowerShell:
[Environment]::OSVersion.VersionString
py --version
node --version
Get-Command copilot,codex,claude,agent,cursor-agent,pi,opencode,grok,qodercli,dsh -ErrorAction SilentlyContinue
Require Python 3.11+ from python.org with Add Python to PATH selected, Node.js 22.12+, and one authenticated Agent CLI.
Install — no virtual environment
py -m pip install --upgrade pip
py -m pip install --upgrade --force-reinstall "argus-skill @ https://github.com/microsoft/ArgusAgent/archive/refs/heads/main.zip"
$Scripts = py -c "import sysconfig; print(sysconfig.get_path('scripts'))"
$Argus = Join-Path $Scripts "argus.exe"
if (-not (Test-Path $Argus)) { throw "Argus entry point not found at $Argus" }
$env:Path = "$Scripts;$env:Path"
& $Argus --version
Do not ask the user to create or activate a venv on Windows. A packaged Desktop installer may be used instead when a release provides one.
Always retain --force-reinstall while installing the moving preview: its
package version may stay unchanged when the archive contents change.
Configure and verify
& $Argus --setup --non-interactive --backend <copilot|codex|claude|cursor|pi|opencode|grok|qoder|dsh>
& $Argus doctor --deep --advisor auto
& $Argus --status
argus --setup must finish its real Agent-turn smoke test. A package install or
version command alone is not success. Using $Argus proves the newly installed
entry point was tested instead of another copy earlier on PATH. If a later
window cannot find plain argus, report $Scripts and ask before changing the
user PATH; do not create a venv as a workaround.
Windows supports Manager chat, pairing, Web/TUI, terminal-scoped daemon control, and native durable subagents. Native Windows workers own direct or supervised long commands, persist registry and log state, and perform bounded process-tree cleanup. WSL2 is optional, not a prerequisite for this path.
macOS
Inspect
sw_vers
uname -m
uv --version
node --version
for cli in copilot codex claude agent cursor-agent pi opencode grok qodercli dsh; do command -v "$cli" || true; done
Require Node.js 22.12+, one authenticated Agent CLI, and uv. Install uv only with the user's approval and its official installer.
Install — uv-managed command, no manual venv
uv tool install --force --python 3.12 \
"argus-skill @ https://github.com/microsoft/ArgusAgent/archive/refs/heads/main.zip"
ARGUS_BIN="$(uv tool dir --bin)/argus"
test -x "$ARGUS_BIN"
"$ARGUS_BIN" --version
Configure and verify
"$ARGUS_BIN" --setup --non-interactive \
--backend <copilot|codex|claude|cursor|pi|opencode|grok|qoder|dsh>
"$ARGUS_BIN" doctor --deep --advisor auto
"$ARGUS_BIN" --status
Setup is complete only after the real Agent-turn smoke succeeds. Keep using
$ARGUS_BIN in the current shell. With approval, run uv tool update-shell to
make plain argus available in new terminals.
With the explicit --advisor auto shown above, Doctor runs the installed
Agent with tools enabled, applies Argus-scoped repairs, and then reruns
deterministic verification. argus doctor without an advisor remains
read-only; use --advisor none --verify for an explicit non-Agent verification
run. Allow several minutes for an active repair because it performs a real
Agent turn and may repair dependencies.
Linux
Inspect
uname -a
python3 --version
node --version
git --version
for cli in copilot codex claude agent cursor-agent pi opencode grok qodercli dsh; do command -v "$cli" || true; done
Require Python 3.11+, Node.js 22.12+, Git, the distribution's python3-venv
package, and one authenticated Agent CLI.
Install — persistent source venv
Choose a persistent directory. Default to $HOME/Argus only when it does not
already contain unrelated data:
git clone https://github.com/microsoft/ArgusAgent.git "$HOME/Argus"
cd "$HOME/Argus"
python3 -m venv .venv
.venv/bin/python -m pip install --upgrade pip
.venv/bin/python -m pip install -e .
ARGUS_BIN="$HOME/Argus/.venv/bin/argus"
"$ARGUS_BIN" --version
Private-preview collaborators may use the authorized private repository instead.
If the checkout already exists, inspect git status; update only a clean branch
with git pull --ff-only, then refresh the editable install.
Configure and verify
cd "$HOME/Argus"
"$ARGUS_BIN" --setup --non-interactive \
--backend <copilot|codex|claude|cursor|pi|opencode|grok|qoder|dsh>
"$ARGUS_BIN" doctor --deep --advisor auto
"$ARGUS_BIN" --status
Linux keeps the explicit venv because server Python/CUDA dependencies and
long-running process ownership must remain reproducible. Never substitute a
global argus; it may be stale. If venv creation reports missing ensurepip,
install the distribution's python3-venv package and retry.
Confirm the backend model selector
Setup validates the model it will send before reporting success. Also run
<exact-argus-executable> --config-help and inspect each role's effective value
and source.
Backend catalog commands include pi --list-models, opencode auth list, and
qodercli --list-models. If the selected id is not in that account's catalog,
set ARGUS_SKILL_MODEL or a role-specific model knob before rerunning setup.
Do not silently switch providers after a failed readiness check.
OpenAI-compatible endpoint
Setup can configure Pi directly:
ARGUS_SETUP_API_KEY=... argus --setup --non-interactive \
--api-url https://api.example.com/v1 \
--api-model model-id
If PI_CODING_AGENT_DIR is set, setup writes models.json in that directory,
matching the Pi CLI. Otherwise it uses ~/.pi/agent/models.json. Keep the same
environment when launching Argus so Pi reads the configuration that setup wrote.
On Windows use a PowerShell environment variable and backtick continuation.
On macOS/Linux replace argus with the exact executable established above.
Never paste the key into chat or commit it.
Upgrade and deterministic verification
Use argus update with the exact executable established during installation.
argus --update and argus -update are equivalent aliases. This updater handles
source checkouts, pip ZIP installations, and uv-managed installations while
preserving the existing source and channel. It selects the corresponding
package manager; source checkouts must be clean and on a branch, and only
fast-forward updates are allowed.
When PATH is not configured, use & $Argus update in Windows PowerShell,
"$(uv tool dir --bin)/argus" update for uv, or
"$HOME/Argus/.venv/bin/argus" update for the Linux source checkout.
Older versions do not include this updater. Bootstrap once using the original
installation command on Windows/macOS, including --force-reinstall/--force
and the existing repository URL. For a source checkout, inspect its local
changes and configured upstream first; only on a clean, attached branch run
git pull --ff-only, then reinstall with that environment's Python using
-m pip install -e .. Never change channels to bootstrap the updater.
After an upgrade, run the exact executable with --version and
doctor --advisor none --verify. Do not invoke a second Agent repair turn merely
to prove an unchanged installation.
Packaged Desktop EXEs use their separate signed desktop update channel. The CLI updater does not replace a signed EXE; use the Windows Desktop instructions for those installations.
Completion report
Report:
- operating system and installation method;
- exact executable used for Argus;
- selected Agent CLI/backend;
- effective model and configuration source for each role;
- whether setup's real Agent turn passed;
- whether
argus doctor --deep --advisor autopassed; - exact launch command;
- remaining manual login or PATH action.
If setup or Doctor fails, report the failing stage, executable, concise error, and exact next command. Do not claim installation success.