Modulify

Project settings

Every control on a site's Settings tab, which ones a paid plan unlocks, and what pressing Save changes.

On this page

The Settings tab holds the things about a project that are not part of the site itself: what it is called, where it is hosted, whether it carries the Modulify badge, and the buttons that take it offline or delete it.

It is one tab, split into two blocks. General carries everything you edit and save. Danger zone carries the three destructive actions. A third block, Repository, sits between them, moves the site's code into your own GitHub and back, and renames the branch a publish builds from; connecting an account, moving the repository and renaming the branch need a paid plan, moving it back does not, and the block itself is always visible. It is covered in Move your code to GitHub.

Open Settings

Settings lives behind More in the tab strip. Click More, then Settings in the list on the left. Its address is /dashboard/projects/<your-project>/settings, so the link is shareable and survives a reload.

You can also get there without opening the project first. The card menu on the dashboard has a Settings entry that lands you on the same tab.

Anyone who is a member of the workspace can open Settings and save changes there. A non member who follows a public link to your project gets the preview and no More button at all.

General

The General block is headed Manage your project's general settings. Its first card holds Project name and Project description with the save button on its bottom edge. A second card below it holds the project ID, the server location and the badge switch, and those rows save on their own.

Row What it sets Gate Saves
Project name The display name everywhere the project appears Required, 3 to 64 characters With Save changes
Project description A short summary of the project Up to 640 characters With Save changes
Server location The region the published site is hosted in Paid plan As soon as you pick a region
Built with Modulify badge Whether the badge shows on the published site Paid plan to hide it As soon as you flip it

Project name

Project name is marked required with a red star and reads Your project's display name. The box holds a maximum of 64 characters and refuses to accept more.

Type fewer than 3 characters and a red line appears under the box reading Project Name must be at least 3 characters! Save changes stays disabled until you fix it.

Renaming here renames the project on your dashboard and for everyone else in it. It does not change the web address the site is published at, which is a separate field on the Domain tab. Chat can change both the name and the free subdomain in one request. See Site chat.

Project description

Project description reads A short summary of what this project is about. It is a three row text area capped at 640 characters, and it is optional.

Save changes

One Save changes button, at the bottom of the first card, commits the name and the description together.

It is disabled until something actually differs from what is stored, and stays disabled while the name is invalid or while a save is in flight. Success raises a Project updated toast reading Project was updated successfully. A failure raises Update failed with the reason from the server.

There is no autosave on this card. Leaving it with unsaved edits loses them.

Project ID

Still under General, below the editable card, sits a second card holding three rows that do not use the save button.

Project ID reads Your project's unique identifier. The value is read only, marked with a padlock, and has a copy button on the right.

Server location

On a free workspace every region in the dropdown renders greyed out and cannot be picked, and a Paid badge sits next to the row title. If a region somehow reaches the API from a free workspace, the API keeps the old one, the dropdown goes back to it and a Plan required toast reads A paid plan is required to change the server location!

Server location reads Region where your project is hosted. Changing it requires republishing. The dropdown shows whichever region the project is recorded on, falling back to Ashburn, United States when nothing is recorded.

The check is on the plan of the workspace owner, not on yours. If the owner is on the free plan, nobody in the workspace can move the project, however they are billed personally.

The dropdown shows the flag, the city and the country of the current region, and lists all 18 alphabetically by city with the region code beside each one:

City Country Code
Amsterdam Netherlands ams
Ashburn United States iad
Chicago United States ord
Dallas United States dfw
Frankfurt Germany fra
Johannesburg South Africa jnb
London United Kingdom lhr
Los Angeles United States lax
Mumbai India bom
Paris France cdg
San Jose United States sjc
São Paulo Brazil gru
Secaucus United States ewr
Singapore Singapore sin
Stockholm Sweden arn
Sydney Australia syd
Tokyo Japan nrt
Toronto Canada yyz

Like the badge switch, the dropdown saves the moment you pick a region. It does not wait for Save changes. A new region raises a Server location updated toast naming the city and country the site moves to the next time you publish, and a failure raises Update failed and puts the dropdown back on the region it had.

Picking a new region records it against the project and clears the production machine it was running on. Nothing moves until you publish again, so publish after changing it. An unrecognised code is refused with Invalid server region selected!

Chat can move the site too when you ask, for example host my site in Frankfurt, with the same paid plan check. On a free workspace it tells you the location was not changed.

Built with Modulify badge

Built with Modulify badge reads Show a small Modulify badge on your published site. and is a switch.

On a free workspace the switch is disabled in both directions and a Paid badge sits next to the row title. The server refuses a request to hide it with A paid plan is required to hide the Modulify badge!

Turning it off raises a Badge updated toast reading Your next publish removes the Modulify badge from your live site., and turning it on reads Your next publish shows the Modulify badge on your live site. The change takes effect for visitors the next time you publish.

Upgrading to a paid plan does not switch the badge off by itself. The switch stays on until you or someone in the workspace turns it off.

You can also ask site chat to hide or show the badge, in plain words such as remove the Made with Modulify badge. It flips this same switch with the same paid plan check, tells you the change reaches visitors with your next publish, and offers to publish.

Like the server location, the switch saves the moment you flip it. It does not wait for Save changes.

The badge itself is never part of your project. It is added to the site automatically while a publish builds it, into a copy of your code that only the build sees, so there is no badge in the File Explorer, none in an exported zip and none in the preview. Searching your files for it finds nothing and there is no markup to delete. This switch is the only thing that hides it, which is why the change reaches visitors on your next publish rather than straight away.

Danger zone

The second block is headed Delete your chat, take your project offline, or permanently delete it. and holds three rows.

Delete chat

Delete chat reads Delete the chat transcript for this project. Your project, its pages, and content stay safe.

The button is disabled with the tooltip You have no chat to delete. when the conversation is empty, and Wait for the current generation to finish. while the AI is working. The broom button beside the chat show and hide toggle does exactly the same thing, so you do not have to come here for it. See Site chat for what the confirmation warns you about.

Unpublish project

Unpublish project reads Take your published site offline. The live URL stops serving visitors until you publish again. Your project and its content stay safe.

The Unpublish button is disabled in three cases: the project has never been published, a publish is running, or an unpublish you already started has not finished. The confirmation is titled Unpublish this site? and warns that visitors will no longer be able to reach the site. On success you get a Project unpublished toast reading Site unpublished successfully.

Your project, files, database and storage are untouched. See Your web address.

Chat can take the site offline as well when you ask. It asks you to confirm first, because visitors lose the site straight away, and like the button it cannot do it while a publish is running or when the site is not published.

Nothing gates the button beyond that. The domain controls need a paid plan and the Manage domains permission, but unpublishing needs neither: the only check is that you are a member of the workspace, so anyone in the project can take the site offline. Publishing it again is checked the same way, so neither direction costs a plan.

Archiving a published project from the dashboard or the project menu offers the same unpublish as a checkbox, Also unpublish this site. See Archive projects.

Delete project

Delete project reads Permanently delete this project, including all of its pages, components, and data. This action cannot be undone. Confirming sends you back to the dashboard.

Deletion is covered in full, including who is allowed to do it and what goes with the project, in Delete a project.

What is not on this tab

Some things people look for on this tab live elsewhere, and two of them do not exist for site projects at all.

  • The slug and the custom domains are on the Domain tab, not Settings, because they are addresses rather than metadata. See Your web address.
  • Secrets, Backups, Webhooks, Deploy hooks, Crons and Emails are their own tabs behind More, not sub sections of Settings. Emails is where a site's outgoing email is turned on and read. Backups holds the automatic code snapshot history and the storage and database archives. The Daily backups switches and the delete all backup rows are not here either: the storage ones sit in the Storage tab's Configuration and the database ones in the CMS tab's Settings.
  • Languages does not exist as a tab. A site gains a language by asking chat, and the switcher lives in the Preview and CMS headers. See Multiple languages.
  • Sounds and browser notifications for a finished generation or a finished publish are settings on your account, not on the project. They follow you into every project you open. See Your account.

FAQ

Why is every server region greyed out?

The workspace owner is on the free plan. Server location is a paid feature, so the whole dropdown is disabled until the owner upgrades. See Plans.

I changed the region and nothing happened

Picking a region saves the choice straight away, but it does not move the running site on its own. The row says so: Changing it requires republishing. Publish again to move it.

Does renaming a project change its web address?

Not from here. The name is a label. The address comes from the slug and any custom domains, all on the Domain tab. Chat is the one exception: on the first build it derives the free subdomain from the name it picks, and later you can ask it to change both in one request. See Site chat.

Why is Save changes greyed out?

Either nothing differs from what is already saved, or the project name is under 3 characters. Fix the name and the button comes back.

Can I undo deleting the chat transcript?

No. It is deleted for everyone in the project and it is not recoverable. Your site itself is untouched.

I upgraded but the badge is still on my site

Upgrading does not switch the badge off by itself. Turn off Built with Modulify badge under General, or ask chat to, then publish. The badge leaves your live site with that publish.

I cannot find the badge anywhere in my code

That is expected. It is added while the site is built rather than stored in your project, so the File Explorer, an exported zip and the preview all have nothing to show. The switch under General is what removes it, from your next publish onward.

From an AI client over MCP

rename_site covers the General tab's name, slug, description and server location, and check_subdomain_available tests a free subdomain before change_subdomain takes it.

The danger zone is covered by clear_site_chat, unpublish_site and delete_site. clear_site_chat and delete_site need the sites:delete scope, and unpublish_site needs publish:write.

See MCP tools.

Next