Editing an Account
An account is not fixed at the numbers it was sold. A customer upgrades, a plan changes, an owner’s email was mistyped. Accounts → the account → Overview → Edit account changes all of it in one step.
What you can change:
| Limits | Disk quota, monthly bandwidth, mailboxes, MySQL databases, FTP accounts, domain aliases, addon domains, subdomains, applications |
| Hosting package | Apply a package (its limits become the account’s), or detach from it |
| Owner details | Owner name, owner email, description |
The primary domain and the PHP version are not editable — they are fixed for the life of the account. Passwords are changed from the account’s Access section, not here.
A limit of 0 means unlimited
Section titled “A limit of 0 means unlimited”Everywhere in CorePanel, 0 is not “none” — it is “no limit”. An account with
0 mailboxes can create as many as it wants. This is the same convention used when
creating an account and when defining a hosting package.
Each field in the editor shows what the account currently uses underneath it, so you can see the headroom you are giving or taking away before saving.
Limits below current usage are refused
Section titled “Limits below current usage are refused”You cannot set a limit below what the account already holds. An account with 12 mailboxes does not accept a limit of 5, and the panel says so on the field itself as you type:
The account already uses 12. Lowering the limit below that is not possible.
This is deliberate. The alternative would be for CorePanel to delete a customer’s mailboxes, databases or domains to make the account fit the new number, and no control panel should ever do that quietly. Free the resources first, then lower the limit.
The refusal is enforced by the server, not just by the form: the whole edit is rejected and nothing is written, so a form with one bad field never applies the other fields halfway. The error names every resource that is in the way, not just the first one.
The disk quota is the one exception
Section titled “The disk quota is the one exception”Disk space works differently, because the kernel accepts a user being over their limit: that is what the quota grace period exists for. Lowering an account’s disk quota below what it currently stores is therefore possible — but only on purpose.
Type a quota smaller than current usage and the panel refuses it like any other limit, plus a checkbox:
This quota is below the 1536 MB the account already stores. Apply it anyway. The account goes over quota immediately: it can still be read, but not written to until it is back under the limit.
Use it for a real plan downgrade or right after a migration, and tell the customer. Do not use it to “make room” in a hurry.
What “over quota” actually does, and for how long
Section titled “What “over quota” actually does, and for how long”CorePanel does not write one limit per account but two, and the difference decides whether the account keeps working:
| Soft limit | The quota you sold. This is the number shown everywhere in the panel. |
| Hard limit | Soft + 5 %, with a floor of 50 MB and never more than double the soft limit. |
Between the two, the account is over its allowance but still writing, for as long as the grace period lasts. Past the hard limit, every write is refused immediately — there is no grace period above it.
This matters for a forced downgrade, because that is usually the case you land in. An account storing 1536 MB that you cap at 1024 MB has a hard limit of 1075 MB, so it is already above it: writes stop the moment you save, not a week later.
The grace period is 7 days by default, and CorePanel does not set it. It belongs to the filesystem’s quota configuration, so the default is whatever ext4 or XFS ships — 7 days for both. Inspect or change it per filesystem on the server:
# ext4 — show and set the block grace periodsetquota -t /homesetquota -t 604800 604800 /home # 7 days, in seconds
# XFSxfs_quota -x -c 'timer -u 7days' /homeWhen the grace period expires with the account still above the soft limit, the soft limit starts behaving like a hard one: writes are refused from then on, exactly as if the hard limit had been crossed.
Once writes are refused, the failures are spread out and rarely look like a disk problem: uploads fail, PHP cannot write session files, cron jobs produce half-written output, and mail to existing mailboxes bounces because Dovecot cannot deliver it. Reading is unaffected — the site keeps serving and the existing mail is still there.
The account recovers by getting back under the soft limit: free up space and writes resume, with the grace timer reset. Raising the quota again has the same effect.
Applying a hosting package
Section titled “Applying a hosting package”Choosing a package in the editor re-applies it: the package’s limits become the account’s limits, replacing whatever was there. The individual limit fields switch to the package’s values and are locked while it is selected, so you see exactly what is about to be stored — including whether the package is too small for what the account already holds, which is refused just like a hand-typed limit.
Choosing No package (custom limits) detaches the account from its package. Detaching changes nothing about the account’s limits — it only stops recording which package they came from.
Editing a limit by hand keeps the package
Section titled “Editing a limit by hand keeps the package”An account created from Business that you then edit by hand stays a Business account, shown as Business · customized. CorePanel keeps the link on purpose:
- you still know which plan the account was sold on;
- re-selecting the package puts the account back on the standard limits in one step;
- the accounts list can still be read by plan.
If you want the account to stop claiming a plan, detach it explicitly.
From the CLI
Section titled “From the CLI”# Upgrade: more mailboxes and more diskcorepanel account update 7 --max-emails 100 --quota 20480
# Move the account onto a package, then override one of its limitscorepanel account update 7 --package 3 --max-subdomains 50
# Plan downgrade below what the account currently storescorepanel account update 7 --quota 1024 --forceOnly the flags you pass are changed; every other limit is left exactly as it is. Since
0 means unlimited, omitting a flag is not the same as passing it with 0 — a limit
you do not mention is untouched, while --max-emails 0 grants unlimited mailboxes.
--max-apps is the exception in both directions: --max-apps 0 revokes the application
runtime, and --max-apps 5 is the only way to grant it.
Resolve an account id with corepanel account list. The full flag list is in the
CLI reference.
When a quota is stored but not enforced
Section titled “When a quota is stored but not enforced”If the server is not enforcing disk quotas yet, a new quota is still stored and the panel warns that nothing is acting on it. The limit takes effect as soon as quotas are enabled — you do not have to re-enter it. See Resource limits.