cron0 9 * * 1-5
webhookPOST /run
chat“what’s next?”
eventticket.created
apiagents.run()
slack@support-agent
Sandbox · isolated runtime
disk/workspace19 / 50 GB
repo/node_modules/models/.envsetup.sh
AGENT no runtime
HARNESS
MODEL
PROMPT
idle
SCROLL
01 · THE AGENT

You built an agent. Now it needs a place to live.

Cove runs it for you. Any harness, any model, your prompt. It wakes up when there is work and gets the keys to the tools it needs.

02 · COMPUTE

It gets its own machine.

Every run boots a sandbox with a disk you set up: your repo, your packages, your files. Start it from a cron job, a webhook, an event, or just send it a message.

03 · SCALE

Then a few thousand more.

When the work piles up, Cove starts more copies of the same agent. Each copy has its own sandbox and its own trace, so one bad run stays one bad run.

04 · TOOLS

And the keys to your tools.

We handle the OAuth and the tokens for Slack, GitHub, Stripe and the rest. Have an internal API or an MCP server? Point Cove at it.

Who does what.

You keep the parts that make your agent yours. We take the parts nobody wants to maintain.

You bringCove handles

The agent. Claude Code, Codex, Pi, an agent SDK, or a loop you wrote.

A sandbox for every run, with the disk you set up.

A prompt, and the model you want: Opus, GPT, Kimi, Gemini or your own weights.

The schedules, webhooks, events and API calls that wake it up.

The list of tools it may use.

The OAuth, tokens and secrets for those tools.

The work.

Scaling, retries, logs, and a trace for every run.

Talk to it while it works.

Open a chat with any running instance. Ask what it is doing, correct it, or hand it something new. It answers from inside its sandbox, so it sees the same files and tools that it is using.

The chat is an API too. Send a message to a run, stream back what it says and does, and put that in your own product.

POST /v1/runs/7f3a2c/messages
{"content": "Refund the duplicate and tell #billing."}

← stream
tool_call  stripe.refunds.create
tool_call  slack.chat.postMessage
message    "Done. I refunded $49.00 and posted…"
7f3a2c91bd04c0e7aa+1,284 running
support-agent · run 7f3a2csandbox · /workspace

What are you working on right now?

Ticket #4821. A customer was charged twice. I found both charges in Stripe and I am checking the order history.

zendesk.tickets.getstripe.charges.list

Refund the duplicate and tell #billing.

Done. I refunded $49.00 and posted a summary in #billing.

stripe.refunds.createslack.chat.postMessage
Message support-agent…

Connectors we run for you.

No keys to paste. Missing one? Bring your own.

One command to ship it.

Point Cove at the folder, pick a model, list the tools, and say when it should wake up. The sandboxes, the scaling, the secrets and the retries are our job.

$ cove deploy ./support-agent \
    --harness claude-code \
    --model claude-opus-5.5 \
    --prompt ./prompts/support.md \
    --connect zendesk,slack,stripe \
    --connect ./tools/billing-mcp \
    --on zendesk.ticket.created

✓ deployed support-agent
✓ 3 managed connectors · 1 custom
✓ listening for zendesk.ticket.created
./support-agent · what you deploy8 files
prompts/
tools/
billing-mcp/--connect
.claude/skills/
prompts/support.md
 

Cove isn’t open yet. We’re still building.

This page is what we are working toward. Check back soon.