Skip to main content

Cade

The CLI agent from Arcade.dev. Coding, research, and everyday automation — driven from a terminal, a single shell pipe, or a long-lived daemon that replies over Telegram, iMessage, or an editor like Cursor.

curl -fsSL https://arcadeagent.dev/install | sh
cade

That is the recommended install — a prebuilt binary from arcadeagent.dev. No GitHub token, no Python toolchain. First cade walks you through model setup, Arcade login, and Arcade cloud tools. Re-run the same curl to upgrade.

New here? The Quickstart is the shortest path to a working session; Connect Cade to your AI app is the same thing without a terminal. Everything else is in docs/.


Highlights

  • Three ways to run it, one binary. Interactive chat (cade), one-shot or pipe (cade -m "…"), or a background daemon (cade daemon) that serves editors and messaging when no terminal is open.
  • Tools from anywhere. Built-in local tools (filesystem / shell / git / search / tasks / memory), Arcade Cloud tools (Slack, GitHub, Gmail, calendars, …), and any MCP server you register — all unified under one tool surface.
  • Bidirectional MCP. Tools can call context.ui.elicit(…) for structured input, context.log.* for live operator logs, and context.progress.report(…) for editable progress UI — routed end-to-end through whichever adapter is active (Telegram inline keyboard, terminal prompt).
  • Agents + per-agent memory. Multiple agents, each with their own model, system prompt, tools, and an indexed memory store backed by agent-library.
  • Extensibility surface. Hooks (lifecycle events), tasks (durable work), cron (scheduled prompts) — all available to the agent as Local_* tools and to you as cade agent hooks / tasks / cron.
  • Bring your own LLM. OpenAI, Anthropic, or any OpenAI-compatible endpoint (Ollama, vLLM, Together, Groq, Fireworks, …). cade chat -L skips Arcade Cloud entirely.

Install

curl -fsSL https://arcadeagent.dev/install | sh

The script detects your OS/arch, downloads the matching prebuilt binary (macOS arm64, Linux x64), verifies its checksum, and drops cade in ~/.local/bin. Pin a version or install location:

CADE_VERSION=0.16.9 CADE_INSTALL_DIR=/usr/local/bin \
  sh -c "$(curl -fsSL https://arcadeagent.dev/install)"

On Linux the installer ships the cpu build today (gpu release assets are paused). Force a variant later with CADE_VARIANT=cpu or CADE_VARIANT=gpu when gpu builds return.

Alternatives

Source Command When
uv uv tool install cade-cli Prefer a PyPI-managed tool venv
pip pip install cade-cli Windows, or no curl install
From source git clone … && uv sync Contributing / hacking on Cade

(Windows: grab the .zip from the releases page, or pip install cade-cli.)

Prerequisites to run Cade: an LLM provider key (OPENAI_API_KEY or ANTHROPIC_API_KEY), and an Arcade account (arcade.dev) for cloud tools. Skip Arcade with cade chat -L or CADE_LOCAL_ONLY=1. The curl installer does not require a local Python — Python 3.11+ is only needed for the uv / pip / from-source paths.

The first run walks you through picking a model provider and key (stored in your OS keyring); re-run it any time with cade account init.

cade account init   # pick provider + model (runs automatically on first launch)
cade login          # Arcade Cloud OAuth (skip it to stay local-only)
cade --version

Full install and first-run docs: docs/install.md and docs/quickstart.md.


Quick start

cade                                       # interactive chat
cade chat                                  # same
cade chat -r                               # resume most recent thread
cade chat --resume "auth-rewrite"          # resume a named thread
cade -m "What changed in HEAD?"            # single message, then exit
cade -m "What went wrong?" < error.log     # prompt + file/stdin
cade --voice                               # speak / hear (requires cade-cli[voice])

cade --help shows: chat, agent, mcp, daemon, account, login, logout. Tools are under cade agent tools. Older flat names (cade list, cade mem, cade tools, cade resume, …) still work as hidden aliases.

Top-level options

Flag Description
-m, --message Single-message mode; piped stdin is appended to the prompt
--voice Voice mode; install cade-cli[voice] first
-v, --verbose Debug logging
--version Print version

In-chat slash commands

Command Description
/help List commands
/clear Clear screen
/copy Copy last response
/logs Recent log entries
/thread, /history Current thread info
/tasks, /cron, /hooks, /notify Coordination surfaces (also cade agent tasks / cron / hooks)
/usage Context-window status and token usage
/cd, /pwd, /! Shell shortcuts
Ctrl+C Exit

Tools

Tools come from three sources and are addressed uniformly by their registered name:

  • Local_* — built-in: filesystem (ReadFile, WriteFile, Edit, ListFiles), shell (Bash), Search, Git, Task*, AskUserQuestion, RetrieveToolResult, ToolSchema, PushNotification, WebFetch, and WebSearch.
  • Memory_* — agent-library backed, per-agent indexed knowledge store.
  • Arcade cloud tools + user MCP servers — Gmail/Slack/GitHub/… via cade mcp authorize arcade; plus anything else you register.
cade agent tools list                   # MCP tools (Local_* hidden by default)
cade agent tools list --source local    # built-in Local_* tools only
cade agent tools search "send slack"    # keyword search
cade agent tools info Local_ReadFile    # full schema + description
cade mcp authorize arcade               # Arcade catalogue (OAuth)
cade mcp install-hosts                  # register Cade in Cursor / Claude / …

The full local tool surface (including the bidirectional MCP capabilities and cade daemon integration) is documented in docs/mcp.md.

Custom MCP servers

cade mcp add my-server http://localhost:8080
cade mcp add my-server http://… --auth bearer -t <token>
cade mcp authorize my-server                      # OAuth flow (browser)
cade mcp list / status / enable / disable / rm

User MCP servers register on the agent's ~/.cade/config/agents/<name>.toml [[mcp]] list (with cade.toml [agent_defaults].mcp as the shared default). Servers with large catalogs are auto-deferred (parameter schemas stripped to keep tool-list bytes down) and fetched on demand via Local_ToolSchema.


Agents + memory

Each agent bundles a model, system prompt, tools, and memory. The current agent is ambient — most commands act on it.

cade agent new reviewer --prompt "You are a meticulous code reviewer."
cade agent list
cade agent use reviewer
cade agent info / cade agent edit reviewer

cade agent mem add ~/Notes                    # one step: register + index
cade agent mem                                # status
cade agent mem search "auth design"

Memory is per-agent under ~/.cade/data/agents/<id>/memory/<agent>/.librarian/. Cade keeps the index and embedder ready (auto-heal empty indexes, warm after add/update, longer first search timeouts). The model uses Memory_* for notes recall — not Local_* filesystem tools. Details: docs/agents.md.


Headless daemon: cade daemon

One long-lived supervisor serves all your agents to MCP hosts (Claude Desktop, Cursor) and messaging adapters (Telegram, iMessage). Each conversation gets its own persistent thread — model, memory, and tools carry across messages. See docs/daemon.md.

cade daemon init                         # mint a token + optional Telegram/iMessage wizard
cade daemon start                        # foreground (gateway + messaging)
cade daemon start -v                     # also print message traffic
cade daemon install                      # LaunchAgent/systemd unit for this platform
cade daemon status / stop / restart      # health; SIGTERM; reload boot settings
cade daemon token new cursor -e delegate -e resources

Adapter + tool config lives in ~/.cade/config/agents/<name>.toml. The daemon reads adapters and cron at boot, so run cade daemon restart after editing them.

Security defaults are fail-closed: allowed_senders = [] blocks everyone on messengers, and the seeded tool policy denies Local_Bash. Loopback MCP (hosts / local CLI) needs no token; pass cade daemon start --auth or bind off-loopback to require bearer tokens.


Extensibility: hooks, tasks, cron

Three primitives the agent uses directly (as Local_* tools) and you can drive from the CLI:

Surface What it is CLI
Hooks Lifecycle event handlers (pre/post tool, user prompt submit) cade agent hooks …
Tasks Durable work units that survive turn boundaries cade agent tasks …
Cron Scheduled prompts the agent runs on a timer cade agent cron …

Cross-agent messaging is set up with cade agent link / cade agent channel. See cade agent --help for the full surface.


Bring your own LLM

Cade works with any OpenAI-compatible endpoint. Three ways to wire one in (CLI flag → env → config, first match wins):

# CLI flag for Ollama. Use a model from `ollama list`.
cade chat -L --endpoint http://localhost:11434 --model qwen3:4b

# Or create a dedicated agent for the local model
cade agent new local-qwen --model qwen3:4b
cade agent use local-qwen
export OLLAMA_BASE_URL="http://localhost:11434"
CADE_LOCAL_ONLY=1 cade -m "hello from a local model"

# Config — ~/.cade/config/cade.toml
[model_settings]
host = "http://localhost:8000/v1"
api_key = "ollama"

Skip Arcade Cloud authentication entirely with cade chat -L, or set CADE_LOCAL_ONLY=1 to make it the default.


Configuration

All state lives under ~/.cade/. Override the location with CADE_HOME=/path/to/alt.

File Purpose
config/cade.toml Global settings + [agent_defaults] (model, provider, UI, …)
config/agents/<name>.toml Per-agent config (model, prompt, [[mcp]], [tools], [adapters.*], hooks)
data/agents/<id>/ Per-agent state: threads/ memory/ tasks/ inbox/
run/daemon.pid Single gateway-supervisor pidfile
run/agents/<name>/ Per-agent runtime: mcp-services, grants
logs/cade.log Rotating log file

Full layout, env vars, and TOML schema in docs/configuration.md.

Common env vars

Variable Purpose
OPENAI_API_KEY / ANTHROPIC_API_KEY LLM provider keys
OPENAI_BASE_URL Custom OpenAI-compatible endpoint
ARCADE_API_KEY, ARCADE_BASE_URL Arcade Cloud (alternative to OAuth)
CADE_LOCAL_ONLY=1 Skip remote tools entirely
CADE_HOME Override config directory
CADE_ATTACH=0 Don't attach CLI turns to cade daemon
CADE_AUTOSTART=0 Don't spawn the daemon when attach needs one
CADE_PROJECT_ROOT Sandbox Local_* filesystem tools to this root

Contributing

git clone https://github.com/arcadeai-labs/cade.git
cd cade
uv sync --extra dev
uv run pytest
uv run ruff check src/ tests/

Style: Python 3.11+ with modern type hints (dict, list, | None); ruff for lint + format; pytest with asyncio_mode = "auto". Public functions and classes get docstrings.

Build/release docs live in docs/development.md. PRs welcome — open an issue first for anything substantial.


Resources

  • arcade.dev — product
  • docs.arcade.dev — API and tool catalog
  • docs/ — quickstart, examples, install, config, MCP, agents, automation, channels, voice, development, and adapters. Browse as a site with make docs (MkDocs Material)
  • Issues · Releases

License

MIT

Metadata

Release files for cade-cli 0.20.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cade-cli 0.20.8
File Size Uploaded
cade_cli-0.20.8.tar.gz 464.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cade-cli 0.20.8
File Interpreter ABI Platform
cade_cli-0.20.8-py3-none-any.whl Python 3 none any Details

Total release size: 1.0 MB

Release files / cade_cli-0.20.8.tar.gz

Download URL cade_cli-0.20.8.tar.gz
Size 464.4 kB
Tags Source
SHA-256 checksum
How to use checksums
eeed8f57f148762f327a20d2b18d2c1e20a33337a6c36d902972fabeef2c4455
BLAKE2b-256 checksum
How to use checksums
180e93346fad9543a1c7a5800d71c27c9cc8f3d302cfd7eb020b9259646e98d4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 7, 2026.

Transparency log

Release files / cade_cli-0.20.8-py3-none-any.whl

Download URL cade_cli-0.20.8-py3-none-any.whl
Size 577.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d709ba84e6bf10d1f8733890ccf87a809ab0cf4ca6b0bdd66759a07d60893ef6
BLAKE2b-256 checksum
How to use checksums
95f941e3fd66760d05f5f63cbab1e880a24efb15723645f4f4663a2ddac31611
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 7, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.20.8 This release

2 release files

0.20.7

2 release files

0.20.6

2 release files

0.20.5

2 release files

0.20.4

2 release files

0.20.3

2 release files

0.20.2

2 release files

0.20.1

2 release files

0.20.0

2 release files

0.16.9

2 release files

0.16.8

2 release files

0.16.7

2 release files

0.16.6

2 release files

0.16.5

2 release files

0.16.4

2 release files

0.16.3

2 release files

0.16.2

2 release files

0.16.1

2 release files

0.16.0

2 release files

0.15.7

2 release files

0.15.6

2 release files

0.15.5

2 release files

0.15.4

2 release files

0.15.2

2 release files

0.15.1

2 release files

0.15.0

2 release files

0.14.1

2 release files

0.14.0

2 release files

0.13.4

2 release files

0.13.3

2 release files

0.11.0

2 release files

0.10.0

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.4

2 release files

0.3.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page