Skip to content

The inferam CLI

inferam is a small CLI that signs a device in to Inferam and starts coding agents pointed at it. Install it with:

Terminal window
curl -fsSL https://inferam.ai/install | sh

It installs to ~/.local/bin; set INFERAM_INSTALL_DIR to install somewhere else.

Command What it does
inferam auth login Signs this device in through your browser and stores a device key
inferam auth status Shows whether this device is signed in, and the model being served
inferam auth logout Revokes this device’s key and removes it
inferam <agent> [args…] Runs an agent on Inferam for this session only. Agents: dsh, claude, codex, opencode, pi
inferam --yes <agent> Installs a missing agent without asking (needed in non-interactive shells)
inferam update Updates inferam to the latest release; --check only reports
inferam version Prints the installed version

inferam <agent> sets the agent up with environment variables, command-line flags or a temporary file that is deleted when the agent exits. It never edits the agent’s own config, so running the agent directly afterwards behaves exactly as before. Everything after the agent name passes straight through to the agent, and the agent’s exit code is returned.

For what is set for each agent, and how to do the same by hand, see the coding agent guides.

Each agent saves its sessions where it always does. When an agent exits, inferam prints the command that resumes that session on Inferam:

Resume this session on Inferam: inferam codex resume 01a18409-2fad-7fa0-8235-140bda73fba0

It’s the agent’s own resume command with inferam in front:

Agent Resume
Claude Code inferam claude --resume <id> (or --continue for the latest)
Codex inferam codex resume <id> (or resume --last)
opencode inferam opencode --session <id> (or --continue)
pi inferam pi --session <id> (or --continue)
DeepSeek Harness Sessions are listed in the web UI; headless runs take inferam dsh headless --session-id <id>

The hint is printed only when the agent ran in a terminal. If two sessions of the same agent were active in the same folder at once, it’s left out rather than risk the wrong ID. Running the plain agent command (for example claude --resume <id>) resumes the session on the agent’s own provider instead of Inferam.

inferam auth login creates a key named “CLI on <hostname>”. It’s stored in the OS keychain (macOS Keychain, or the Secret Service on Linux), or else in a file readable only by you: ~/.config/inferam/credentials on Linux, ~/Library/Application Support/inferam/credentials on macOS. Device keys expire after 30 days without use. You can see and revoke them on inferam.ai/keys.

inferam checks for a newer release once a day and tells you when one is available. inferam update downloads it and replaces the binary in place. Releases are signed: from version 0.1.2 on, inferam update only installs a release whose checksums are signed with Inferam’s release key, and it verifies the binary against those checksums.

Variable Effect
INFERAM_API_KEY Use this key instead of the signed-in device key
INFERAM_NO_UPDATE_CHECK=1 Turn off the daily update check
INFERAM_INSTALL_DIR Where the install script puts inferam (default ~/.local/bin)