# Top-level commands

> Part of the Cowliss docs. Markdown for every page: append `index.md` to its URL. Site map: /llms.txt

<!-- GENERATED by apps/docs/scripts/generate-cli-reference.ts. Do not edit. Regenerate with `pnpm -F cowliss-docs generate`. -->

Commands that hang off the root rather than a group.

## cow disable

turn automations off (many keys, or --all for this app's)

`cow disable [options] [keys...]`

**Arguments**

| Argument | Description |
| --- | --- |
| `keys` | automation keys |

**Options**

| Flag | Description |
| --- | --- |
| `--all` | every automation of this app |
| `--app-id <appId>` | the app, when not run inside its repo |

## cow enable

turn automations on (many keys, or --all for this app's)

`cow enable [options] [keys...]`

**Arguments**

| Argument | Description |
| --- | --- |
| `keys` | automation keys |

**Options**

| Flag | Description |
| --- | --- |
| `--all` | every automation of this app |
| `--app-id <appId>` | the app, when not run inside its repo |

## cow init

create a cow project in .cowliss/: cow.json, automations/, emails/, segments/, and the files to test them

`cow init [options] [dir]`

**Arguments**

| Argument | Description |
| --- | --- |
| `dir` | repository to create the project in (default: here) |

**Options**

| Flag | Description |
| --- | --- |
| `--org <id>` | organization id (default: the logged-in org) |
| `--app <id>` | app id this repository pushes to (default: ask, or the org's only one) |
| `--yes` | accept the defaults instead of prompting |
| `--blueprint <name>` | start from a gallery blueprint |

## cow login

authenticate via the dashboard browser flow (or --token) and cache the session for this API

`cow login [options]`

**Options**

| Flag | Description |
| --- | --- |
| `--token <jwt>` | paste a session token instead of the browser flow |
| `--web <url>` | dashboard URL; overrides COW_WEB_URL and webUrl in cow.json (default https://app.cowliss.com) |
| `--no-open` | do not open the browser; print the URL and wait (headless/agent use) |

## cow logout

delete the cached session for this API, leaving other APIs' sessions in place

`cow logout [options]`

## cow mcp

run the MCP server over stdio (admin API as tools for in-editor agents)

`cow mcp [options]`

## cow overview

the organization's last 30 days against the 30 before: people, events, deliveries, subscribers, broadcasts sent, open rate

`cow overview [options]`

## cow pause

hold automations: nobody enters, and everyone part-way through waits (many keys, or --all for this app's)

`cow pause [options] [keys...]`

**Arguments**

| Argument | Description |
| --- | --- |
| `keys` | automation keys |

**Options**

| Flag | Description |
| --- | --- |
| `--all` | every automation of this app |
| `--app-id <appId>` | the app, when not run inside its repo |

## cow plan

show what a push of this repository would change, and change nothing

`cow plan [options]`

## cow pull

write the app's automations, templates, segments, events and purposes, as the server holds them, into this project

`cow pull [options]`

**Options**

| Flag | Description |
| --- | --- |
| `--app-id <id>` | the app to pull into a directory with no cow.json |
| `--force` | write even when the git working tree is dirty |

## cow push

show what this repository would change, then apply it once you agree

`cow push [options]`

**Options**

| Flag | Description |
| --- | --- |
| `--yes` | apply without asking; what a pipeline passes |
| `--force` | overwrite resources edited in the dashboard or over the API since the last push |
| `--prune` | also delete the automations and segments this app has and this tree does not |

## cow search

find what an id, an automation, template or segment key, an app slug or an identifier value names

`cow search [options] <q>`

## cow status

whether this app is healthy, what its automations and templates are doing, and what changed here since the last push

`cow status [options]`

## cow test

run every scenario in scenarios/, one automation's, or one file, on a virtual clock (local: no API call, nothing sent; a project with no automations passes)

`cow test [options] [automation]`

**Options**

| Flag | Description |
| --- | --- |
| `--scenario <file>` | run only this JSON scenario file, against the named automation |

## cow whoami

show which credential commands here will use, and for a login its subject, org, role, expiry and every org it covers

`cow whoami [options]`

**Options**

| Flag | Description |
| --- | --- |
| `--key <ak_...>` | ask the API what an ingestion key writes into, instead of reading the cached session |
| `--source <src_...>` | the source id that key is about to send to (required with --key) |
