Pair a runner and add profiles
A runner is the minga service on a machine you own. It connects out to Minga, takes work for your workspace and runs
it in the Claude Code and Codex CLIs with your own setup. This guide installs one, pairs it, keeps it running and sets
up its profiles. The runner works on macOS and Linux; Windows is not supported yet.
Install and pair
Section titled “Install and pair”-
Install the binary:
curl -fsSL https://app.minga.run/install.sh | shIt goes to
~/.local/bin(setMINGA_INSTALL_DIRfor another place). Nosudo; the script never edits your shell profile and prints thePATHline to add if needed. -
Pair this machine with your workspace:
minga runner loginThe runner prints a link and a code and waits. Open the link in a browser where you are signed in to Minga (on macOS it opens by itself; over SSH, open it on your laptop or phone), check the code, pick the workspace under Add it to, and approve. The request expires after 10 minutes.
The runner shows in the app under its host name. To choose another name:
minga runner login --name vps-1Use
--no-opento keep the browser closed. -
Keep it running as a user service:
minga runner install- macOS: a LaunchAgent,
~/Library/LaunchAgents/run.minga.runner.plist, loaded into your login session (so the CLIs see your Keychain logins). It starts at login and restarts if it stops. - Linux: a
systemd --userunit,~/.config/systemd/user/minga-runner.service, enabled and started. To keep it running while you are logged out (on a VPS, say), run the command it prints:sudo loginctl enable-linger $USER.
The service gets the
PATHof the shell you raninstallfrom, so it findsclaude,codex,gitandgh. If you install a CLI later in a new place, runminga runner installagain. - macOS: a LaunchAgent,
-
Check it:
minga statusIt shows the connection, the server, the workspace, the profiles and the repos. In the app the runner appears under Settings › Runners as online.
One machine is paired with one workspace. To move it to another workspace, run minga runner logout first.
Profiles: your CLI setups
Section titled “Profiles: your CLI setups”A profile is one CLI setup on the machine: the CLI and its home directory, where its login and settings live. On its first start the runner adds profiles for the homes it finds:
| Profile | CLI | Home |
|---|---|---|
claude-personal |
Claude Code | ~/.claude |
codex-personal |
Codex | ~/.codex |
Check them
Section titled “Check them”minga profile checkFor each profile it shows whether the CLI is signed in, which models it offers and its usage. It never reads the
contents of your credentials and never runs a model turn. Add a profile id to check one, or --json for the full
report.
Add a second setup
Section titled “Add a second setup”Use separate profiles for separate logins: a personal and a work Codex account, or a Claude Code setup with a different API key. Each one needs its own home directory, set up with that CLI first.
minga profile add codex --id codex-work --home ~/.codex-workminga profile add claude --id claude-team --home ~/.claude-teamIf the home does not exist yet, the runner prints the command to sign in there first. For Codex that is
CODEX_HOME=~/.codex-work codex login.
Options:
--defaultmakes it the default profile for its CLI (the one a run uses when it names none);--workspaces <id,id>lets it serve only those workspaces;--cli-path <path>uses a specific CLI binary instead of the one onPATH.
List, limit and tune
Section titled “List, limit and tune”minga profile list # every profile with its access modeminga profile scope codex-work <workspaceId> # serve only this workspaceminga profile scope codex-work --all # serve every workspace againminga profile set codex-work access ask # see Access modesA workspace’s id is the part after /w/ in the app’s address. minga profile set also takes mcp, mcp-approval,
network, model and effort. See
Access modes and the CLI reference.
You can change a profile’s access mode, model and effort in the app too, under Settings › Runners, if you own the runner.
Update
Section titled “Update”The runner installs new signed releases on its own when it is idle. To update now:
minga update # install the latest releaseminga update --check # only checkA running runner restarts into the new version as soon as its active runs end, and takes no new runs meanwhile.
Remove
Section titled “Remove”minga runner uninstall # remove the serviceminga runner logout # remove this machine's pairing and credentialsThe runner stays listed in the app until you remove it there (Settings › Runners).