A Chickpea deployment is software you run on infrastructure you already pay for. Where a hosted assistant charges per seat and meters your usage on the vendor’s servers, Chickpea is licensed under Apache 2.0 with no per-seat pricing and no metering, so the only bills are the ones you already have with Cloudflare or your host and with a model provider. This page covers what you need before you deploy on each target, which resources bill, what Slack requires, and the telemetry default.
What Chickpea itself costs
Nothing. Chickpea is Apache 2.0 software with no per-seat pricing and no metering. You pay your model provider directly for API usage, and you pay for the place you run it. There is no Chickpea account and no license key.
Three things are yours to supply: a place to run the deployment, a Slack workspace to run it in, and a model provider to answer with.
On Cloudflare
The current bundle requires Workers Paid. Its compressed upload exceeds the Free plan’s 3 MiB Worker limit, so a Free-plan account cannot complete the deploy.
The Deploy to Cloudflare button asks for no Chickpea secrets, and every provider key is optional. What it creates lives in your account:
| Resource | What it is for |
|---|---|
| Worker | The deployment itself, including Admin and the management MCP. |
| Durable Objects | App-owned state (TAG_STATE), shared-app gateway sessions (SLACK_GATEWAY_SESSION), and Flue’s agent objects. |
| D1 | The AUTH_DB database holding sign-in accounts and sessions. |
| Workers AI | The keyless model binding, used when you pick Cloudflare as the provider. |
| Static Assets | The public product images, served from the same deployment. No separate Worker or bucket. |
| Cron trigger | One trigger, every minute, which drives schedules. |
Workers, Durable Objects, D1, Workers AI, and optional coding sandbox usage run in your own Cloudflare account and may incur costs. Chickpea adds no markup and sees none of it.
The coding sandbox is the one optional resource with its own bill. It is off by default: the core deployment profile declares no Sandbox binding and builds no image. Turning it on also requires Workers Paid, and the container application and its Ubuntu-based image live in your Cloudflare account and may incur costs on it. Expect the first image build to take several minutes.
On Node
Node 24.x, minimum 24.20.0, and one running Chickpea process per state directory. The infrastructure bill is whatever that host costs you.
- A public HTTPS origin. Terminate HTTPS at a reverse proxy and forward to port 3000. Slack setup uses that exact origin.
- A private state directory, such as
/var/lib/chickpea, writable only by a dedicated account. State defaults to SQLite files; keep them outside any checkout you replace during an upgrade. - A stable
CHICKPEA_AUTH_SECRET. Generate 32 random bytes once and save them. Cloudflare manages this for you; Node does not. - A model provider API key. The keyless Workers AI binding is a Cloudflare-only path, so a Node deployment sets
ANTHROPIC_API_KEY,OPENAI_API_KEY,OPENROUTER_API_KEY, or theCLOUDFLARE_ACCOUNT_IDandCLOUDFLARE_API_TOKENpair for REST Workers AI. Keys can go in Settings instead. - Your own Slack app. The Node shared-gateway path does not yet have Cloudflare’s durable event admission guarantee, so choose “Use your own Slack app”.
Node durability is single-host SQLite. Multi-instance Node needs a shared state service, which Chickpea does not currently provide.
What Slack requires
A Slack workspace where Slack lets you install apps. One deployment currently serves one Slack workspace, so a second workspace means a second deployment.
Agent handles need more than the app. A handle is a Slack user group with zero members, and user groups require a paid Slack plan. They also require the workspace policy Roles & permissions → Account types → Create and edit user groups to allow Members. No app-manifest field can grant that policy; a Slack Owner or Admin has to change it in the intended workspace, and doing so lets human members manage user groups too. Disclose that consequence before changing it.
A first reply does not need a handle. The Agent that answers first is @Chickpea, the app itself, and it needs no user group. Named Agents like @support are what the paid plan and the policy change buy you.
What your model provider costs
Chickpea supports four providers: Cloudflare Workers AI, Anthropic, OpenAI, and OpenRouter. You hold the account and you pay the provider directly for API usage.
On Cloudflare you can start without an API key at all. The Workers AI binding is keyless, and a fresh Cloudflare deployment seeds its workspace default model with cloudflare/@cf/zai-org/glm-4.7-flash. Usage still bills to your Cloudflare account.
Every Agent can be pinned to its own model, so a triage Agent can run a cheap fast model while the Agent that writes runs a strong one. That per-Agent pin is the main cost control you have.
What runs where
| Behaviour | Cloudflare | Node |
|---|---|---|
| Schedules | Runs them, on a one-minute cron trigger | Inspection and shutdown controls, no timers |
| Coding sandbox | Optional container tier | Not available; the standard sandbox only |
| Slack lanes | “Add to Slack” or “Use your own Slack app” | “Use your own Slack app” |
| Model provider without a key | Workers AI binding | Not available; a key is required |
| State | Durable Objects and D1 | SQLite files on one host |
CHICKPEA_AUTH_SECRET |
Managed for you | You generate and store it |
Telemetry and the opt-out
Anonymous, content-free product telemetry is enabled by default and has a complete operator opt-out. Set DO_NOT_TRACK or CHICKPEA_DISABLE_TELEMETRY to 1, true, or yes to disable it completely. No Slack messages, prompts, memory, IDs, names, error text, or model names are ever sent.
What is not covered
- Chickpea does not price your infrastructure. Cloudflare and your host publish their own rates, and this page names which resources you will be billed for, not what they will cost.
- Updates are manual. The Deploy to Cloudflare button clones the repository rather than forking it, so a new version is a deploy you choose to run.
- Connected services bill under their own accounts. A connection uses an account you already hold, and managed connectors need a Composio project key added under Settings → Connectors or supplied as
COMPOSIO_API_KEY. - Chickpea is not a hosted service. There is no plan to buy and no support contract attached to the software.
Next steps
- Get started on Cloudflare: deploy, connect Slack, and get the first reply.
- How Chickpea works: what happens between a mention and a reply, and the layers underneath.
- Deploy and operate: the Node production path, upgrades, and backups.
- Security: the guarantees behind the deployment, and the full telemetry account.
