Cost engineering

Windsurf Cascade Workflows on Repeat: What Your Weekly Quota Really Buys

Windsurf retired credits for a daily/weekly quota, with overage billed at API pricing. Here's what a repeated Cascade workflow actually spends — and how to replay its deterministic core off-quota at 0 tokens.

The short version
  • 01Windsurf's paid plans are a daily/weekly quota now, not credits: Pro is $20/month, and go over and "extra usage is consumed at API pricing."
  • 02Cascade and premium-model turns drain that quota — the model catalog still prices Claude Opus 4.8 Medium at a 25× credit multiplier — while Tab autocomplete stays free.
  • 03Record a repeated Cascade workflow's tool-call core once, replay it at 0 tokens and 0 quota, and spend the model only when a step drifts.

Windsurf's Cascade is the multi-file agent; its Workflows feature lets you save a sequence and re-run it from a slash command. Re-running is the point, and re-running is where the bill comes from. This post prices what a repeated Cascade workflow spends under Windsurf's current plan, from the vendor's own pricing page, then replays the deterministic half of that workflow off-quota with a real receipt at the end.

If you searched "windsurf pricing credits," the honest first fact is that credits are gone. What replaced them changes how a repeated workflow costs you.

Windsurf sells a quota now, not credits

Start at the source. windsurf.com/pricing 308-redirects to devin.ai/pricing — Cognition folded Windsurf's plans in under one page (retrieved 2026-07-21). The self-serve tiers there: Free $0, Pro $20/month, Max $200/month, and Teams $80/month plus $40/month per full dev seat. The paid plans no longer sell a credit balance. In the vendor's words, "Each paid plan comes with a usage allowance that refreshes automatically on a daily and weekly basis."

That's a change, not the original design. Until March 19 2026, Pro cost $15/month and gave you a single 500-credit monthly pool many developers drained by mid-month; Windsurf retired that model for daily and weekly quotas and moved Pro to $20 (CloudZero, updated May 2026). The old "credits" question now resolves to a quota that refills on a timer.

What drains the quota, and what doesn't

Two facts decide whether a repeated workflow is cheap or expensive.

First, not everything counts. Tab autocomplete is unlimited on every plan, Free included, and never touches your allocation (CloudZero). What draws the quota is Cascade — the agent that plans and edits across files — and Chat on premium models.

Second, premium turns cost a multiple of cheap ones. Windsurf's model catalog (docs.windsurf.com/windsurf/models, now served under docs.devin.ai; retrieved 2026-07-21) still prices each model with a credit_multiplier: the house model SWE-1.7 sits at 0×, while Claude Opus 4.8 Medium is listed at 25×. Run a saved Cascade workflow on a premium model on repeat and the weekly quota is the thing you are spending — 25 multiples at a time.

Past the quota, you pay API pricing

The quota is a budget, and the interesting number is what happens when a repeated workflow exhausts it.

Overage has a real, published rate: the underlying model's API price. For Anthropic models that's the pricing page (retrieved 2026-07-21) — Claude Opus 4.8 at $5.00 per million input tokens, Sonnet 5 at $2.00 (introductory, through 2026-08-31; $3.00 after). The overage bill is a formula: runs × input tokens per run × price per token (output on top).

The one factor Windsurf doesn't publish is tokens per Cascade run, so I won't invent it. A measured anchor for a small tool-call task: Reelier's head-to-head benchmark clocked a two-step agent run at 18,390 input tokens and $0.019068 per run. A multi-file Cascade workflow carries far more context; plug your own run size into the formula. What the same benchmark measured on the replay side is the point:

Agent re-run Reelier replay
Tokens per run 18,390 in / 136 out (avg) 0 / 0 — verified from the run record
Cost per run $0.019068 (avg) $0.000000
Latency per run 2,842 ms (avg) 48 ms (avg)
Output stability no structural guarantee 1,000 / 1,000 byte-identical (N=1000)

Zero tokens means zero quota drawn and zero overage. The schedule can fire as often as you like; any run count times zero is still zero — but only for the part of the workflow that never changes.

Which half of a Cascade workflow is judgment?

The split decides what the fix applies to.

Judgment is the code Cascade writes for a genuinely new task — deciding what to change, reasoning through an unfamiliar file, phrasing a summary for a human. That needs the model every run, and it is what the quota is for. Keep paying for it.

Re-derivation is the tool-call sequence a saved workflow makes against your MCP servers and APIs: the same calls, in the same shapes, returning the same kind of answer every run. Status pulls, data fetches, deploy checks, the CRUD steps a workflow strings together. Your agent worked those out correctly once; every later run pays quota to re-derive them, with some chance of drifting into a slightly different sequence.

The boundary, before you ask: Reelier replays tool calls — typed JSON in, typed JSON out. It does not replay Cascade's file edits or code generation, and isn't meant to. If your workflow is all codegen, this post isn't your fix. If it's a thin layer of Cascade judgment on a thick layer of API plumbing, read on.

Record the workflow once, replay it off-quota

One honest note on capture first. reelier scan does list Windsurf (~/.codeium/windsurf) among the agent histories it walks, but Windsurf's Cascade transcripts aren't the JSONL format Reelier parses today, so scan currently reports 0 replayable sessions from Windsurf — honest degradation, not a crash. The reliable capture path is the recording proxy in front of the MCP server Cascade calls:

sh
npx -y reelier mcp --wrap "<your mcp server command>"    # record the workflow's tool calls once

That compiles to a SKILL.md with minimal assertions — only what a clean recorded result and the downstream data flow justify. A step that failed or returned nothing gets none and replays unchecked, never silently marked passed.

Replay it in place of re-running the workflow:

sh
npx -y reelier run <job>.skill.md      # Level 0 — 0 tokens, 0 quota, read-only by default
npx -y reelier diff <job>              # SAME or DRIFTED per step — exit 1 on drift

Three boundaries, stated up front because they are the design. Level-0 replay never constructs a model — the 0 tokens is by construction, for the deterministic core only; judgment still needs a model, opt-in and BYOK (--max-level 1|2), and a destructive step is never auto-escalated. Replay is read-only by default: an idempotent-write step re-fires only with --allow-writes, a destructive step never without --yes — and this matters because in Reelier's measured corpus only about 1.1% of scanned sessions were read-only end to end, so nearly every real job writes somewhere. And drift fails loudly: diff exits 1 with the failing assertion named, so you wake the model on the one run where the API shifted, not the hundred where it didn't.

A real receipt

Reelier's install demo closes with this, reproduced verbatim from the project README:

Reelier · replay receipt
Your receipt:
  skill:        reelier-init-demo
  steps:        2 total, 2 passed, 0 unchecked, 0 failed
  replay time:  44ms  [measured]
  LLM tokens:   0     [measured]

  An agent doing a comparable task re-reasons every run (~2.8s, ~18k tokens on
  our benchmark). Your replay: 44ms, 0 tokens.
* * * end of receipt * * *

The latency moves with the network, because Level-0 replay re-executes the real tool calls. What doesn't move: 0 LLM tokens, the same steps every run, and a receipt for each one.

Run your own numbers

Windsurf's quota is opaque per action, but the overage math isn't. Put your run size, cadence, and model price into the agent cost calculator and read the re-run column next to the replay column pinned at $0.

For the mental model behind all of this, start at the hub: how to reduce AI agent token costs. If you also run Cursor's background agents, the Cursor cost post walks the same split on that surface, and model-upgrade regression covers what happens the day you swap Cascade's premium model. If you're weighing this against Windsurf's own Workflows, Reelier vs. Agent Skills draws the line between an instruction you re-run and a run you replay.

Record the workflow once. Replay the part that never changes. Spend quota on judgment, not re-derivation.

Sources

  1. Windsurf / Cognition — pricing (windsurf.com/pricing redirects here; retrieved 2026-07-21) — Free $0, Pro $20/mo, Max $200/mo, Teams $80/mo + $40/seat; daily/weekly usage allowance; overage "consumed at API pricing."
  2. Windsurf — model catalog (served under docs.devin.ai; retrieved 2026-07-21) — per-model credit_multiplier; SWE-1.7 at 0×, Claude Opus 4.8 Medium at 25×.
  3. CloudZero — Windsurf pricing (updated May 2026) — March 19 2026 change: 500-credit $15 Pro pool retired for daily/weekly quotas at $20; Tab autocomplete unlimited and never touches quota; Cascade and premium models draw it.
  4. Anthropic — pricing (retrieved 2026-07-21) — Opus 4.8 $5.00, Sonnet 5 $2.00 (introductory, through 2026-08-31; $3.00 after) per million input tokens — the API rate overage bills at.
  5. Reelier benchmark results — 18,390 input tokens/run and $0.019068/run (agent arm) vs. 0/0 tokens and $0.000000 on every one of 1,000 replays; 2,842 ms vs. 48 ms; 1,000/1,000 byte-identical.
  6. seldonframe/reelier — the open-source (AGPL-3.0) engine; Level-0 rule, write gates, and Windsurf scan source live in src/cli.ts, src/runner.ts, and src/scan.ts.
code