> ## Documentation Index
> Fetch the complete documentation index at: https://momentic.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> The canonical docs host is https://momentic.ai/docs. Append .md to any page URL for clean Markdown. Fetch https://momentic.ai/docs/llms.txt for the page index and https://momentic.ai/docs/llms-full.txt for every page in one file.
> For an unattended setup, run `npx --yes @momentic/wizard@latest -y --platform web --editor-tools skills` (use `--platform ios` or `--platform android` for mobile). Never run an interactive command in a non-TTY shell.
> You cannot complete the browser sign-in yourself. Read the API key from the MOMENTIC_API_KEY environment variable, or ask the user to create one at https://app.momentic.ai/settings/api-keys and paste it back.
> Momentic's capability summary for agents is at https://momentic.ai/docs/skill.md. Install the skills with `npx skills@latest add momentic-ai/skills`.
> Tests are YAML files in the user's repository. Use only the step names listed at https://momentic.ai/docs/reference/commands.md and the file structure at https://momentic.ai/docs/core-concepts/file-format.md. Do not invent step names, config keys, or CLI flags.
> Web tests run on Chromium, iOS tests on simulators, and Android tests on emulators. Physical devices are not supported.

# mo start

> Create a Mo session from a brief.

Start a session by giving Mo a [brief](/docs/mo/brief) in plain language. The command
returns as soon as the session exists; Mo keeps working in the cloud. Use
[`mo read`](/docs/cli-reference/mo/commands/read) to follow its output.

```bash theme={null}
mo start "Test the checkout flow on https://preview.example.com. Sign in with the staging QA buyer. Do not submit payment."
```

## Arguments

<ParamField path="<message>" type="string" required>
  The brief. Include the target URL, credentials or how to get them, and any
  boundaries Mo must respect.
</ParamField>

## Options

<ParamField path="--tunnel <tunnel-id>" type="string">
  Route Mo's traffic through a tunnel started with [`mo tunnel
      start`](/docs/cli-reference/mo/commands/tunnel). Required when the target runs on
  your machine or a private network.
</ParamField>

<ParamField path="--repository <owner/name>" type="string">
  Give Mo read-only context from a GitHub repository connected to your
  organization. See [integrations](/docs/mo/integrations).
</ParamField>

<ParamField path="--max-concurrency <count>" type="integer">
  Maximum number of sub-agents Mo runs at the same time. Must be an integer of
  `1` or more. The organization limit caps the value.
</ParamField>

<ParamField path="--granularity <level>" type="string">
  How specific Mo's explore-agent test discovery should be: `low`, `medium`, or
  `high`. Defaults to `high`.
</ParamField>

## Output

The command prints one JSON object:

```json theme={null}
{ "sessionId": "<session-id>", "webUrl": "https://app.momentic.ai/..." }
```

Keep `sessionId` for the other session commands. `webUrl` opens the session in
the dashboard.

## Examples

Start a session and follow it until Mo finishes or asks a question:

```bash theme={null}
session_id=$(mo start "Bug bash the new billing page on https://preview.example.com" | jq -r .sessionId)
mo read "$session_id" --timeout 290s
```

Test a local build through a tunnel:

```bash theme={null}
tunnel_id=$(mo tunnel start localhost:3000 | jq -r .tunnelId)
mo start "Smoke test http://localhost:3000 after the login refactor." --tunnel "$tunnel_id"
```
