Notable product changes with the dates they reached production: the panel, the MCP server,
the REST API, the CLI, forms, gated access and analytics. Internal plumbing stays out.
Files in submissions: photos, documents, drawings and 3D models
On paid plans visitors can now attach files to a submission. Turn uploads on per site: Forms → Settings and code → Accept files, and choose the categories there: images, documents, 3D models and drawings (STL, STEP, DWG, KOMPAS-3D, SolidWorks and more), design files, audio and video. Up to 10 files and 40 MB per submission, up to 10 MB per file. Archives are not accepted, the type is checked by the file content, and programs are rejected under any name. Files use the plan's storage, but at most half of it, so sites always have room. If a file is not accepted (wrong type, too large, no space left), the submission is still saved: the visitor sees which file was not accepted and why, and the submission keeps a note. Files are shown on the submission card, where you can download and delete them one by one, or for all archived submissions at once. The email and messenger get a list of files and an "Open the submission" button; the files themselves are not forwarded. With uploads on, the form code in the panel already has a file field. AI agents turn uploads on with set_form_files and read files with get_form_file; REST: /api/v1/sites/{id}/form-files and /api/v1/forms/submissions/{sid}/files/{fid}.
Sites suspended for exceeding the plan: turn them back on yourself
If your account no longer fits its plan after a refund (for example, more projects or sites than the Free plan allows), the sites are suspended, but nothing is owed. The panel now stays open in this case: Subscription shows exactly what is over the limit ("sites: 5 of 3, remove 2"), and you can delete the excess in your projects. Then click "Turn sites back on": we check the limits again and turn the sites on right away, or show what is still left to remove. Buying an add-on or changing the plan also works. Custom domains over the plan are now simply turned off on a refund (DNS records and verification are kept) instead of suspending the sites. In this state MCP and the API suggest removing the excess and turning the sites back on rather than renewing the plan.
PanelGated accessPlans
Password-protect a site when creating it, on the Free plan too
On the Free plan, the "Password-protect right away" box in the New site window now offers two paths instead of an error after creation: the "Site password" option for this site only (the site is created and checkout for the option opens right away; after paying, "Back to the site" takes you to the Visibility tab to set the password) or a plan that includes passwords on all sites. Prices and what the plan includes are shown right in the window. On paid plans nothing changes: the site is created password-protected and the password is shown after creation.
Panel
Sign-in email for accounts created with Yandex or VK
If you signed in to Tuqo with Yandex or VK and they didn't share an email (for example, the account was created with a phone number), the bell now shows a pinned reminder, "Add a sign-in email", until your account has one. In your profile, under "Sign-in email", enter an address and the code from the email, and you'll get a password. Then you can also sign in with your email, even if signing in with Yandex or VK stops working or you sign in there with another account. An email already linked to another Tuqo account can't be used; contact support. Linking VK or Yandex in your profile now also adds an email to an account without one, if the service shares it. You get a bell notification when an email is added, and unlinking the sign-in method the email relies on removes the account's email too.
PanelForms
A stopped Telegram or MAX bot is now shown in the panel, and notifications resume on their own
If you stop or block the Tuqo bot in Telegram or MAX, the panel now shows it: "Bot stopped" with an Open the bot button in your profile, and a "bot stopped" mark next to the submission recipient in Forms and in visibility notifications. If the bot can't write for another reason, the mark appears after the first failed send. While the bot is stopped, nothing is sent to the messenger; email and the bell work as usual. Press Start in the bot again or send it a message and notifications and submissions go there on their own; notifications that piled up while the bot was stopped won't arrive all at once. Previously, messenger notifications were turned off for good in this case; if that happened to you, turn them back on in your profile once.
PanelForms
Send test: check submission notifications in one click
Submission recipients in Forms and linked Telegram or MAX accounts in your profile now have a Send test button. It immediately sends a sample message and shows whether it went out, and if not, why and what to do (for example, the bot was stopped in the messenger). You no longer need to send a test submission from your site to make sure notifications work. If the recipient wouldn't get submissions right now (the site's submissions aren't open to them, the site is in the trash or the plan is suspended), the button says so instead of testing. The test carries no applicant data; one destination can be tested every 30 seconds, up to 20 tests per hour per project (per account in the profile).
First site made easier: steps and an animation in an empty project
A project with no sites now shows three steps (create a site, drop a folder or archive, get a link) with an animation and a large Create site button. After you create a site, its page with the file upload area opens right away instead of the project's site list (for a password-protected site, after the password window).
PanelFormsGated access
Member permissions: sections, presets and individual sites
You can now give a project member only what they need, and only on the sites they need. Sections are form submissions (notifications only, view or handle), gated sites in the Inbox (view or approve) and analytics; sites are all project sites or selected ones. Ready-made presets: Sales manager, Marketer, Analyst and Notifications only, where the employee gets a message about each new submission without applicant details and sees neither the submissions nor other sites. Members turn on their own notifications on the project's Notifications tab: in the bell, by email and in Telegram or MAX. Deploys, domains, settings, AI and API keys stay with the owner and admins. The Analyst role now opens analytics only, without applicant contact details.
Disabled addresses now redirect permanently (301); canonical on non-primary addresses
A disabled site address set to redirect now returns a permanent redirect (301) instead of a temporary one (302), so search engines move the address in their index to the working one. Browsers remember it for an hour: if you turn the address back on, the redirect disappears for your visitors within an hour. When a site has several Tuqo addresses enabled, pages on the non-primary ones carry a Link: rel="canonical" header pointing to the same URL on the primary address, so duplicates merge in search. The header is skipped when the site sets its own canonical in <head>, for sites with a custom domain enabled, and when the primary address is on tuqo.pro.
Support requests: questions from Tuqo appear under Support
When Tuqo support needs to clarify something about your account or site, the question arrives as a ticket in Support marked "Support request" with a reply deadline, plus a notification and an email even if notification emails are turned off. A reminder comes on the morning of the last day. You can reply right in the ticket and attach files; the request can be closed after you reply.
tuqo.pro is now for drafts and previews; new site addresses go on tuqo.app
New site addresses on tuqo.pro can no longer be created: the domain now serves only Drop drafts and preview links. Sites that already have a tuqo.pro address keep working as before, and the address can still be turned on, off or made primary. If a site's primary address is on tuqo.pro, the Domains tab suggests adding a tuqo.app address and making it primary; the old one will redirect. When claiming a Drop draft you can now choose the address zone, just like when creating a site. A site can't be renamed while its tuqo.pro address is turned on, since the new name would create a new tuqo.pro address: make the tuqo.app address primary and turn the tuqo.pro one off first; after the rename the tuqo.pro address is removed and cannot be turned back on. The API gains GET /api/v1/zones, and the MCP zone parameter now lists the available zones.
Attach files to support requests by drag and drop or paste
In a support conversation and in a new request you can drag a file onto the form or paste a screenshot from the clipboard (Ctrl+V or ⌘+V); the screenshot is named with the date and time. The Attach file button works as before. Images, PDFs and any text files (logs, configs, package.json) are accepted, up to 10 MB each and five per message.
A new site gets an address like name.tuqo.app by default again, on any plan. A tuqo.pro address stays a free alternative: pick it when creating a site or add it under Domains. Sites created on tuqo.pro keep working at their addresses. Drop drafts and preview links still open on drop.tuqo.pro and preview.tuqo.pro. In the API and MCP the default zone is app (zone: "app"); the pro zone is still available.
New sites on tuqo.pro, and Drop drafts and previews too
A new site now gets an address like name.tuqo.pro by default, on any plan. A tuqo.app address stays free: you can pick it when creating a site. Existing sites keep working at their addresses; you can add a tuqo.pro address in Domains and make it the main one, and the old address will redirect to it. Drop drafts and preview links now open on drop.tuqo.pro and preview.tuqo.pro, and earlier links keep working. The API and MCP get a new pro zone (zone: "pro"), which is also the default.
Custom domains: paste the address from the browser, enter .рф domains as they are
The Attach domain field now strips the extras itself: https://, the path, port, quotes, trailing dot and invisible characters copied along with the address. Internationalized domains (пример.рф, сайт.рус) are entered as they are: the panel converts them to punycode and shows them in their native script in the domain list and the site header. When a domain can't be accepted, the error names the reason: an email address, an IP address instead of a domain, a space, an invalid character, or Latin and Cyrillic mixed within one word, which is how fake addresses look. The API and MCP behave the same way.
Analytics: moves between one site's addresses count as internal
A visitor moving between addresses of the same site on Tuqo, for example from name.tuqo.ru to name.tuqo.app, or from a Tuqo address to the site's own domain, now counts under Internal navigation rather than as a separate referrer. Referrers keep external sites, search engines and messengers. Past days are not recalculated.
Site addresses on tuqo.app, and on tuqo.ru and tuqo.dev with paid plans
New sites get an address like name.tuqo.app on any plan. With a paid plan you can pick tuqo.ru or tuqo.dev when creating a site, and in Domains open the site on several zones under the same name and make one address the main one: links and redirects point to it, and one checkbox turns the other addresses into redirects so old links keep working. A site name is shared by all zones: a name taken on one zone cannot be taken on another. Existing sites keep their addresses and can add a tuqo.app address in Domains. The API and MCP get a zone parameter for site creation and per-zone address management.
Free plan: a tuqo.ru address keeps working, renaming needs a paid plan
Free-plan sites with a tuqo.ru address keep working on it as before. Renaming such a site now requires a paid plan, since the new name would appear on tuqo.ru too. You can move to tuqo.app in Domains with “Make main”; after that, making the tuqo.ru address main again or turning it back on requires a paid plan, and the panel warns you before the move. On the Free plan only the project owner (or an API key with the full scope) can move a site off tuqo.ru.
API and MCP: the site link points to the working address
The url field in API and MCP site responses is now the site's working address: the platform subdomain, or the first enabled custom domain if the subdomain is turned off. Before, it was always the subdomain, even a disabled one. The new addresses field lists every address of the site — the subdomain and verified domains — with whether each is enabled.
DropPanelREST APIMCP
Drop drafts and preview links move to tuqo.app
Drop drafts now open at drop.tuqo.app, and secret build preview links at preview.tuqo.app. Temporary and anonymous publications live apart from the dashboard domain and permanent sites. Links to drafts and previews created before the move keep working and lead to the new address; new links come on tuqo.app right away.
PanelREST APIMCPCLIGit CDForms
PHP files are not published
Tuqo is a static host: it does not run PHP, so a .php file would be served as is, along with any passwords and tokens written in it. From now on .php files are neither published nor served, including on sites published earlier. On the Free plan a site with PHP files is not published at all, with an explanation of what to remove; on paid plans the site is published without them, and the notification and API response list the skipped files. Use Tuqo Forms to receive form submissions.
PlansPanelMCP
Deploy pack: 50 deploys beyond the daily limit
Hit the daily deploy limit (10 on Free, 100 on Start, 300 on Pro)? You no longer have to wait a day or change plans: a one-off pack of 50 deploys costs 149 ₽. It never expires and is used only once the daily limit is reached — on every site of the account, from the panel, CLI, API, MCP and Git CD. A deploy from the pack does not take a free slot, and a failed build returns its deploy to the pack. Buy it in Add-ons or straight from the limit message; the balance shows in Limits, and an AI agent sees it in whoami. The pack does not lift the runaway guard of 60 deploys per site per hour.
Sites get pictures too, and there are now 100 worlds
Every site now has its own picture as well, from the same set of isometric worlds, which has grown to 100: a koala, a giraffe, a bumblebee, a doctor robot, a farmer robot, a bakery, the northern lights, a flying saucer and more. The picture shows on the site card in the project and in the site header; change it on the site's Settings tab. New projects and sites get a random picture from all 100; existing projects keep theirs.
Panel
Project pictures: 70 tiny worlds
Every project now has its own picture — a tiny isometric world: a capybara in a hot spring, a penguin on an ice floe, a builder robot in its workshop, a lighthouse on a rock and 66 more. A new project gets a random one, and existing projects got theirs too. Change it in the project's Settings, where all 70 are in a gallery. The picture shows on the project card and in the project header. The random names for new projects also gained 20 options.
PanelMCPREST API
AI & API: sub-tabs, a connection check and AI activity
The project's AI & API tab is now split into Connect, Apps, API keys and Activity. It opens where you need it: Connect if nothing is connected yet, otherwise the access list. Connect has three steps: pick a client, connect it following the hint, and wait for the check — the tab notices a new connection or a key's first request by itself and shows a confirmation with sample first prompts. Apps and API keys now flag connections and keys unused for over a month, so you can revoke them. Activity shows what AIs, the CLI and CI published with keys and through apps: site, status, who and when, plus a 30-day count.
PanelMCPWebsite
AI & API: access on top, new clients marked by how they connect
On the project's AI & API tab, who has access is now shown at the top in two blocks: apps that signed in over OAuth, and API keys with create, regenerate and revoke. Under Connect, clients are grouped, and each is marked by how it signs in: OAuth, a key, or both. Added Codex CLI, OpenCode, VS Code + Copilot, Zed, Continue, Kimi Code, DeepSeek Harness, ZCode (GLM) and MiniMax Code, each with a short hint and a link to a step-by-step guide. The Connect an AI pages now include DeepSeek Harness, ZCode and MiniMax Code, and the Kimi page covers Kimi Code CLI.
Inbox: requests, members, payments and forms in one place
The new Inbox collects everything that arrives on your sites: access requests (Members and MAX), new members, paid-access payments and refunds, form submissions and sign-in attempts from addresses not on the list. A separate page covers all projects (the header icon and the Inbox block on the Projects page lead there), a project tab covers just that project; the “need action” counter is on the icon, the tab and the block. Filter by type, period, project and site, search by email, name, phone or ID; the list is grouped by day, and details with all data, consents and history open on the side (over the list on a phone). Approve, reject, block, mark as read or archive right in the row, for several rows at once and from the keyboard. Page addresses with UTM tags are shown short — site, path and campaign tags, with the full address one click away. The existing site tabs work as before. Below the project list there are now blocks for account sections: Inbox, AI & API, channels, profile, subscription, limits, add-ons and the partner program.
PanelMCPREST API
The API keys and AI connections tabs are now one: AI & API
A project now has a single AI & API tab. At the top, Connect: pick what you connect with (Claude, ChatGPT, Claude Code, Cursor, other agents, CI and scripts) to see the exact steps; if a key is needed, it is created right there with a matching name and access level. Below, one Who has access list shows both OAuth-connected apps and API keys, with revoke and regenerate. Old links to the tabs open the new one.
Gated accessPanel
Notifications about gated-site events
Visibility has a new Notifications tab: which events of the mode to send and to whom. Events include a new request, auto-approval, a new member without moderation, payments and refunds in paid access, sign-in attempts from an address or MAX account not on the list (at most once a day per address), seats or opens running out, access expiring soon, and a Subscribers channel the bot can no longer reach. Recipients are the same as for form delivery (a member's email or messenger, an external address verified by code) plus a new “member, as in profile” kind: the bell and the channels the person enabled. The same recipient kind is now available for form submissions: each submission arrives in the bell and through the profile's channels. Your profile shows where such notifications come from and lets you turn them off. By default the owner gets requests, “no seats” and expiring access, as before, but without visitor data: turn it on with the “no data” button next to the recipient. When there are many events, the first one arrives right away and the rest within the hour come as one summary. There are no notifications about each sign-in; the tab shows a counter for today and the week.
Gated accessPanelREST APIMCP
Consents on the login screen in every visibility mode
On the Visibility → Consents tab you can ask visitors for personal data consent, an offer and a privacy policy (Tuqo's universal texts with your details or links to your own documents) and up to five custom items, such as “I am 18 or older” or mailing consent. Checkboxes appear right on the login screen or as a separate step with “Tick all”, and for MAX sign-in and the Subscribers only mode the Tuqo bot itself can ask with buttons; in email-code modes, before the code is sent. Every consent is recorded in a journal (who agreed to what and when) that you can download as CSV. The data controller details are shared with the paid-access seller. Paid access needs an offer and a personal data consent. In the API and MCP, set_site_consents replaces set_site_documents.
Gated accessPanelREST APIMCP
Auto-approval of requests in Members and MAX users modes
In modes with approval, requests can now be approved automatically: after 10 or 30 minutes, 1, 3, 12 or 24 hours, or a custom time from 5 minutes to 7 days. Until then you can approve or reject a request manually, and the list shows how much time is left. In Member sign-up mode with a seat limit, requests are approved in order while seats are available. The visitor's waiting screen now refreshes itself: once approved, the site opens without clicking “Refresh”.
Panel
Site transfers on every plan, with a 7-day take-back
You can now transfer a site to another Tuqo user on any plan, and the recipient doesn't need a paid plan, only room for the site. From a Free account you can transfer sites older than a week, no more than once a week. For 7 days after acceptance the previous owner can take the site back on the Projects page, in case of a mistake or a hijacked account (you get an email when it's accepted); during that time the recipient can't pass the site on, delete it or change its address. The site password moves with the site; access lists and members don't. A gated site can be accepted only with its access mode on the recipient's plan or with an add-on for that site: “Pay and accept” buys it and moves the site in one step.
Gated accessPanel
New visibility mode: MAX users
A site can now be opened to MAX users: the visitor clicks “Sign in with MAX” and confirms in the Tuqo bot, with no passwords or codes. If the owner wants, the bot asks for a phone number verified by MAX itself. Admit everyone who confirms, only a list of IDs and phones, or by the owner's approval; the panel shows a participant log with blocking and CSV export. No bot of your own needed; from a MAX mini app, sign-in also goes through the chat with the Tuqo bot. Pro plan, or the MAX sign-in add-on for one site at 299 ₽/mo.
Submission notifications without personal data by default
New submission recipients (email, Telegram and MAX) get only the fact of a submission and an “Open the submission” button: the name, phone and message stay in the panel, so senders' data does not go to third-party mail services or foreign messengers. You can turn on the full submission for each recipient. Nothing changed for recipients that were already set up.
The .well-known folder is published when you upload a folder
The panel and Drop no longer drop the .well-known folder along with service files like .DS_Store. You can now publish assetlinks.json for an Android app (TWA), apple-app-site-association for iOS (served as JSON) and security.txt. Only the SSL certificate issuance paths (acme-challenge and pki-validation) are not published: Tuqo issues certificates itself.
Redirect-only sites are not published on the Free plan
On the Free plan and in Drop drafts, a site whose only purpose is to immediately send the visitor to someone else's address is not published. Regular sites with links and buttons are not affected, and neither are redirects to Tuqo subdomains and the owner's verified domains. Paid plans have no such restriction.
PlansPanelREST APIMCP
More deploys on every plan
The daily deploy limit went up: 10 instead of 5 on Free, 100 instead of 50 on Start, 300 instead of 200 on Pro, and unlimited from Business up. Every plan has a guard against runaway scripts — at most 60 deploys per hour per site: people never hit it, and a broken CI job or an agent in a loop cannot publish a site endlessly. If a limit is reached, the error says when the next deploy becomes available.
If a push is not published (because of the deploy limit, storage or an unpaid plan), the site's deploy history gets a record with the reason, and the owner is notified through the channels set in the profile: email, Telegram or MAX. For the deploy limit the text says when it frees up. Several skipped pushes in a row are merged into one record. A push of a commit that is already live or being built no longer uses up a deploy.
Projects with a package.json are now built on Node 24 LTS instead of Node 20, which reached end of life in spring 2026. Recent framework versions that no longer run on Node 20 (Astro 6 and 7, for example) build with no extra settings. Before switching we rebuilt user projects on the new version, and builds that passed before still pass. Projects from Replit build as they are: Tuqo replaces the addresses of Replit's internal npm mirror in package-lock.json with the official npm registry during the build, so there is no need to edit the lock file.
Git CDPanelREST API
Builds without a home page are no longer published
If the output directory has no index.html after the build, the deploy no longer becomes “published” with a 404 on the site: Tuqo stops publishing, keeps the previous version live and explains why. For server-side rendering projects (new Lovable projects on TanStack Start, Next.js, Nuxt, SvelteKit, React Router, Astro) the error text explains how to get a static build. TanStack Start in SPA mode (spa: { enabled: true }) now deploys with no extra settings when Tuqo builds it, and dist/client and build/client output folders are detected automatically.
When linking a repository you can pick any branch, with suggestions from GitHub, GitLab, Gitea, GitVerse and GitFlic, and change it later with “Change branch” without relinking or recreating the webhook. For agents: REST PUT /api/v1/sites/{id}/git/branch. Git connections are also better protected: a connection's token is used only for its own repositories and only by sites in its project, and a transferred site does not take the connection to its new owner.
Each of the 52 MCP server tools now has a readable title and a hint saying whether it only reads data or changes it (and whether it may delete or overwrite something). Claude and other clients use these hints to decide when to ask a person for confirmation. The Tuqo plugin for Claude Code is updated to version 1.1.0.
A site’s address can now be changed on the Domains tab: the new name is reserved for the site at once, and the switch happens after 24 hours — until then the change can be canceled, and the owner gets an email. Forms, domains, access settings and statistics stay with the site. For agents: REST POST /api/v1/sites/{id}/subdomain-change and MCP change_site_subdomain.
All tuqo.ru addresses are served with a shared Let's Encrypt certificate: a new site no longer waits for its own certificate, and HTTPS works from the moment it is created. Custom domains still get their certificates automatically, as before.
MCPREST APIWebsite
Files for AI agents and an MCP server card
tuqo.ru now has SKILL.md (publishing rules for Claude Code, Cursor, Codex), prompt.md (connect in one line), the /ai/ page (when to recommend Tuqo), openapi.json for the REST API, pricing.md and changelog.md, and the full documentation in one file, llms-full.txt. mcp.tuqo.ru serves a server card at /.well-known/mcp.json listing every tool. The MCP instructions gained rules for how an agent talks to a person.
Submissions to Telegram and MAX on the forms and pricing pages
The integration page was rewritten for built-in delivery of submissions to messengers (profile → Messengers → Link, then a recipient in Forms); messengers were added to the forms and pricing pages. Technical SEO fixes: breadcrumbs on every page, honest lastmod in the sitemap, og:type=article for guides, a robots.txt that explicitly allows AI crawlers.
“What to improve”: 14 site checks on every publish
On every publish Tuqo checks the files: leaked keys and PEM private keys, broken links, localhost in links, mixed content, noindex and Disallow left over from a template, viewport, base64 images, a form without a submit address, a template title, favicon and OG tags. The result is a banner on the site card, a separate checklist page, a toggle in settings and a recommendations field in deploy_files, REST and get_site responses.
DomainsMCPREST API
Domain diagnostics: HTTPS probe and A record
verify_domain and the panel show the real certificate status (ssl_status with a reason: issuing, handshake error, no certificate) and where the domain’s A record points right now. The certificate is warmed up on the first deploy, so the first visit does not wait for issuance.
Infrastructure
Backups in a second cloud
An incremental mirror of S3 and database dumps is copied to independent storage at another provider with a key that is not allowed to delete. Sites and data survive the loss of the main storage.
Gated accessPlansPanelMCP
Visitor sign-up and paid access
Two new gated access modes. Member sign-up: visitors register themselves with an email code, accept your documents and pass sign-in moderation. Paid access: sell access to a site through your own acquiring (T-Kassa, YooKassa) with a 0% Tuqo fee, a storefront and checkout on pay.tuqo.ru, seats and a sales window, and a generator of seller documents. New tabs: Members, Payments, Access terms, Settings, Login screen; a favicon for the login screen.
An active key now has a Regenerate button: a new secret with the same name and permissions, and the old one stops working. Previously you had to create a new key and delete the old one.
Website
Column menus on the website and a mobile overlay menu
The “Useful” and “Documentation” menus became mega menus with three and four columns; on phones the menu opens over the page and scrolls on its own.
WebsiteGated access
Legal documents for sites with forms and payments
Published: a data processing agreement (DPA) for owners of sites with forms and paid access, the list of subprocessors, and additions to the Terms of Service and the terms for site visitors; the paywall shows the seller’s details in its documents.
Server-side statistics without cookies or scripts on every plan: views and visitors (“humans” and “all”), traffic, top pages, referrers, downloads, 404 errors and devices, submissions and deploys on the chart, period presets up to 365 days, CSV export, notifications at 80% and 100% of plan traffic. For agents: get_site_stats and GET /api/v1/sites/{id}/stats.
Auto-reply: email editor, up to three files, submissions table
The auto-reply email is written in a visual editor with formatting and {{field}} placeholders from the submission; the delivery page holds up to three files with captions; submissions have a table view with search and an auto-reply badge. Support tickets gained a “no reply” mark and editing of replies.
FormsMCPREST API
Auto-reply to submissions and lead magnets
From the Start plan, whoever submits a form automatically gets an email on behalf of the site owner, with a text and the promised file (a checklist, a guide, a price list). The file is delivered by a link in the email, so only in exchange for a real address. Set it up in the panel, via REST or MCP (set_autoreply, add_autoreply_file, set_autoreply_delivery).
A deploy with activate:false builds a version without publishing it: the live address does not change, the build can be shown by a secret link and published later (promote). The panel has a toggle and buttons, the CLI has --no-activate, tuqo preview and tuqo promote, MCP has get_preview_url and activate_deploy. Unneeded builds can now be deleted.
Telegram and MAX bots: notifications, submissions, subscribers-only access
Link a messenger in your profile to get account notifications and form submissions there. New access mode, Subscribers only: the site opens only to subscribers of your Telegram or MAX channels, and the subscription is confirmed in the bot right from the login screen.
Custom domain, badge removal, site password, email code, subscribers, members, paid access, site and storage packs: targeted add-ons for any plan, the Free plan included. An Add-ons section in the panel and a “Plan or add-on?” page on the website.
A password closes the whole site (images and PDFs included) behind your own login screen; access by date and by number of entries, an access log; sign-in with an emailed code for a list of up to 1000 addresses with names and bulk actions. Managed from the panel, REST and MCP.
A limit refusal names the specific plan and price; deploy errors explain the cause (a nested folder, index.htm, no output directory); the service paths .git and .env are not published, and dropped files are listed in MCP, REST and Drop responses. A page on static hosting in Russia was published.
PlansPanel
Storage on paid plans: 1 / 3 / 7 / 15 / 45 GB
Storage limits were raised on every paid plan; the panel accepts zip archives; a support page was published.
Panel
Support ticket system
Support tickets live in the panel: a number, history, attachments, categories; clicking a notification opens the conversation.
Submission packs through checkout and a choice of renewal period
Extra submissions and plan renewals go through a single checkout with a receipt; a quarter is −10%, a year −25%. Sites on the Free plan show the “Powered by Tuqo” badge.
DropCLIREST API
Tuqo Drop: a site without signup for 24 hours
A draft is published without an account, by drag and drop on the website or with POST /instant/deploy from an agent; it lives 24 hours and is claimed into a free account by a link. CLI 0.2.0: the key in TUQO_API_KEY, --wait prints the live address, tuqo.json for several sites.
GET mcp.tuqo.ru returns ready-made connection instructions to an agent, so a person only has to send the link to the AI. On the OAuth consent screen (connecting claude.ai, ChatGPT, Claude Code, Codex without pasting a key) you now choose the connection name and lifetime; connections are listed and revoked in the panel.
verify_domain and the panel show where the domain’s A record points and which value to set.
June 2026
FormsPanel
Forms: multipart, manual spam / not spam, extra submissions
multipart/form-data is accepted, unknown body types get an honest 415, “spam” and “not spam” marks return the quota, and there is a page to buy extra submissions.
DomainsFormsPanel
Several addresses per site and submission recipients per site
A site is served on its subdomain and all verified domains at once; addresses are switched on and off, a disabled one redirects to a working one, and a domain can move between sites. Submission recipients are assigned to all sites of a project or to a specific one, and delivery can be paused.
FormsGit CDMCPREST APIPlans
Form submissions for agents; Git CD with GitFlic, GitVerse, GitLab, Gitea, GitHub
get_form_submissions and REST let an AI read submissions; auto-deploy from a repository on push via OAuth or a PAT, including the Russian GitFlic and GitVerse. Plans are switched on and payment acquiring is live.
Deploying by manifest with deduplication: a repeat deploy does not re-upload matching files, bytes do not pass through the agent’s context, and no tar is built in memory. CLI: npx @tuqo/cli deploy ./dist --site <id>.
The static hosting platform is open: deploy by files, by archive and from Git, .tuqo.ru subdomains, custom domains with automatic SSL, an MCP server and REST API, payment in rubles.
The platform launched on June 10, 2026. We do not publish plans or product decisions here, only what already works.
Cookies and analytics
Necessary cookies keep the site working. With your consent we also use Yandex Metrica to see how the site is used — no session recording. Cookie policy.