Skip to content

utmstack/utmstack-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15,068 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UTMStack CLI

The SIEM-aware coding and security agent — a branded distribution of opencode that ships with UTMStack's SIEM tooling, the ThreatWinds model provider, and a curated set of skills and subagents already configured.

Install

Find your platform below and copy the matching command. The installer detects your CPU architecture automatically — there is one command per operating system, not per architecture.

macOS — Apple Silicon (M1–M4) and Intel

curl -fsSL https://raw.githubusercontent.com/utmstack/utmstack-cli/main/install | bash

Linux — x86_64 and ARM64

curl -fsSL https://raw.githubusercontent.com/utmstack/utmstack-cli/main/install | bash

Windows — x64 (and ARM64 via emulation)

irm https://raw.githubusercontent.com/utmstack/utmstack-cli/main/install.ps1 | iex

Run this in PowerShell, not cmd.exe. The installer always installs the x64 build. On an ARM64 machine it runs under Windows' built-in x64 emulation, where the full interactive TUI works (verified on Windows 11 ARM64).

There is no native ARM64 build: the Bun-compiled ARM64 binary can't initialize OpenTUI's terminal renderer — a toolchain limitation that breaks opencode's own windows-arm64 binary identically — so shipping one would just crash. The x64 build under emulation is the supported ARM64 path.

What gets installed

Location
macOS / Linux ~/.utmstack/bin/utmstack
Windows %USERPROFILE%\.utmstack\bin\utmstack.exe

The installer adds that directory to your PATH and also installs the UTMStack MCP server, which provides the SIEM tools. Open a new terminal afterwards so PATH takes effect.

Set UTMSTACK_SKIP_MCP=1 to skip the MCP server. Set UTMSTACK_VERSION=1.2.3 to install a specific version instead of the latest.

Supported platforms

Every combination below gets a prebuilt binary:

Operating system Architecture Notes
macOS 12+ Apple Silicon (arm64)
macOS 12+ Intel (x64) includes a no-AVX2 build for older Macs
Linux (glibc 2.35+) x86_64 Ubuntu 22.04+, RHEL 9+, Debian 12+
Linux (glibc 2.39+) arm64 / aarch64 Ubuntu 24.04+, Debian 13+, Kali rolling
Windows 10/11 x64 native
Windows 11 ARM64 via x64 emulation (no native ARM64 build)

Older or virtualised x64 CPUs: many cloud VMs lack AVX2. The installer detects this and fetches a -baseline build automatically — no action needed.

Alpine / musl Linux is not covered by these binaries, which are built against glibc. Build from source there (see below).

32-bit systems are not supported.

Unsigned binaries

The utmstack binary is not code-signed. It runs normally — signing is not required to execute anything — but two situations are worth knowing about.

On macOS, binaries fetched by curl are not quarantined, so the installer works as-is; downloading an asset from the Releases page in a browser will trip Gatekeeper (clear it with xattr -dr com.apple.quarantine ~/.utmstack/bin/utmstack).

On Windows, SmartScreen triggers on Mark-of-the-Web, which browsers apply and Invoke-WebRequest does not — so install.ps1 is normally silent. If Defender flags the binary anyway, verify its SHA256 against the release's checksums.txt and add an exclusion for %USERPROFILE%\.utmstack\bin.

This matches how opencode itself is distributed. Every release publishes checksums.txt, and the installers verify against it and refuse to install if they cannot.

First run

You configure two independent things, and it's worth keeping them straight:

What it's for How to set it
ThreatWinds API key the LLM that powers the assistant utmstack/connect (or utmstack providers login)
UTMStack connection your SIEM — the URL + API key or username/password utmstack-mcp init, or just ask the assistant

These are different systems with different credentials. The ThreatWinds key authenticates the model; the UTMStack connection is how the assistant reaches your SIEM's alerts, logs, and agents.

utmstack              # start the CLI, then /connect to paste your ThreatWinds API key

Connecting your UTMStack — two ways:

  • Run the wizard: utmstack-mcp init prompts for the URL and credentials, validates them against the live API, and stores them in a 0600 file.
  • Or just tell the assistant: "connect to my UTMStack at https://utm.example.com with API key …" or "change my UTMStack URL to …". It configures the connection for you and the change takes effect immediately — no restart. (It deliberately can't enable remote command execution that way; that stays a utmstack-mcp init / config-file decision.)

Either path keeps credentials out of shell history and out of any file you might share.

What ships out of the box

SIEM tools — the utmstack MCP server is enabled by default: alert search and triage, log explorer and SQL, incidents, correlation rules, data filters, agent inventory, and remote command execution on endpoints.

Remote command execution is opt-in per server (allowAgentCommands). It grants a root/SYSTEM shell on an endpoint, and SIEM log content — which is partly written by attackers — reaches the model through log and alert search. Enable it only where you want that capability.

Models — the threatwinds provider is preconfigured (silas-1.6-pro by default, silas-1.6 for small tasks). Add your API key with /connect in the TUI or utmstack providers login.

Skills and subagents — 26 skills and 9 subagents are embedded in the binary and extracted to your config directory on first run, covering planning, code review, systematic debugging, test-driven development, and web testing. They are version-gated: an upgrade refreshes them without touching skills you added.

Configuration

Config lives in ~/.config/utmstack/utmstack.json (%APPDATA%\utmstack on Windows). The defaults are written on first run and are yours to edit — the CLI never overwrites an existing config.

The directory is separate from opencode's, so this CLI and a stock opencode install coexist without touching each other's settings. An opencode.json in the same directory is still read, with utmstack.json taking precedence.

Building from source

bun install
cd packages/opencode
OPENCODE_VERSION=1.0.0 bun run script/build.ts --single

The binary lands in dist/opencode-<platform>-<arch>/bin/utmstack. Embedded skills and agents are regenerated from packages/opencode/src/assets on every build; bundled-assets.gen.ts is generated and not tracked in git.

Upstream

This is a fork of opencode. Branding and defaults are confined to a small set of files so upstream changes remain straightforward to merge:

Path Purpose
packages/core/src/global.ts app name — relocates every config/data/cache directory
packages/opencode/src/index.ts script name, bootstrap invocation
packages/opencode/src/config/utmstack-bootstrap.ts seeds default config, extracts embedded assets
packages/opencode/src/config/config.ts reads utmstack.json ahead of opencode.json
packages/opencode/src/plugin/threatwinds.ts makes threatwinds a first-class auth provider
packages/opencode/script/gen-bundled-assets.ts embeds skills and agents into the binary
packages/opencode/script/build.ts binary name, release asset naming, archive hygiene
packages/opencode/src/installation/index.ts update checks point at this repo, not upstream
packages/tui/src/logo.ts, packages/opencode/src/cli/ui.ts wordmarks
install installer, plus the MCP install step

Skills and subagents come from osmontero/opencode-skills. They carry their own licenses, preserved alongside each one in packages/opencode/src/assets/ — a mix of MIT (Jesse Vincent, Osmany Montero) and Apache-2.0 (Anthropic, PBC). Those LICENSE.txt files ship with the bundle and are extracted to your config directory with the skills themselves.

Upstream opencode documentation is preserved in README.upstream.md.

License

opencode's license applies to the upstream code. See LICENSE.

About

No description, website, or topics provided.

Resources

License

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors