What’s new in Playcode

101 updates in the last 90 days.

New features, improvements and fixes, newest first.

RSSJSON FeedMarkdown for agents

Our rocket on its pad beside a tall board of update cards: the builder pins a fresh card at the top, Play fits a new part to the rocket, and two passing suits stop to stare.

October 2026

NewBuild

Gemini 4 Argon joins the Standard tier

Gemini 4 Argon - Google's new frontier model, built for deep, long-horizon work - is now available on the Standard tier, next to Claude Opus 5.5. Google released it yesterday; it went through our full verification before reaching the picker: live tool-calling, prompt caching, and token accounting all confirmed on the real wire.

Argon arrives at Google's introductory pricing, which runs through November 30: until then it is one of the cheapest ways to run a frontier model on Playcode. If you want long multi-step builds, large refactors or research-heavy work at well under flagship spend, this is the moment to try it.

FixedPublish

Custom subdomains pin reliably at publish

Asking for a custom subdomain while publishing a cloud app now reliably gives your site that address.

  • The address you ask for is the address you get. A publish that requests a subdomain (in chat, the publish dialog, the API, or the CLI) now pins it the moment the publish succeeds, and the reported site URL uses it. Before, the request could be silently lost and the site answered only at its generated address.
  • You learn the outcome, not a promise. The publish result now states whether the subdomain was pinned, or exactly why it was refused - for example when the name is already taken.
  • Bad names are refused up front. A subdomain that is malformed, reserved, or already in use is refused before the publish starts, so you never wait through a deploy to learn the name cannot work.
  • Changing the address of an already-published app no longer requires a re-publish from the API or the agent - the same subdomain controls the editor always had are now available everywhere.

Try it: Publish my app with the subdomain my-cool-app

FixedBuild

GPT-6 Luna and GPT-6.1 Sol save files again

When your chat runs on GPT-6 Luna or GPT-6.1 Sol, the agent now creates and rewrites files in your project as expected.

  • New files get written. Before, these models could not save a file: the agent tried again and again, and the file never appeared. Edits to files that already existed were not affected.
  • A rejected step says so. If the agent's attempt to save a file is refused, the chat now shows that the step did not go through, and the agent sees why on its next turn instead of repeating the same attempt.

FixedAccount and billing

The chat now says why AI paused

When a message can't run, the chat now always says why - no more empty replies. And when the reason is your cloud computers, the notice says exactly that, with a Top up button - instead of "You're out of credits" next to a meter that still shows credits.

Your credits cover both AI and your cloud computers. When the balance falls close to about a month of your computers' running costs, AI pauses first so your apps stay up. Add credits and the next message runs.

FixedPublish

Publish confirms your site is live

Publishing a website now waits until the site actually serves before it says done.

  • "Published" means live. The editor confirms success only after your site answers at its address. Before, a rare hosting hiccup could show success while the site still served its previous version, or nothing at all.
  • Failures tell you why. If publishing fails, the editor says so and shows the reason - your previous version stays live, and publishing again is always safe.
  • Site previews match the live site. The dashboard thumbnail is captured only after the site is reachable, so a first publish no longer photographs an empty page.

FixedAccount and billing

Your invoices stay in reach after your plan ends

When a plan ends, Settings, Billing & plans shows the plans again - and now also Billing Portal, above them. Choose Open Billing Portal to download the invoices of the plan that ended, or to add a tax ID, in Stripe's billing portal.

Before, the door went away with the plan, and an old invoice took a message to a person. A workspace that never paid has no invoices, so it shows no door.

Read the docs

ImprovedBuild

New projects start private on every plan

A project you create while signed in now starts private on every Playcode plan, Free included. Before, a new project on the Free plan started public, so anyone with its link could open it.

  • Private from the start. Only you and the people and teams you invite can open a new project.
  • Share when you are ready. To share by link, open the project's Share tab and set Anyone with the link to Can view. Set it back to No access to make the project private again.
  • What stays the same. Projects you already have keep their setting. A project you start before you sign in stays public until you turn its link off, and the published site stays public either way.

Read the docs

ImprovedBuild

Private projects on every plan, Free included

Every Playcode plan can now keep a project private, Free included. Before, making a project private needed a paid plan.

  • Make any project private. Open the project's Share tab and set Anyone with the link to No access. Then only you and the people and teams you invited can open it.
  • It stays private. Opening a private project on the Free plan no longer turns its public link back on. If that happened to one of your projects before, set Anyone with the link back to No access.
  • What stays the same. The project's creator or an Admin makes the change, and the published site stays public either way.

Read the docs

Try it: Make this project private - turn off its public link.

FixedAccount and billing

Billing stops when your plan or your account does

Playcode no longer charges your card after you leave.

  • Deleting your account stops your plan renewing. The plan of your Personal workspace stays until the end of the period you paid for, then ends, and the delete window says the date. Before, it kept renewing until the account was erased, 30 days later. Team workspaces keep their plans.
  • Auto-recharge ends with your plan. When a plan ends, auto-recharge turns off, and a workspace without a plan is never charged by it.
  • The monthly card maximum counts the whole charge. Each automatic charge is checked against it as charged, the $15 minimum included.
  • The window states the real charge. Auto-recharge settings now shows what each charge takes: what brings your balance back to your level, and never less than $15.

Read the docs

FixedBuild

Voice messages follow Auto-send, and Undo this change asks first

Four fixes in the chat.

  • Auto-send voice messages works. With it on, a finished voice message is sent at once. Turn it off in Settings > AI defaults to check the text before you send it. Before, every voice message was sent at once, whatever the setting said.
  • Voice input uses the project's credits. It is charged to the workspace that pays for the project, as the agent's work is. Before, it used your Personal workspace's credits, even in a team project.
  • Undo this change asks first. Undoing a change also undoes every change the agent made after it. When there are any, Playcode now asks and says how many. The newest change is still undone at once.
  • Memory Records are gone. The agent stopped reading them in July 2026, so the app no longer offers them. Put lasting rules for the agent in the project's AGENTS.md: see Memory.

Read the docs

ImprovedAccount and billing

A new way in: every sign-in method, everywhere

Signing in and creating an account look new, and they work the same everywhere on Playcode.

  • Every way in, in one place. Continue with Google, get a code by email, or use Microsoft or GitHub, on the website as well as in the app.
  • Your idea comes with you. Describe what you want to build, sign in with any method, and Playcode starts on your idea as soon as you are in - including after a GitHub or Microsoft sign-in.
  • The code is easier to find. The code step now says plainly that the email may be in your Spam folder, and shows how to mark it as not spam so the next one lands in your inbox.
  • Sign in without losing your place. If you are asked to sign in while you work, your request stays on screen, and closing the sign-in takes you back to where you were.
  • Smooth on a slow connection. The picture for the next step loads while you read the current one, and each step glides into the next.

FixedBuild

Instructions sent to a running build now stick

When you send the agent a new instruction while a build task is already running, that instruction now stays in front of the task until it finishes. Before, it was shown to the task exactly once - mid-work, between two steps - and on a long build the task could lose track of it and finish without it, so you had to ask again. Now a mid-build message keeps its place for the rest of the run, for background tasks and regular chats alike.

ImprovedBuild

DeepSeek V4 Pro folds into V4.1 Flash - same answers, lower price

DeepSeek V4 Pro has left the model picker. DeepSeek has been serving every V4 Pro request with V4.1 Flash since mid-September (until a V4.1 Pro exists), so the picker entry no longer bought anything the Flash entry does not - except a higher price.

If you had V4 Pro selected as a default or on a chat, it now runs on DeepSeek V4.1 Flash automatically, billed at the Flash rate: $0.30 in / $1.20 out per million tokens instead of V4 Pro's $1.32 / $3.96. Same upstream model, about 4x cheaper.

We also moved DeepSeek onto redundant serving infrastructure, so the model no longer depends on a single upstream to stay available.

FixedPublish

Site names now use hyphens - and old underscore links redirect

Site subdomain names now use hyphens (my-app.playcode.site) instead of underscores. Underscores are not valid in web hostnames, so my_app.playcode.site could never load in a browser - the editor just didn't tell you. Every published site with an underscore name has been renamed to its hyphen twin automatically, old underscore links now redirect permanently to the new address, and your numeric address keeps working as before.

NewBuild

GLM 5.3 Flash: near-frontier AI at our lowest price tier

GLM 5.3 Flash is now in the model picker. It is one of the cheapest models we offer, with reasoning quality close to models many times its price, a 1M-token context window, and image understanding. It thinks before every answer, so it is thorough rather than instant - pick it for budget builds where a little patience is fine.

September 2026

FixedAccount and billing

Signing in with GitHub and Microsoft works again

Since March, signing in with GitHub or Microsoft from the Playcode sign-in or sign-up page brought you back to that page, even though you were already signed in. From September 17 to 28 the same buttons led to an error page instead. Both are fixed: you now land in Playcode.

If you started signing up with your email and never finished, signing in with GitHub or Microsoft now finishes it, as long as that account uses the same email address and GitHub or Microsoft has confirmed it.

NewDevelopers

The Playcode SDK, the Playcode CLI, and image generation

Your apps and your tools can now talk to Playcode directly - three releases in one day:

  • @playcode/sdk 0.3 (npm) - the official SDK for your app's backend. Zero dependencies, fully typed, works in any Node or edge runtime. Send email, call every management operation, and - new today - generate images: pc.media.image({ prompt }) returns a finished image hosted on Playcode, paid per image from your workspace credits. Video generation (pc.media.video()) rides the same way.
  • @playcode/cli (npm) - npm i -g @playcode/cli, then playcode login signs in through your browser. List projects, read and run things on a project's computer, publish, and reach every management operation as playcode <family> <operation> - new operations appear in the CLI the moment they exist, no update needed.
  • An MCP server for your coding agent. playcode mcp runs a local MCP server over your own sign-in, built for Claude Code, Cursor, and Claude Desktop: your agent discovers Playcode operations by searching, reads the exact argument shapes, and executes - with everything scoped to the permissions you granted at sign-in.

New projects created from today's template get the SDK preinstalled. This is the start of the platform surface - more capabilities land on the same three doors.

NewBuild

Claude Sonnet 5.5 is available

Claude Sonnet 5.5 - Anthropic's newest Sonnet, "the best combination of speed and intelligence" - is now on the Quality chip in the model picker, at the same price as Claude Sonnet 5. Sonnet 5 is superseded; if you had it pinned, your pin keeps working.

ImprovedAdd to your app

App AI prices now match chat prices

AI used inside your hosted apps is now priced per model, exactly like the in-chat prices - one price book everywhere. Most models move to the standard rate; the flagship cards keep their premium pricing unchanged.

FixedAccount and billing

Email sign-up works again on our website

For almost two weeks, starting September 16, signing up with email on the Playcode website did not work. Sign-in codes had just become six digits long as part of a round of security hardening, and the code box on our website still accepted only five. The last digit was cut off, so the code could never go through. Sign-up inside the app was not affected.

It's fixed. If you tried to sign up in those days, go back to playcode.io and use the same email. The code works now.

We're sorry. Our automated tests missed this because they still typed an old five-digit test code. They type six digits now, the same as you.

ImprovedAdd to your app

Email: Send to anyone turns on by itself once your domain is verified

One less switch to find. When your app's sending domain verifies, Send to anyone now comes on with it - your app can email customers right away, from your own domain, with one-click unsubscribe on every mail to a non-member. Before, verified-domain projects still had to discover the switch in Settings > Email; every one of them turned it on.

The switch stays where it was, as the off lever: turn it off and it stays off - for every app of the project, including ones created later. Nothing else changes: without a verified domain, delivery still goes only to recipients who confirmed their address, and the daily caps, suppression and unsubscribe protections run exactly as before.

ImprovedBuild

Loading gets bulletproof

We chased down a family of rare but painful loading failures - the kind where Playcode showed a spinner and simply never finished. All fixed today:

  • A freeze on certain networks and privacy settings. A stylesheet request could block the whole page from rendering on devices where third-party requests hang. Pages now render regardless, every time.
  • The editor recovers stuck browser storage by itself. If your browser's local database wedges (an old tab holding a lock, strict privacy modes), Playcode now detects it in seconds, repairs it, and continues - your work lives on our servers, so nothing is lost.
  • The preview says so instead of spinning. If the preview engine can't start on a slow connection, you now get a clear retry button within seconds instead of an endless spinner.
  • Clearer sign-in errors. If an ad blocker or filtered network breaks Google sign-in or the human-check, the dialog now tells you what to do instead of silently resetting.

If loading ever felt stuck for you before - it wasn't your device, and it's fixed. Thanks to the users whose reports led us straight to it.

NewDevelopers

Webhooks, and an activity ledger for your workspace

Your server can now hear Playcode. In Workspace settings, Developers gained Webhooks: add an endpoint and we POST every matching event to it - a domain changed, a publish started, mail delivered or bounced. Every delivery is signed with a secret we show you once; verify it, and replay protection comes from the delivery id. Failures retry on their own for about three days, and Send again runs one now. Filter by type, like domain.*, or take everything.

Beside it, Activity: every write in the workspace, the moment it happens - who did it, through which door (the app, the CLI, the API, an assistant), and what it touched. It is the audit answer for a token or a tool you let act as you.

The same ledger is on the API as eventSearch, so a script can follow your workspace with a cursor instead of polling each resource.

ImprovedAdd to your app

Ask for payments, get Stripe best practices by default

When you ask the assistant to add payments, subscriptions, or a checkout to your app, it now follows a Stripe playbook by default:

  • Stripe Checkout over custom card forms. The hosted payment page converts better - Apple Pay, Google Pay, one-click Link, and local payment methods appear automatically - and Stripe's own card-testing defenses stand in front of it. Playcode sells its own plans the same way.
  • Fraud protection armed from day one. Stripe.js loads on every page of your site so Stripe Radar can tell real customers from bots, and the assistant reminds you to keep Radar on. An unprotected payment form gets found by card-testing bots within days, and the disputes that follow can get a Stripe account blocked.
  • Keys handled safely. Secret keys stay on the server, never in page code. On browser-only projects the assistant uses Payment Links, which need no keys at all.
  • Real fulfillment. Purchases unlock through verified Stripe webhooks, not just "the buyer landed on the success page".

FixedPublish

Turning on www now works for every custom domain

If your domain was connected with an A record - the way most DNS providers connect a root domain - turning on "Also answer at www" failed with a confusing error about Cloudflare, no matter what you changed at your provider. The www setting now follows how your root domain is served: flip the switch, add the one record it shows you, and www goes live on the same address as your root.

ImprovedBuild

Claude Opus 5.5 is the new Quality default

Claude Opus 5.5 is now the default model on the Quality tier. It is Anthropic's newest Opus, it keeps the 1M-token context window and the 128K maximum answer length of Claude Opus 5, and it costs less per token: $4 in / $20 out per million against Opus 5's $5 / $25, with re-read context dropping from $0.50 to $0.20 per million.

One thing to know about credits. Opus 5.5 thinks for longer before it answers. On our own benchmark it spends roughly 1.8 times as many tokens working through the same task, which more than cancels out the lower price per token - so a typical job costs somewhat more, not less. We chose it as the default anyway, because the work it returns is better.

Claude Opus 5 is still one click away in the model picker, and it is the cheaper of the two per answer. If you would rather trade some quality for a smaller bill, pick it - and anything you have already pinned to it stays exactly as it is.

ImprovedBuild

GPT-6 Sol and GPT-6 Luna arrive at half the price of the models they replace

OpenAI completed the GPT-6 family today, and both new models cost exactly half what their predecessors did. They take over the seats those models held in the picker.

GPT-6 Sol replaces GPT-5.6 Sol on the Quality tier, at $2 in / $10 out per million tokens instead of $4 / $20. OpenAI positions it as the balance of intelligence and cost, and its own testing puts it ahead of GPT-5.6 Sol on professional work, factuality and coding.

GPT-6 Luna replaces GPT-5.6 Luna on the Fast tier, at $0.10 in / $0.50 out instead of $0.20 / $1.20. That makes it the cheapest model we offer - good for simple pages, quick edits and high-volume work.

Both keep the 1M-token context window and the 128K maximum answer length of the models they replace, and we pass the full price cut through, so the same work costs fewer credits.

Nothing you have pinned breaks. GPT-5.6 Sol and Luna stay available to existing chats; chats and preferences set to them move to the GPT-6 equivalent automatically, which is cheaper for the same job.

FixedBuild

When the AI provider refuses a request, you are told, and not charged

Very rarely, the AI provider's safety filter refuses a request outright and returns nothing. Until now the chat showed an empty reply with no explanation, and the turn was still charged. Both are fixed:

  • You are told. The chat now shows a notice that the provider declined the request, and that the cause is usually something earlier in the conversation rather than your last message. The action offered is Undo & rephrase, because sending the same thing again gets the same refusal.
  • You are not charged for a refused turn that produced nothing.

ImprovedBuild

Every dialog now speaks one design

Every popup in Playcode - confirmations, settings sheets, menus, tooltips - has been rebuilt on one design system, so the whole app now asks questions the same calm way.

  • Destructive actions ask properly. Deleting a chat, folder, project, domain or token states what happens in one plain sentence, and the most dangerous ones wake their button only when you type the exact name.
  • Clearer questions everywhere. Renames open with your current name ready to edit, the resize dialog shows the price before you switch, and the unlock-for-transfer flow hands you the code with a plain way to lock it back.
  • Menus and pickers cleaned up. The project, workspace and attachment menus render as one crisp panel, and the build-quality picker opens right by its button instead of covering your work.
  • Phone-friendly sheets. Top up and Share now open as bottom sheets on phones, with the main action in thumb reach.

FixedPublish

A busy month never takes your site offline: bandwidth is included, then metered

Pro includes 100 GB of Playcode Cloud bandwidth a month and Max includes 1 TB. Until today those numbers were enforced as a hard limit: when a workspace crossed it, its published apps were suspended until the next month - with no warning. That was wrong, and it is fixed.

  • Your site keeps running. Past the included amount, Playcode Cloud keeps serving your visitors and the extra traffic is simply metered at $0.05 per GB (0.2 credits), on the same balance as everything else. Nothing is charged for it before September 29, 2026, as announced.
  • You set your own ceiling. Spending controls in Settings → Billing are the only cap - yours, not ours.
  • The pricing page now says exactly this, instead of "100 GB / month", which read like a wall.

If your published apps were suspended by this limit today, they have been restored.