Remote commands Long-running jobs File transfer Outbound-only connection

Let your AI run commands, manage long jobs, and transfer files on computers you own.

A remote shell, background job runner, and temporary file courier for AI agents. Install the app, share a machine code, and let Claude, ChatGPT, Codex, or any MCP/HTTP client do the work.

Outbound-only. No exposed SSH, open ports, or VPN.

AI COMMANDER
How it works
Install a small app on any computer you manage — a server, cloud VM, or Raspberry Pi. Give your AI the machine code and ask what you want done. The result comes right back, with nothing to open or expose.
AIC
RELAY
nothing is stored permanently
you ask
secure link
no open ports
YOUR AI
Claude Code
AI
YOU what's using disk space on AIC-7K3P…
CLAUDE Mostly old CCTV recordings — 218 GB.
YOUR MACHINE
your-machine — terminal
SESSION AIC-7K3P-WX9M-RTBN
$ du -sh /storage/*
218G /storage/cctv
46G /storage/photos
run ▸
Like having someone at the keyboard — except you tell your AI what to do in plain language.
How to use it

Up and running in three steps

Install the app, give your AI the machine code, and ask for what you need. The app connects outbound, so there are no firewall changes.

1

Install and get a code

On Linux — a cloud server, home server, or Raspberry Pi — paste one line. On Mac or Windows, install the desktop app. You get a stable code like AIC-7K3P-WX9M-RTBN.

2

Talk to your machine

Give the code to ChatGPT, Claude, or another AI assistant, then ask in plain language. It runs the work on that machine and returns the result.

3

Sign in to manage your fleet

Sign in for a command center that keeps every machine in one place and lets you give them names like prod-db. You do not need an account to try it.

Work that outlives the conversation

Start it now. Close the chat. Check it later.

AI Commander turns long work into a detached job on your own machine. The MCP or REST call returns a jobId immediately; the build, download, render, data pipeline, or training run continues without keeping the client, laptop, or network connection alive.

The complete job lifecycle is built in

startliststatuslogscancel

Ask in plain language or call remote_job_start. Come back from another chat, client, or phone to inspect state and retained output. The same lifecycle is available over POST /api/v1/jobs and related REST endpoints.

Made for expensive, stateful work

  • No 1-hour or 1-MiB execution cap; large logs stay on the machine and are read in bounded pages.
  • Discover NVIDIA GPUs, inspect VRAM and utilization, then reserve one with gpu_index to prevent collisions.
  • Jobs survive network loss and the conversation ending. On macOS/Windows they also survive an agent restart; on Linux restarting or upgrading the systemd service stops them.
The result is more than text

Bring a file back. Send a file in.

Download a checkpoint, report, log bundle, or rendered image from the machine. Upload a config, small dataset, or release artifact to it. File transfer uses the same MCP and REST workflow as commands and jobs.

Pull a result from the machine

remote_pull(code, path)download link

remote_pull copies one regular file from the remote machine into a temporary relay blob and returns a download link. Each file can be up to 100 MiB; package a directory into one archive first.

Push a blob onto the machine

upload blobremote_push(code, blob_id, dest_path)

Upload your bytes, then remote_push writes that blob to a destination path on the machine. Uploading and pushing require a signed-in account.

A courier, not a drive. The relay only holds files long enough to move them: a download link expires after 1 hour and blob access ends after 24 hours; an hourly, retrying sweep removes expired bytes afterward. For anything over 100 MiB, have the job use your own object storage or artifact registry. See how remote file transfer works →
Install the app

Put the app on the machine you want to control

Pick your platform. The app gives you the machine code you will use to connect.

Download for macOS

Menu-bar app, everything included · Apple Silicon (M1–M4) · Intel (x64)

Download for Windows

Tray app, everything included · Windows x64

Verify & install on Linux

Signed release installer verified before sudo · x86_64 & arm64 · OpenSSL 3 required

Verify direct downloads

Buttons above use mutable /dist/latest/* paths for convenience. For stronger assurance, prefer the immutable release directory and checksum manifest on GitHub.

Published version: · GitHub Release · ·

macOS — Developer ID + notarization (not Ed25519)

Desktop PKG/DMG/ZIP installers are signed with Apple Developer ID and notarized. They do not ship detached Ed25519 signatures like the Linux agent. Download from the GitHub Release, then verify with shasum -a 256 -c SHA256SUMS after extracting the manifest alongside the artifact. Gatekeeper validates code signing when you open the installer.

Windows — Authenticode (not Ed25519)

The NSIS .exe is Authenticode-signed (Azure Trusted Signing). There is no detached Ed25519 signature. Download from the GitHub Release and verify with certutil -hashfile AICommander-Setup.exe SHA256 against the matching line in SHA256SUMS. Windows SmartScreen checks the embedded signature at install time.

Linux agent — Ed25519 + SHA-256

Use the signed installer flow in install docs: verify install.sig with the pinned public key before sudo. Direct binary downloads from /dist/latest/agent-linux-* include matching .sha256 and .sig files, but the installer pins an immutable /dist/v/<ver>/ set.

Full install docs →

One command

Connect your AI tool

Connect Claude, ChatGPT, Codex, or another AI client. Signing in is free and keeps your machines available by name. For a one-hour account-free trial, add ?anonymous=1 to the URL. Most AI tools need just one command:

$ claude mcp add --transport http aicommander https://aicommander.dev/mcp
$ codex mcp add aicommander --url https://aicommander.dev/mcp
$ opencode mcp add aicommander --url https://aicommander.dev/mcp
$ pi install npm:@aicommander/mcp

Or give a capable AI agent the site and machine code in plain language:
use aicommander.dev to connect to AIC-XXX

Using Cursor, Windsurf, ChatGPT, or Claude Desktop instead? All connection guides →

Your choice

Three ways to connect

Each option lets your AI run commands and jobs or transfer files. Pick the one that fits the tool you already use.

1

MCP

The simplest path for Claude, Codex, opencode, Cursor, ChatGPT, and other MCP clients. Run one command and you're connected. Setup →

2

API

Prefer plain web requests? Send the code and your command to a simple web address. Anything that can call a URL — a script, a scheduled job, or a chatbot — can drive a machine. API docs →

3

SKILL.md

Drop a ready-made Skill into any AI agent that supports skills. Then mention a machine code and it works. Install the Skill →

Why AI Commander

Built for doing the work, not watching a screen

A direct way for your AI to work on a real machine: install a small app, provide the machine code, and say what you need. Great for checking logs, running tests, restarting an app, or managing a machine with no screen — with nothing left open or exposed.

AI Commander SSH TeamViewer Tailscale + SSH
Built for AI ✓ built in manual screen-first
Works with Claude, ChatGPT, Codex ✓ built in
No open ports needed ✗ needs a port
No screen needed ✓ headless ✗ screen needed
Work that survives the chat ✓ built in tmux/nohup by hand tmux/nohup by hand
Works behind a firewall extra setup
What you get back Text, files & screenshots* Text you can read A screen to watch extra setup
Built-in file transfer for AI ✓ pull & push SCP/SFTP separately manual file transfer SCP/SFTP separately

* Screenshots are available on the macOS and Windows desktop apps only, after the machine owner enables the time-limited screen-sharing grant. macOS also requires its separate Screen Recording permission.

Long work doesn't have to be babysat. A training run, a big build, or an overnight dataset job is started as a detached job: it keeps running on your machine after the chat ends, the laptop sleeps, or the network drops. You can ask how it's going later — from another chat, another client, or your phone — read the log, or cancel it. On Linux the agent runs as a systemd service and its jobs live in that service's control group, so restarting or upgrading the agent stops them too; on macOS and Windows they carry on. With ssh you'd wrap the same command in tmux or nohup, keep the session alive, and reconnect to find out what happened. Start ML training on your own GPU →

Security

Security built into the core, not bolted on

AI Commander gives your AI real access to your machine, so security comes first. It is safe by default and explicit about the limits.

Nothing to expose

The app only reaches out — nothing on your machine waits for incoming connections. There's no open door to find or attack, and it works behind firewalls untouched.

Codes are never stored as-is

We never keep your codes or keys in readable form. Even if our database leaked, there would be nothing usable in it — the only readable fragment is a two-character label for your linked machines, which cannot be used on its own. You can revoke a key at any time.

Access doesn't linger

Access refreshes on its own and quietly expires. Keys go dormant until you sign in again, so a forgotten one can't keep working forever.

Nothing is saved long-term

Your commands and their text results are never logged or saved. Files you explicitly transfer are the exception: access ends after 24 hours, then an hourly, retrying sweep removes the inaccessible bytes.

Easy to try, safe by default

A brand-new code works for anyone for one hour, so it's easy to get started. After that, only approved accounts can use it — until you choose to reset and clear access.

Hard to trick

Whatever a machine sends back is treated as plain results to show you, not as new orders to follow — so a sneaky line in a log is far less likely to fool the AI.

A locked-down lane for automation

Need unattended access for a script or scheduled job? A service token runs as a non-root user, on one machine, with only the exact commands you allow — and no shell, so nothing can be injected. Tokens can be long-lived and revoked at any time.

Honest about the limits. This is real access to your machine, not a locked-down sandbox. Everything travels encrypted, and we never store your commands or their text results. Files you explicitly transfer are separate temporary blobs: access expires after 24 hours and cleanup follows in an hourly, retrying sweep. Your code is the key — keep it private, like a password. Read the full security model →
Also from us

More productivity tools, all AI-ready

Each has a free tier.