Adding a teammate to a Writingmate workspace no longer changes your bill. We moved workspaces to one flat subscription this week, so you can invite as many people as you like and they all draw from the same pool of credits. We also closed a billing gap in account deletion and fixed a bug that made some MCP tool calls fail.
It was a focused week with three changes that matter, and they are listed below.
| Feature | Category | Who it's for |
|---|---|---|
| One flat subscription per workspace, unlimited teammates | New | Teams and workspace owners |
| Members tab and Billing tab without per-seat warnings | Improved | Workspace owners and admins |
| Account deletion cancels subscriptions first | Fixed | Anyone closing an account |
| No more duplicate tool calls in streamed API responses | Fixed | Developers using the API and MCP tools |
One flat price per workspace
Until now, a workspace subscription was billed by the number of active members. Every invite could change the amount on the next invoice, and owners had to stop and think before adding someone. That is a poor fit for how teams actually use AI: a few people use it all day, and a few use it once a week.
Workspaces now pay a single flat subscription. Checkout and trial upgrades always bill a quantity of one. Owners can invite unlimited teammates, and everyone shares the workspace's credits. Inviting a member or removing one no longer sends anything to Stripe, so there is nothing to reconcile at the end of the month.
The trade-off is worth stating plainly. Because credits are shared, a heavy user can use up credits that a colleague would have used. If that matters on your team, watch the workspace usage view under Profile, Usage, which we added last week and which shows messages, tokens and provider usage across all members.
To try it, open your workspace, go to the Members tab and send an invite. You will see no seat warning and no confirmation dialog. You can compare plans at /pricing, where the plan cards now say "Unlimited teammates, no per-seat fees."
A calmer Members and Billing experience
Removing per-seat billing meant removing the screens built around it. The Members tab used to warn you that a new invite would add a paid seat, and it asked you to confirm each invitation in a dialog. Both are gone. Inviting someone is now one step: enter the email and send.
The Billing tab changed too. Where it used to show a per-seat breakdown with member counts multiplied by a unit price, it now shows flat-price copy that matches what you are charged. If you open it and look for a line that scales with your headcount, you will not find one, because there isn't one anymore.
We also cleaned up behind the scenes. The code that synced seat counts after invite acceptance, member removal and Stripe webhooks has been deleted rather than switched off. Less machinery between you and your invoice means fewer ways for the number to be wrong.
To see the change, open your workspace settings and visit the Members and Billing tabs. If something still looks like a per-seat charge, tell us through the support link in the app and we will look at it.
Account deletion now stops billing first
We found a gap in how account deletion worked. Deleting an account removed the user but did not cancel the Stripe subscriptions attached to it. In the worst case, a deleted account could keep renewing, and the person who closed it would keep getting charged.
We fixed this. When you delete your account, we now find the billing tied to it across the workspaces you own and any older customer records. We check that the account actually owns that billing, cancel the subscriptions immediately, and confirm that the Stripe customer is closed. Only then do we delete the account.
If any step fails, the deletion stops and can be retried. We added guards so that a retry cannot skip the billing step, and so that a late checkout or webhook event cannot revive billing for an account that is being removed.
You do not need to do anything differently. If you plan to leave, you can still delete your account from your settings. If you only want to stop paying and keep your history, cancel your subscription instead of deleting the account.
Fixed this week
- Duplicate tool calls in streamed API responses. When a tool call was streamed, we sometimes sent a second, complete copy of the same call under a new index. Clients replayed both, and providers rejected the request during MCP round trips. We now reuse the streamed call and only send a complete one when the input was not streamed.
- Billing cleanup on account deletion. Covered above: subscriptions are cancelled and the billing customer is closed before the account goes away.
- Seat sync removed. Invites and removals no longer trigger billing updates, which removes a class of invoice mismatches.
If you build on our API or connect MCP servers, the duplicate tool call fix is the one to check. Run a multi-step tool flow that failed before and see whether it now completes in one pass.
Thank you to everyone who sent feedback on billing and teams. The per-seat model came up often, and it shaped this change. You can browse every past release on the changelog.
Artem
Frequently asked questions about this week's update
Sources
Written by
Artem Vysotsky
Ex-Staff Engineer at Meta. Building the technical foundation to make AI accessible to everyone.
Reviewed by
Sergey Vysotsky
Ex-Chief Editor / PM at Mosaic. Passionate about making AI accessible and affordable for everyone.
