pip install cruqai. Authenticate with cruqai login, or set
CRUQAI_API_KEY and CRUQAI_BASE_URL in the environment.
cruqai login # stores credentials in ~/.cruqai/config.json
cruqai --version
--json for raw output.
Agents & runs
| Command | Description |
|---|---|
cruqai run <agent> "<text>" | Run an agent and stream its tool-call trace. |
cruqai runs | List recent runs, with cost and latency. |
cruqai trace <run-id> [--screenshots dir] [--models] [--otel] | Show a run’s persisted trace, model, and usage. --screenshots downloads the browser tool’s screenshots, --models adds each model call, --otel prints the run as OpenTelemetry trace data. |
cruqai push <file.py> | Compile an authoring file and publish an agent. |
cruqai agents list | List agents. |
cruqai agents pull <ref> [--out file] | Fetch an agent’s current graph as JSON, in the shape push accepts back. |
cruqai agents delete <ref> | Delete an agent by id or name. |
cruqai agents rename <ref> <name> / describe <ref> "<text>" | Rename an agent or set its description. |
cruqai answer <run-id> "<text>" | Answer the question a paused run is waiting on. |
cruqai threads list --agent <ref> | An agent’s conversations. |
cruqai threads show <thread-id> --agent <ref> | Every turn in a conversation. |
cruqai tools list | The workspace’s tool catalog. |
cruqai tools browser <ref> --allow domain [--allow ...] [--block domain] [--approvals consequential|always|never] [--max-actions N] [--max-minutes N] [--profile name] [--credential name ...] | Set the browser tool’s allowed domains, approvals, limits, saved sign-in and logins. |
cruqai dev <file.py> "<text>" | Run an agent locally, in-process. |
cruqai serve <file.py> | Expose @tool functions over MCP. |
cruqai runs and cruqai trace print - where the provider reported no usage.
That means “not measured”, not “free” - see
Observability.
Evals
| Command | Description |
|---|---|
cruqai evals suites [--agent A] | List eval suites. |
cruqai evals create-suite <name> --agent A | Create a suite (--workspace to share it). |
cruqai evals suite <ref> | Show a suite and its cases. |
cruqai evals delete-suite <ref> | Delete a suite and its cases. |
cruqai evals add-case <suite> --name N --input T --scorers J | Add a case. |
cruqai evals suggest <suite> [--add 1,3] | Suggest cases from the agent’s recent runs; --add adds the ones you pick. |
cruqai evals delete-case <id> | Delete a case. |
cruqai evals update-case <id> [--name] [--input] [--scorers J] [--weight] | Edit a case. |
cruqai evals run <agent> --suite S --model M --model M | Compare models. |
cruqai evals list | List comparisons. |
cruqai evals results <id> [--matrix] | Leaderboard, judge agreement, and every cell. |
cruqai evals review <id> [--all] | Score judged results 1-5 yourself to check the LLM judge. |
cruqai evals cancel <id> | Cancel a comparison. |
cruqai evals rename-suite <ref> <name> | Rename a suite. |
cruqai evals rename <id> <name> | Rename a comparison. |
cruqai evals run "Support bot" --suite regression \
--model fast=openrouter/openai/gpt-4o-mini \
--model smart=openrouter/anthropic/claude-3.5-sonnet \
--budget 2.00 --watch
--model repeats, and takes an optional label= prefix. --scorers accepts
inline JSON or @file.json. With --watch the command polls until the
comparison finishes and exits non-zero if any cell errored, which is enough to
gate a CI step. See Evals.
Knowledge
| Command | Description |
|---|---|
cruqai knowledge list | List knowledge bases. |
cruqai knowledge create <name> [--graph-model provider/model] | Create a knowledge base. |
cruqai knowledge add-doc <kb> --title T --file F | Ingest a document (PDF, DOCX, text, …). |
cruqai knowledge search "<query>" | Semantic search over chunks. |
cruqai knowledge docs <kb> | List a base’s documents and their status. |
cruqai knowledge graph <kb> [--entity] | Show a base’s knowledge graph. |
cruqai knowledge delete <name> | Delete a base and its documents. |
cruqai knowledge rename <kb> <name> | Rename a base. |
cruqai knowledge rename-doc <kb> <doc-id> <title> / delete-doc <kb> <doc-id> | Retitle or delete a document. |
Memory
| Command | Description |
|---|---|
cruqai memory add "<fact>" | Store a memory. |
cruqai memory search "<query>" | Recall memories. |
cruqai memory list | List stored memories. |
cruqai memory delete <id> | Delete a memory. |
cruqai memory update <id> "<fact>" | Rewrite a memory (re-embedded). |
Schedules
| Command | Description |
|---|---|
cruqai schedules list [--agent <ref>] | List schedules. |
cruqai schedules create <name> --agent <ref> --input "..." --every hourly|daily|weekly [--at HH:MM] [--on mon..sun] [--tz Zone] | Run an agent on a cadence. |
cruqai schedules enable <id> / disable <id> | Pause or resume a schedule. |
cruqai schedules delete <id> | Delete a schedule. |
API keys
| Command | Description |
|---|---|
cruqai keys list [--usage] | List keys, optionally with current-period spend. |
cruqai keys create <name> [--kind runtime|management] [--expires-in days] [--spend-limit usd --reset daily|weekly|monthly] | Mint a key. Printed once. |
cruqai keys revoke <id> | Revoke a key. |
Providers
| Command | Description |
|---|---|
cruqai providers connect <provider> --label ... --api-key ... | Connect a model provider (openrouter, openai, openai_compatible with --base-url, or typesafe for decisions). Reads the key from --api-key, CRUQ_PROVIDER_API_KEY, or a prompt. |
cruqai providers list | List connections (never shows keys). |
cruqai providers delete <id|label> | Remove a connection. |
Skills & subagents
| Command | Description |
|---|---|
cruqai skills list | List skills. |
cruqai skills show <ref> | Print a skill’s instructions. |
cruqai skills apply <name> --body "..."|@file.md [--description ...] [--disabled] | Create or update (by name) a skill. |
cruqai skills enable <ref> / disable <ref> | Show or hide a skill from agents. |
cruqai skills rename <ref> <name> | Rename a skill. |
cruqai skills delete <ref> | Delete a skill. |
cruqai subagents list | Agents exposed as tools. |
cruqai subagents add <agent> | Expose an agent as a subagent tool; then add the tool id to the parent’s graph with agents pull and push. |
cruqai subagents remove <tool-id|agent-name> | Remove the tool row; the agent stays. |
Browser sign-ins
| Command | Description |
|---|---|
cruqai browser profiles list | Saved sign-ins, and which are signed in. |
cruqai browser profiles create <name> [--domain d ...] | Create an empty profile; the next run that signs in fills it. |
cruqai browser profiles clear <name> | Sign out but keep the profile. |
cruqai browser profiles delete <name> | Delete a profile and its sign-in. |
cruqai browser credentials list | Stored logins. Passwords are never printed. |
cruqai browser credentials add <name> --domain d --username u | Store a login. The password comes from CRUQ_BROWSER_PASSWORD or a prompt. |
cruqai browser credentials delete <name> | Delete a login. |
Channels & integrations
| Command | Description |
|---|---|
cruqai channels list [--agent A] [--deployment D] | Slack channels, Telegram bots and WhatsApp numbers. |
cruqai channels connect slack|telegram|whatsapp --agent A|--deployment D [--slack-channel ID] [--signing-secret ...] [--slack-bot-token ...] [--telegram-bot-token ...] [--whatsapp-phone-number-id ID --whatsapp-waba-id ID --whatsapp-access-token ... --whatsapp-app-secret ...] | Connect a channel. Tokens can come from CRUQ_SLACK_BOT_TOKEN, CRUQ_SLACK_SIGNING_SECRET, CRUQ_TELEGRAM_BOT_TOKEN, CRUQ_WHATSAPP_ACCESS_TOKEN or CRUQ_WHATSAPP_APP_SECRET, and are prompted for if missing. A WhatsApp channel prints the callback URL and verify token for your Meta app. |
cruqai whatsapp link AGENT | Get a one-time code that links your WhatsApp to an agent on Cruq AI’s number. Send the code to the number shown. The key must belong to a user, because the agent runs as that user. |
cruqai whatsapp links AGENT | WhatsApp users linked to an agent. |
cruqai whatsapp unlink LINK_ID | Disconnect a WhatsApp user from an agent. |
cruqai channels enable <id> / disable <id> / delete <id> | Toggle or remove a channel. |
cruqai integrations list [--catalog] | Connections, or the connectors this workspace can use. |
cruqai integrations connect <slug> [--secret ...] [--label ...] | Connect an API-key connector (probed before it is saved). OAuth connectors connect from the dashboard. |
cruqai integrations disconnect <id|label|slug> | Remove a connection and its tools. |
Members & voice calls
| Command | Description |
|---|---|
cruqai members list | Members and pending invites. |
cruqai members invite <email> [--role member|admin|owner] | Invite by email. Prints the invite link too. |
cruqai members revoke <id|email> | Revoke a pending invite. |
cruqai members role <user-id|email> <role> / remove <user-id|email> | Change a role or remove a member. A management key acts as an admin: owners stay with a signed-in owner. |
cruqai calls list [--limit N] | Recent voice calls. |
cruqai calls show <id> | A call with its transcript. |
cruqai calls recording <id> [--out file.wav] | Download the recording. |
Deployments (hosted apps)
Management keys only. A deployment is addressed by id or subdomain.| Command | Description |
|---|---|
cruqai deployments list | List hosted apps. |
cruqai deployments check <subdomain> | Is a subdomain valid and free? |
cruqai deployments create <agent> [--subdomain name] [--live] [--login] [--title ...] [--tagline ...] [--accent #hex] [--logo-url ...] [--hero-url ...] [--starter "..." ...] | Deploy a published agent to <subdomain>.cruq.app. Random subdomain if omitted; draft unless --live. |
cruqai deployments show <ref> | Status, URL, login mode and branding. |
cruqai deployments update <ref> [--subdomain ...] [--public|--login] [branding flags] | Change the subdomain, login mode or branding. Branding flags merge over what is set. |
cruqai deployments publish <ref> / disable <ref> | Take the app live or offline. |
cruqai deployments delete <ref> [-y] | Delete the app and release its subdomain. |
cruqai deployments upload-image <ref> <file> --kind logo|hero | Upload a branding image (PNG, JPEG, WebP, GIF, up to 4 MB). |
cruqai deployments users <ref> | End-users with activity counts and block state. |
cruqai deployments block <ref> <user-id> [--reason ...] / unblock <ref> <user-id> | Keep an end-user out, or let them back in. |
cruqai deployments analytics <ref> [--days 30] | Runs, errors, conversations, users, tokens and cost. |
cruqai deployments channels <ref> | Bot channels connected to the app. |
cruqai deployments domain show|set|verify|remove <ref> [domain] | Custom domain: attach one, point a CNAME at the printed target, verify, or detach. |
Guardrails & prompts
| Command | Description |
|---|---|
cruqai guardrails apply <name> --kind ... | Create/update a guardrail. Semantic kind takes --question id=statement (repeatable), --threshold, --context, --fail-closed. |
cruqai guardrails list | List guardrails. |
cruqai guardrails enable <name> / disable <name> | Switch a guardrail on or off without redefining it. |
cruqai guardrails delete <name> | Delete a guardrail. |
cruqai prompts apply <name> --template ... | Create/update a prompt. |
cruqai prompts list | List prompts. |
cruqai prompts delete <name> | Delete a prompt. |
cruqai prompts rename <name> <new-name> | Rename a prompt without bumping its version. |

