Skip to content

CLI reference

The magmell CLI stores user configuration locally and can also use environment variables for non-interactive operation.

magmell <command> [options]
Option Purpose
--json Print machine-readable JSON on supported commands
--team ID Select a team for this command

Environment variables override stored configuration:

Variable Purpose
MAGMELL_BASE_URL Gateway origin, normally https://api.magmell.siloga.cloud
MAGMELL_API_KEY Team API key for non-interactive use
Terminal window
magmell login [--url URL] [--email EMAIL] [--password PASSWORD]

Authenticates a user and saves the access token. Omitting email or password prompts interactively. Avoid --password in normal use because shell history can retain it.

Terminal window
magmell whoami [--json] [--team ID]

Displays the signed-in user and team memberships. This command requires a user session; an API key cannot substitute for one.

Terminal window
magmell deploy <dir> --name NAME --version VERSION \
[--runtime python-3.12|node-22] [--requirements a,b] \
[--preset handler|command] [--entrypoint ARG]... \
[--setup COMMAND]... [--wait] [--json] [--team ID]

Reads the validated source tree in dir, creates a deployment, and optionally waits for its build. Python 3.12 is the default; when --requirements is omitted, a top-level requirements.txt is installed automatically. Node.js 22 requires --runtime node-22 and an npm v3 lockfile when packages are declared. Node does not accept --requirements and remains subject to the gateway’s creation and dispatch capability switches. --setup is repeatable and commands execute in order before runtime-specific dependency installation.

The default --preset handler expects the runtime’s handler entry file (handler.py or handler.ts). --preset command instead runs an exact entrypoint argv given by a repeatable --entrypoint (first item is the executable, the rest are its arguments) and needs no handler file; --entrypoint is rejected without --preset command. See command deployments for the runtime contract.

Terminal window
magmell deployments list [--limit N] [--json] [--team ID]

Lists active deployments for the selected team.

Terminal window
magmell run <handler|deploymentId> \
[--version VERSION] \
[--input JSON | --input-file FILE] \
[--wait] [--json] [--team ID]

A non-UUID argument is a handler name. --version applies only to names and is ignored with a deployment ID. Input defaults to {}.

Terminal window
magmell runs list [--deployment HANDLER] [--limit N] [--json] [--team ID]

Lists recent runs, optionally filtering across all versions of one handler.

Terminal window
magmell runs events <handler>#<number> [--level LEVEL] [--json] [--team ID]
magmell runs events <runId> [--level LEVEL] [--json] [--team ID]

LEVEL is one of debug, default, warning, or error.

Terminal window
magmell secrets set <handler|deploymentId> KEY=VALUE [KEY=VALUE ...] [--team ID]

Replaces the deployment’s complete secret set. A name selects its latest active version; use a deployment ID to target an exact older version.

Terminal window
magmell secrets list <handler|deploymentId> [--json] [--team ID]

Lists configured secret names. Values are never returned.

Terminal window
magmell keys create <name> [--json] [--team ID]
magmell keys list [--json] [--team ID]

The full key is shown only once when created. Save it immediately in your secret manager. Key revocation is currently available through the web console or SDK.

Terminal window
magmell members list [--json] [--team ID]
magmell members add <email> [--role member|owner] [--json] [--team ID]
magmell members set-role <email|userId> <owner|member> [--team ID]
magmell members remove <email|userId> [--team ID]
magmell members leave [--team ID]

Adding, changing, or removing other members requires the owner role. Membership commands require a user session rather than an API key.

  • 0: command completed successfully
  • 1: API or operational failure
  • 2: invalid CLI usage

When run --wait observes a failed run, it prints the failure and exits 1.