If you see the error "Cannot write to cache directory /tmp/horde" when using Horde webmail, it means the temporary directory that Horde uses to store session data is either missing or has incorrect permissions. This is a quick fix in most cases.
Create the directory and set permissions
Log into cPanel, open Terminal (or connect via SSH), and run:mkdir -p ~/tmp/horde && chmod 700 ~/tmp/horde
Then try loading Horde webmail again. This resolves the issue for most accounts.
01. What This Error Means
Horde is one of three webmail applications available through cPanel (alongside Roundcube and SquirrelMail). When Horde loads, it writes temporary cache files to a directory inside your account's tmp folder. If this directory does not exist or has restrictive permissions, Horde cannot write its cache and throws this error.
This typically happens when:
- The tmp/horde directory was never created - New accounts may not have this directory by default.
- Permissions were changed - If you or a script changed permissions on your
tmpdirectory, Horde may have lost write access. - The directory was deleted - A cleanup script or manual file management may have removed it.
- Disk quota reached - If your account is out of disk space, Horde cannot create new files in the cache.
02. How to Fix It
Method 1: Via cPanel Terminal
- Log into cPanel at my.ultrawebhosting.com
- Open Terminal (under the Advanced section in cPanel)
- Run these commands:
mkdir -p ~/tmp/horde
chmod 700 ~/tmp/horde
The mkdir -p command creates the directory (and the tmp parent if needed). The chmod 700 sets permissions so only your account can read, write, and access the directory.
Method 2: Via cPanel File Manager
- Open File Manager in cPanel
- Navigate to your home directory (one level above public_html)
- Look for a
tmpfolder. If it does not exist, click "+ Folder" and create it. - Open the
tmpfolder and create a subfolder namedhorde - Right-click the
hordefolder > Change Permissions > set to 700
Method 3: Via SSH
If you have SSH access enabled, connect to your account and run:
mkdir -p ~/tmp/horde && chmod 700 ~/tmp/horde
After creating the directory, clear your browser cache or open Horde in a private/incognito window to make sure you are not seeing a cached error page.
03. If It Still Does Not Work
If you created the directory with the right permissions and still see the error:
- Check disk space - Run
quotain Terminal or check the right sidebar in cPanel. If you are at or near your limit, Horde cannot write cache files. See Understanding and Managing Disk Space for cleanup steps. - Check ownership - The
tmp/hordedirectory must be owned by your cPanel user. Runls -la ~/tmp/and verify the owner matches your username. If it showsrootor a different user, open a support ticket and we will fix the ownership. - Check for a .htaccess issue - In rare cases, a restrictive
.htaccessfile in your home directory can interfere with Horde. This is uncommon but worth checking if nothing else works.
04. Consider a Different Webmail Client
If Horde continues to give you trouble, cPanel includes two other webmail options:
Roundcube
Modern interface, responsive design, works well on mobile browsers. Supports drag-and-drop, folder management, and rich text editing. This is the webmail client most of our customers prefer.
Horde
Feature-rich but heavier. Includes a calendar, task manager, and address book. Can be useful if you need those PIM features built into webmail, but is more prone to cache and performance issues.
To switch, go to cPanel > Email > Webmail, then choose Roundcube from the application list.
Switching webmail clients does not affect your email at all. All three clients read from the same mailbox on the server. Your messages, folders, and contacts are all stored server-side, so you can switch freely without losing anything.
Need Help With Webmail?
If you are having trouble accessing webmail or managing your email accounts, we are happy to help.
Open a Support TicketQuick Recap
- The error means Horde's cache directory is missing - It needs ~/tmp/horde to exist with 700 permissions
- Create it via Terminal or File Manager -
mkdir -p ~/tmp/horde && chmod 700 ~/tmp/horde - Check disk space if it persists - A full account cannot write cache files
- Check ownership - The directory must be owned by your cPanel user
- Consider Roundcube - A more modern alternative that avoids this issue entirely
Users found this fix helpful · Last updated March 2026 · Browse all Email articles
