Develop

Install and sign in

Two steps: get the program, then prove who you are. The program is one file with nothing else to install. Signing in happens once per machine.

Install it

On a Mac, with Homebrew:

brew install deepnoodle-ai/tap/mobius

Check it worked:

mobius version
<version>

For Windows and Linux, download the file for your machine from the releases page, put it somewhere on your PATH (the list of places your terminal looks for programs), and run the same version check.

Sign in as yourself

On your own machine, sign in through the browser:

mobius auth login --default

A browser tab opens asking you to confirm. Once you do, the terminal says so:

Login approved.
Saved profile: <profile-name>

That saved profile is your login, stored on this machine so you don't do this again. --default makes it the one every command uses.

Check who you are at any time:

mobius auth status
API URL: https://api.mobiusops.com
Auth source: saved profile
Profile: <profile-name>
Scope: user
Org: <organization-name>
User: <email>
Auth check: GET /v1/agents -> HTTP 200
Authenticated: yes (browser-based CLI credential verified)

On a machine with no browser, like a server you're connected to remotely, add --no-browser. The terminal prints a web address and a short code, and you confirm from your phone or laptop.

More than one login

If you belong to more than one organization, you'll end up with more than one profile.

mobius auth list
DEFAULT   PROFILE           ORG               ENDPOINT                     LAST USED
*         <profile-name>    <organization>    https://api.mobiusops.com    <timestamp>

Use one for a single command with --profile <name>. To switch for the rest of your terminal session, run this and paste the line it gives you:

mobius auth use <profile-name>

Sign in a script or a worker

A script has no browser and shouldn't be signing in as you. Give it its own API key instead, so you can see what it did in the audit log and switch it off without touching your own login.

Create an API key in the app under Settings > Access, then hand it to the script through the environment rather than typing it into the script:

export MOBIUS_API_KEY='<api-key>'

Every mobius command picks those up automatically. Check it works with something harmless:

mobius routines list --output json
{
  "items": [],
  "has_more": false
}

An empty list is a pass. The key reached the organization and the organization has no routines yet.

Warning: Never put a key directly in a script, a config file you commit, or your shell history. Use your CI system's secret store, or a password manager, and read it into the environment at run time.

Point at a local Mobius

Only relevant if you're running Mobius yourself for development:

mobius agents list \
  --api-url http://localhost:8080 \
  --api-key "$MOBIUS_API_KEY"

Next