ShellMateDownload

Specification

Everything it does today, in one place. Nothing here is on a roadmap — it is what the build on this page contains.

Transports
SSH·serial console·telnet·jump host·SFTP·port forwards
Sessions
multi-tab·tiling·per-tab logging·full history·replay
Assistant
Claude·OpenAI·xAI·DeepSeek·local Ollama·bring your own API key — nothing metered, nothing resold
It can see
the active session·any tab you choose·parsed show output·your own documents
Automation
Ansible runner, set up in one click·OpenTofu·scheduled backups·config push with rollback
Monitoring
ICMP, TCP and HTTP monitors·live graphs·path trace·alerts and webhooks·availability reports
Files
TFTP, FTP and SFTP servers from one folder·the copy line built for the device·a client for somebody else's server·a transfer log
Knows the kit
IOS·IOS-XE·IOS-XR·NX-OS·ASA·Junos·EOS·PAN-OS·and more
Secrets
DPAPI or master-password vault·redaction before anything leaves·an audit trail
Runs on
Windows 10 and 11·no install·no administrator rights·a licence key — one machine per seat, requested from the licence page

What it is for

Nine things it does that a terminal emulator does not. Each one exists because the alternative was a second window and a copy and paste.

Sees the screen

Ask about what is in front of you. The assistant reads the session buffer, the commands you ran and the device it worked out you are on — so "why is this interface down" is a question about this interface. It runs on your own API key — Claude, OpenAI, xAI, DeepSeek, or a local Ollama — and ShellMate meters nothing and resells nothing.

Suggests, never sends

A suggested command arrives as a block with a Send button and the tab it would go to. Nothing reaches a device until you click, and anything dangerous is held and asked about first.

Remembers everything

Every command typed in a ShellMate session is recorded with the device, the time and the operator, and kept searchable — in the History panel, by device, by text, by date — so what was done on a device is a lookup, not an afternoon in the logs.

Notices drift

Configurations are captured on a timer and compared. Reconnect to a device that has changed since you were last there and it says so, with the difference.

Runs playbooks

An Ansible runner and a visual builder, with a library of templates. Plans, dry runs and a record of what each run actually changed, per device.

Builds infrastructure

OpenTofu behind a form: define sites, read the plan, approve it, apply it. State in R2 or on disk, with the lock visible and the outputs shown.

Sets the runner up itself

One click: on this computer with Docker Desktop, or on any Linux host over SSH. It installs what is missing, starts the container, makes the token and the certificate, and shows every line the tools print while it does — with a report ready to send if anything stops.

Watches the estate

Ping, TCP and HTTP monitors with live graphs, a trace to the hop that is misbehaving, alerts when a device goes and a note when it comes back — and an availability report from the logs at the end of the month.

Serves the file

TFTP, FTP and SFTP from one folder on this machine, with the copy line the device needs written for you and a log of every transfer. The third-party TFTP server nobody remembers starting, gone.


Download

One executable either way. The portable build is the one most people want; the installer exists for estates where software arrives through a deployment tool.

Installer

coming

For estates where software arrives through Intune or SCCM: a signed installer, a Start menu entry, and updates handled by the operating system rather than by the application.

MSI and signed .exe · in progress

Not yet available

The Ansible runner

Playbooks run in a container, on a Linux host on the management network or in Docker Desktop beside ShellMate. ShellMate sets it up itself from one click under Settings → Ansible — on this computer, or on a Linux host over SSH — and shows every line the tools print while it does. It is pulled, not built: the image is public, there is no clone and no registry login. The commands below are the same thing done by hand. The full instructions are on their own page.

Install it

docker compose
mkdir shellmate-runner && cd shellmate-runner
curl -O https://shellmate.app/download/runner-compose
printf 'ANSIBLE_API_TOKEN=%s\n' "$(openssl rand -base64 32 | tr -d /=+ | cut -c1-43)" > .env
docker compose up -d

Download the compose file · Read the full guide

Then point ShellMate at https://localhost:8081 — or the host's own address — with the token in .env. The certificate is generated on first start and its fingerprint printed, so what ShellMate shows can be checked against it.

Two images

ghcr.io/sjohnston1972/shellmate-runner:latestthe network collections, Meraki and AWSabout 830 MB
ghcr.io/sjohnston1972/shellmate-runner:latest-cloudthe above plus the Azure SDK setabout 2.4 GB

Take the first unless you drive Azure through Ansible. Versioned tags exist beside latest for anyone who wants an upgrade to be a decision.

The image's own code is GPL-3.0. Every other licence in it is written into the image at build time: docker run --rm ghcr.io/sjohnston1972/shellmate-runner cat /opt/THIRD_PARTY_NOTICES.md