CLI Reference
Use Type CLI to deploy a project folder and to manage the automation after the deploy. Install it and log in first:
curl -fsSL https://type.com/install.sh | shtype-cli auth loginCommands
Section titled “Commands”| Goal | Command |
|---|---|
| Deploy or update a folder | type-cli automations deploy <folder> --space <space> |
| Follow a deploy | type-cli automations deployment <deployment-id> --space <space> --follow |
| Show the saved automation | type-cli automations get <automation-id> --kind scheduled --json |
| List automations | type-cli automations list --space <space> |
| Show runs | type-cli automations history --space <space> --automation <automation-id> |
| Show one run in detail | type-cli automations history --space <space> --run <run-id> --include-activity |
| Pause | type-cli scheduled-actions disable <automation-id> --space <space> |
| Resume | type-cli scheduled-actions enable <automation-id> --space <space> |
| Archive | type-cli scheduled-actions archive <automation-id> --yes |
| Delete permanently | type-cli scheduled-actions delete <automation-id> --permanent --yes |
Type stores a deployed code automation as a scheduled action. That is why pause, resume, archive, and delete use scheduled-actions commands.
automations deploy
Section titled “automations deploy”type-cli automations deploy [<folder>] --space <space> [--timeout <seconds>] [--expires-in <duration> | --expires-at <time> | --max-runs <count> | --no-expiration] [--json]| Argument or flag | Default | Meaning |
|---|---|---|
<folder> | . | The project folder. It must contain type.json. |
--space | — | Required. The Space that owns the automation. |
--timeout | 600 | How long the CLI waits, in seconds. 1 to 3600. |
--expires-in | — | Expire after a duration from the first activation, for example 30s, 15m, 5h, or 7d. |
--expires-at | — | Expire at an ISO timestamp with Z or an offset. |
--max-runs | — | Expire after this number of live runs. |
--no-expiration | — | Remove the expiration for this deploy. |
--json | off | Print JSON lines. |
Use at most one expiration flag. It overrides type.json and the source for this deploy only. The next deploy without a flag uses the project value again. See Expiration.
What the command does:
- Reads and validates the folder on your computer. See Project Files.
- Creates
.type/project.jsonif it does not exist. This file is the identity of the project. - Writes a new deployment ID to
.type/deployment.json. - Sends the project to Type.
- Prints each deploy stage until the deploy is
activeorfailed. - Writes the automation ID to
.type/deployment.json.
Example output:
Deployment 3f6c2a4e-8b1d-4c2a-9f0e-1a2b3c4d5e6fdeployment: startedvalidation: startedvalidation: succeededfixtures [records the scheduled time]: succeededsubscription [hourly]: succeededactivation: startedactivation: succeededdeployment: succeededDeployment 3f6c2a4e-8b1d-4c2a-9f0e-1a2b3c4d5e6f: activeAutomation: atask_01k...With --json, the command prints one JSON object on each line:
{"type":"deployment","deploymentId":"3f6c2a4e-..."}{"type":"checkpoint","deploymentId":"3f6c2a4e-...","automationId":"atask_...","stage":"validation","status":"succeeded","sequence":3,"at":"2026-10-13T12:00:01.000Z"}{"ok":true,"operation":"automations.deploy","deploymentId":"3f6c2a4e-...","automationId":"atask_...","status":"active","events":[]}Deploy rules:
- A successful deploy enables the automation.
- If a deploy fails, the automation keeps its last active revision.
- A folder can have only one deploy in progress.
- Only the person who created the automation can deploy to it again.
- Two automations in the same Space cannot have the same
name. - A deploy expires after 10 minutes if it does not activate.
- If you lose the connection during a deploy, do not deploy again at once. Use
automations deploymentwith the ID from.type/deployment.jsonto read the result.
automations deployment
Section titled “automations deployment”type-cli automations deployment <deployment-id> --space <space> [--follow] [--timeout <seconds>] [--json]Reads the status of a deploy. <deployment-id> is the UUID that deploy printed. Without --follow, it reads the status one time. With --follow, it prints each stage until the deploy ends.
Statuses: running, active, failed.
automations get
Section titled “automations get”type-cli automations get <automation-id> --kind scheduled [--json]Shows the saved automation. For a code automation, the result includes codeExecution, codeFiles, and subscriptionStatuses. Each subscription status is pending, active, paused, or disabled.
automations history
Section titled “automations history”type-cli automations history --space <space> [--automation <id>] [--run <id>] [--status <status>] [--since <time>] [--limit <n>] [--include-activity] [--include-content]| Flag | Meaning |
|---|---|
--automation | Show runs of one automation. |
--run | Show one run. |
--status | running, completed, failed, or cancelled. |
--since, --until | ISO time, or a relative time such as 7d or 12h. --until is exclusive. |
--limit | 1 to 100. Default 20. |
--cursor | The next page. |
--mode | live, test, unknown, or all. |
--include-activity | Add the steps of each run. |
--include-content | Add message content. |
--max-chars | 1 to 48,000. Default 8,000. |
Use --all-spaces instead of --space to read all Spaces that you can access.
Test saved code and edit reports
Section titled “Test saved code and edit reports”These commands require code-first-automations. Report commands additionally require automation-visualizations.
type-cli automations schema --live --jsontype-cli automations test-code <automation-id> --space <space> --arguments-file ./fixture.json --jsontype-cli scheduled-actions update <automation-id> --space <space> --max-runs 10 --jsontype-cli scheduled-actions update <automation-id> --space <space> --no-expiration --jsontype-cli automations visualization get <automation-id> --space <space> --jsontype-cli automations visualization update <automation-id> --space <space> --patch-file ./report.json --expected-revision 4 --jsontype-cli automations visualization hide <automation-id> --space <space> --expected-revision 5 --jsontype-cli automations visualization restore <automation-id> --space <space> --expected-revision 6 --jsontype-cli automations visualization export <automation-id> --space <space> --destination json --jsonPause the automation before test-code and sign in as its creator. A fixture contains subscriptionId and payload, with optional checkpoint, matcher, and recorded responses. The command returns its result and testedDefinitionHash; it does not enable the automation. Use --arguments-file - for stdin or --arguments '<JSON>' for inline input.
Report updates require the current revision. Read it before editing and re-read after a version conflict. The update file contains visualization plus optional layout and binding fields. Hide preserves the saved report, and restore uses it. Export supports json and image; it does not deliver reports to external services.
With the feature enabled, get includes connection health and intervention details, while detailed history can include code results, call journals, retrospectives, and report errors. Use --run <id> --include-activity --include-content for rich run details. They share the redacted --max-chars budget with activity; detailContentOmitted names omitted fields. Secondary feature gates still apply.
See Type CLI for input details and expiration options.
Global flags
Section titled “Global flags”| Flag | Environment variable | Meaning |
|---|---|---|
--json | TYPE_JSON=1 | Print JSON. |
--no-input | TYPE_NO_INPUT=1 | Do not ask questions. Commands that need approval fail unless you add --yes. |
--profile <name> | TYPE_PROFILE | Use a saved login profile. Default default. |
--org <org> | TYPE_ORG_ID | Use a workspace. |
--server <url> | TYPE_SERVER_URL | Default https://api.type.com. |
Exit codes
Section titled “Exit codes”| Exit code | Error code | Meaning |
|---|---|---|
| 0 | — | Success. |
| 1 | unexpected_error | An unknown error. |
| 2 | invalid_input, version_conflict | The input is not valid, or the data changed. Also returned when code automations are not on for the workspace. |
| 3 | auth_required | Run type-cli auth login. |
| 4 | permission_denied | You do not have access. |
| 5 | ambiguous_resource | More than one item matches. |
| 6 | unavailable, rate_limited | The deploy failed, the wait timed out, or Type is not available. |
| 8 | not_found | The item does not exist. |
With --json, an error prints {"ok":false,"error":{"code","message","details"}}.
Limitations
Section titled “Limitations”automations test-codetests saved, paused code with fixtures; deployment still runs the project’s fixture suite.automations tests startandscheduled-actions testtest agent instructions. They do not run your code with fixtures.- The CLI has no
logscommand. Useautomations history --run <id> --include-activity. - Offline
automations schemaomits code commands. Useautomations schema --liveto discover code commands when the feature is enabled.