Skip to content

CLI Companion

oxt is OxideTerm’s CLI companion — a ~1 MB binary that communicates with the running OxideTerm app via JSON-RPC 2.0 over Unix Socket (macOS/Linux) or Named Pipe (Windows).

oxt lets you interact with OxideTerm from any terminal or script — check status, list sessions, and control connections without switching to the OxideTerm window.

Terminal window
# Check OxideTerm status
oxt status
# List active connections
oxt list
# Ping a connection
oxt ping

All commands support both human-readable and JSON output:

Terminal window
# Human-readable (default)
$ oxt status
OxideTerm v0.21.0
Status: Running
Sessions: 3 active
# Machine-readable JSON (for scripts)
$ oxt status --json
{"version":"0.21.0","status":"running","sessions":3}
CommandDescription
statusCheck if OxideTerm is running, get version info and active session count
listList all active SSH sessions with host, user, state, and uptime
pingTest connectivity to a specific connection
PlatformTransportPath
macOSUnix Socket~/Library/Application Support/com.oxideterm.app/oxideterm.sock
LinuxUnix Socket~/.config/com.oxideterm.app/oxideterm.sock
WindowsNamed Pipe\\.\pipe\oxideterm

The protocol is JSON-RPC 2.0 — a lightweight, standardized protocol for remote procedure calls:

// Request
{"jsonrpc": "2.0", "method": "status", "id": 1}
// Response
{"jsonrpc": "2.0", "result": {"version": "0.21.0", "status": "running"}, "id": 1}

This makes it easy to integrate with scripts, CI/CD pipelines, and monitoring tools. Any language with JSON-RPC support can communicate with OxideTerm.

oxt is included with OxideTerm — no separate installation required. The binary is available in the application bundle:

PlatformLocation
macOS/Applications/OxideTerm.app/Contents/MacOS/oxt
LinuxDepends on installation method; typically alongside the main binary
WindowsSame directory as OxideTerm.exe

You can add the binary location to your PATH for convenient access from any terminal.

#!/bin/bash
# Check if OxideTerm is running before attempting operations
if oxt status --json | jq -e '.status == "running"' > /dev/null 2>&1; then
echo "OxideTerm is running"
oxt list --json | jq '.sessions[] | .host'
fi
Terminal window
# Watch active sessions (refresh every 5s)
watch -n 5 oxt list