Open Settings with the gear at the bottom of the rail, with mod+,, or with Settings… in the menu bar (the system tray on Windows) menu. On macOS the DevCatz app menu has no Settings item; the shortcut and the gear are the way in.On Windows the window has no visible menu bar: press Alt and it is File → Settings (mod+,). A dot on the gear means an update is waiting.
The Settings tabs
Every tab is on macOS and on Windows.
| Tab | Covers |
|---|---|
| General | Appearance, launch at login, crash reports, default domain (and its DNS rules), editor and browser |
| AI | Provider, key, model and feature switches — see AI in DevCatz |
| Project | Sites on launch, HTTPS, proxy, clean URLs, runtime updates, parked folders |
| Database | Services, server builds, defaults |
| Object Storage | See Object storage |
| WebSocket | See WebSocket |
| Search Engine | See Search engines |
| See Mail | |
| Gateways | See Gateways |
| Expose | See Expose |
| Monitoring | See Monitoring |
| Updates | Below |
| About | Below |
General
App
| Option | What it does |
|---|---|
| Appearance | Auto, Light or Dark. Shared with Catzoid apps: change it here and DBCatz and DialCatz follow. |
| Launch at login | Starts DevCatz when you log insign in, in the menu barsystem tray without a window. Off until you turn it on. |
| Send crash reports | Opt-in, asked once. When DevCatz crashes or hits an error, a report goes to catzoid.com. See What the apps send. |
| Quit DevCatz | Quits the app and stops all dev servers. Closing the window only keeps DevCatz in the menu bartray. |
Default domain
Sites and object storage are served on <name>.<suffix>; the suffix is localhost by default. Suffix →
Change… shows which sites would be renamed, then Rename N site(s) applies it. Real public TLDs and .local
are refused, and so is a suffix another tool already resolves. Domains you set by hand stay as they are.
.localhost needs no setup on a Mac. Any other suffix, such as .test or .devcatz, uses DevCatz’s own DNS
through /etc/resolver/<tld>: Install resolver for .<tld>… asks for your administrator password once, and
Remove resolver takes it out again. A badge reads *.<tld> resolves or does not resolve yet.
Browsers resolve .localhost by themselves, but Node, PHP, Python and curl on Windows do not, so the card always
offers Add DNS rule for .<tld>…: it starts DevCatz’s DNS on 127.53.0.1:53 and adds Windows DNS rules
(NRPT) for *.<tld> and *.localhost that point there — one administrator prompt. Remove DNS rules undoes it. A
badge reads *.<tld> resolves or does not resolve yet. If another tool already has a rule for the suffix,
DevCatz says so instead of overwriting it: Another tool has a DNS rule (NRPT) for .<tld>. Remove it there first.
When DoCatz, which runs the same DNS, already answers on 127.53.0.1:53, the card says DevCatz uses it
and answers again itself once DoCatz quits.
The full story, with the steps DevCatz shows while it works, is on Sites, domains and HTTPS.
Open with
| Option | Choices |
|---|---|
| Editor | Auto (the first one installed), then Visual Studio Code, Cursor, Zed, WebStorm, PhpStorm, Sublime Text, NovaVisual Studio Code, Cursor, Windsurf, Zed, WebStorm, PhpStorm, Sublime Text, Notepad++ — each with its icon when it is installed |
| Browser | System default, or any browser installed on your computer — used by Open in Browser, the menu bartray and links in DevCatz. If the chosen one is uninstalled later, links fall back to the system default. |
Terminal in a site’s Open ▾ menu needs no setting: it opens Warp, iTerm or Ghostty when one is installed, else Terminalit opens Windows Terminal when it is installed, else a Command Prompt in the site’s folder.
Project
| Section | Options |
|---|---|
| Sites | Start all sites on launch — off by default. When off, only sites with Start automatically in their own settings start. |
| HTTPS certificates | Trust certificate authority…, then Remove from keychainRemove from Windows once it is trusted, and Show ca.crt. A badge reads trusted or not trusted. Firefox uses its own store: import ca.crt there, or set security.enterprise_roots.enabled. |
| Proxy | HTTPS port (8443) and HTTP port (8180), then Apply; the badge says listening or down |
| URLs without a port | Enable clean URLs… / Disable: https://shop.localhost without :8443. launchd forwards [::1]:443 / [::1]:80 to the proxy; your admin password once.Windows’ port proxy (the IP Helper service) forwards [::1]:443 / [::1]:80 to the proxy; administrator approval once. 127.0.0.1 is covered too when no other app uses those ports. |
| Runtime updates | Notify me and Check now for newer patches of PHP, Go, Bun and Node.js |
| Parked folders | Park a folder…, Unpark, a group badge per folder parked as a group, and under each folder the sites you unlinked one by one, marked unlinked, with Bring back |
Trusting the CA, turning clean URLs on or off and the DNS rules each show their steps in place while they run; the list goes away a few seconds after it finishes and stays longer on a failure. The exact steps per platform are on Sites, domains and HTTPS. Every change that touches the system is explained, with its undo, on What DevCatz changes on your computer.
AI
The provider, its key and the feature switches — see AI in DevCatz. The key is kept only on this computer, in the Keychain item Catzoid AIin Windows’ protected storage (DPAPI), for your account only, and shared with the other Catzoid apps; once saved it reads Saved in the macOS KeychainWindows’ protected storage (DPAPI), shared with Catzoid apps and is never shown again.
Database
| Section | Options |
|---|---|
| Services | Every database service, with Starts with DevCatz and Settings… |
| Installed server builds | Each engine and version, where it came from and which services use it, with Show and Remove (a build in use cannot be removed) |
| Defaults | Data folders of new services, Server builds folder, Host in .env lines (local or Docker), and an optional DB domain such as db → db.localhost |
Open logs folder opens the logs; each service logs to logs/db-<id>.log. On Windows services listen on TCP
only, and every engine’s page says where its builds come from. More on Databases.
Updates
DevCatz updates itself from catzoid.com (feed https://catzoid.com/updates/devcatz/).
| Option | What it does |
|---|---|
| Check now | Looks for an update right away |
| Check for updates automatically | 30 seconds after DevCatz starts, then every 6 hours. Nothing downloads until you choose Update now. |
| Notify me | A notification once per version — not for versions you skipped |
| Channel | Stable or Beta (Beta gets new versions earlier; they may have rough edges) |
When an update is ready, What’s New shows the changes with three choices:
- Restart now — stops everything like a quit, updates, and starts your sites again.
- Install when I quit — the update waits for your next quit.
- Skip this version — skips this version.
Check for Updates… in the DevCatz menuHelp menu reads Update Available… while one waits, and the menu bartray menu shows Update to x.y.z…. Updates install for your account, without an administrator prompt, like any other release.
About
- The icon, version and architecture (Apple silicon or Intelx64, or ARM64 on Windows on Arm).
- Links: DevCatz website, Docs, What’s new, GitHub, third-party licences and the GPL-3.0 licence.
- Part of the Catzoid family.
- Details with Copy: the macOSWindows version, the Electron, Chromium and Node.js versions and the data folder — handy for a bug report.
- Check for Updates, Report a bug, Send feedback, and a line to star DevCatz on GitHub if it helps you.
- Uninstall DevCatz… (below).
Report a bug and send feedback
Help → Report a Bug… or Send Feedback…, or the buttons in About.
- Preview what is sent shows the report before it goes.
- Capture this window or Attach a screenshot….
- An email, only if you want a reply.
- Offline? The report is queued and sent later.
Before sending, DevCatz scrubs keys, tokens, KEY=value lines, URL credentials, host names, IP addresses, home paths
and email addresses. Crash dumps are only sent if you turned on Send crash reports.
Uninstall DevCatz
Settings → About → Uninstall DevCatz… removes DevCatz and what it put on your computer. The dialog lists what
goes, then asks you to type DevCatz to confirm.
- Every running site and service is stopped.
- The port forwarding and DNS files (one admin password prompt), the DevCatz Local CA (macOS asks to confirm) and the login item.
- The app: through Homebrew (
brew uninstall --cask devcatz) when it was installed that way, else to the Trash. - Also remove DevCatz’s data moves the data folder to the Trash too.
- Every running site and service is stopped.
- The port forwarding (one administrator prompt) and the DNS rules, the DevCatz Local CA (from your Trusted Root certificates; Windows asks to confirm), the sign-in item and the Path entry.
- The app, with its own uninstaller: DevCatz quits and a small window, Removing DevCatz from this PC, finishes the
job — the app, its shortcuts, its entry in Installed apps and the
devcatz://link. - Also remove DevCatz’s data moves the data folder to the Recycle Bin too, where it stays until you empty it.
- Also remove the shared Catzoid settings deletes the settings shared with DBCatz and DialCatz — leave it off while you still use one of them.
- Your projects stay, and so do database or storage folders you placed outside DevCatz’s data folder.
It cannot be undone. Doing it by hand, or after the app is already gone: Uninstall.
Keyboard shortcuts
| Action | macOS | Windows |
|---|---|---|
| Ask DevCatz (when AI and Ask are on) | ⌘K | Ctrl+K |
| Back / forward | ⌘[ / ⌘] | Ctrl+[ / Ctrl+] |
| Search the sidebar | ⌘F or / |
Ctrl+F or / |
| Clear the search; close a dialog, drawer or closable page | Esc | Esc |
Save (site Settings, Env, Docker file, .gitignore, code editor) |
⌘S | Ctrl+S |
| Commit (Site → Git → Changes) | ⌘↩ | Ctrl+Enter |
| Settings | ⌘, | Ctrl+, (also File menu) |
| Quit | ⌘Q | Ctrl+Q (also File menu) |
Back and forward also work with the mouse’s back and forward buttons and a trackpad swipe. A long press or right-click on the ← / → buttons in the rail lists the recent screens (about 50 are kept while DevCatz runs).
In a code editor
| Action | macOS | Windows |
|---|---|---|
| Find in the file | ⌘F | Ctrl+F |
| Find and replace | ⌘⇧L | Ctrl+Shift+L |
| Next / previous match | ⏎ / ⇧⏎ | Enter / Shift+Enter |
| Replace this one and go to the next | ⏎ (in the replace field) | Enter (in the replace field) |
| Replace all | ⌘⌥⏎ | Ctrl+Alt+Enter |
| Indent | Tab (2 spaces) | Tab (2 spaces) |
In Ask DevCatz and the model picker
| Action | Keys |
|---|---|
| Send / new line / close (Ask DevCatz) | ⏎ / ⇧⏎ / Esc |
| Move / pick / close (AI model picker) | ↑ ↓ / Enter / Esc |
The app menu
- DevCatz: About DevCatz (opens Settings → About), Check for Updates…, Services, Hide, Hide Others, Show All, Quit.
- Edit, View, Window.
- Help: Report a Bug…, Send Feedback…, DevCatz Docs.
The menu bar is hidden; press Alt to show it.
- File: Settings (mod+,), Quit DevCatz (mod+Q).
- Edit, View.
- Help: About DevCatz, Check for Updates…, Report a Bug…, Send Feedback…, DevCatz Docs.
The menu bar (tray) menu is described on Monitoring and the menu bar.
Where DevCatz keeps its data
The data folder
~/Library/Application Support/DevCatz%APPDATA%\DevCatz.
The path is under About → Details.
| Path | Holds |
|---|---|
config.json |
Settings and site configuration. A copy that cannot be read is set aside as config.json.unreadable-<timestamp> before DevCatz starts fresh. |
bin |
The command-line shims: node, npm, npx, corepack, bun, bunx, php, composer, go, gofmt, python, python3, pip, uv, uvx, and every tool from Runtimes → Tools |
node, bun, go, python, php |
Installed runtimes |
tools |
The framework tools from Runtimes → Tools |
php-etc/<version>/conf.d |
Your PHP settings per version |
certs |
The DevCatz Local CA (ca.crt) and its key |
db-services |
Database server builds, data and config |
storage/<engine>, websocket/<kind>, search/<kind> |
Object storage, WebSocket and search services |
mail, whatsapp, gateways |
Caught mail and the gateways’ data |
expose/bin |
Tunnel tools |
git |
Git data |
monitor/history.json |
24 hours of monitoring history |
screenshots |
Site preview screenshots |
run |
PHP-FPM sockets (in /tmp when the path would be too long)Not used for PHP on Windows: its FastCGI workers listen on 127.0.0.1 ports from 9100 up |
logs |
main.log, db-<id>.log, storage-<kind>.log, websocket-<server>.log, search-<engine>.log |
dbcatz/services.json |
Your database services, for DBCatz (only you can read it) |
bridge.json |
Sites, apps and OpenAPI locations for DialCatz — no secrets, only you can read it |
install-id, reports-queue.json |
An anonymous install id and reports waiting to be sent |
Database data is never kept in an Electron folder called databases, so nothing can wipe it by accident.
Outside the data folder
| Path | Holds |
|---|---|
~/Library/Caches/DevCatz |
PHP build toolkits and builds for PECL extensions |
~/.rustup, ~/.cargo |
Rust, when you install it through DevCatz |
~/.local/share/solana |
The Solana CLI |
~/.ssh |
SSH keys you generate in Git |
~/.cloudflared |
The Cloudflare certificate for your own domain in Expose |
~/Library/Application Support/Catzoid/shared.json |
Settings shared with the other cats — see What the cats share |
Secrets live in the Keychain: AI keys in Catzoid AI, Git tokens in Catzoid Git, and the key that encrypts DevCatz’s other secrets (tunnel tokens, the mail forwarding password) in DevCatz Safe Storage.
| Path | Holds |
|---|---|
%LOCALAPPDATA%\Programs\DevCatz |
The app itself (a per-user install) |
%USERPROFILE%\.rustup, %USERPROFILE%\.cargo |
Rust, when you install it through DevCatz (its tools in .cargo\bin) |
%USERPROFILE%\.ssh |
SSH keys you generate in Git |
%USERPROFILE%\.cloudflared |
The Cloudflare certificate for your own domain in Expose |
%APPDATA%\Catzoid\shared.json |
Settings shared with the other cats — see What the cats share |
HKCU\Environment → Path |
The shims folder, while Add to my Path is on |
Secrets — the AI key, Git tokens, database passwords, tunnel tokens — live in Windows’ protected storage (DPAPI), tied to your account.
System changes
Only when you press the button for them:
- the clean-URL LaunchDaemons in
/Library/LaunchDaemons, /etc/resolver/<tld>for a custom domain,- the DevCatz Local CA in your login keychain.
- the port-proxy rules for ports 443 and 80 (
netsh interface portproxy, kept in the registry), - the DNS rules (NRPT) for your suffix and
.localhost, pointing at DevCatz’s DNS on127.53.0.1, - the DevCatz Local CA in your Trusted Root certificates,
- the shims folder in your user Path.
Each one, with its undo: What DevCatz changes on your computer. Removing all of it: Uninstall.
Last updated 2026-11-03