Where apps hide your files
Zed's settings.json, keymap and custom themes sit in the hidden ~/.config/zed folder, while its extensions and database live in ~/Library/Application Support/Zed. Here is each path and how to open it.
Zed keeps its settings and keymap as JSON files in a hidden config folder, not in ~/Library:
~/.config/zed/settings.json
~/.config/zed/keymap.json
Zed's key bindings documentation gives ~/.config/zed/keymap.json for macOS and Linux, and its themes documentation gives ~/.config/zed/themes. The settings.json path comes from the paths module in Zed's open-source code, which defines the config folder as ~/.config/zed on macOS. Unlike on Linux, the Mac build does not follow $XDG_CONFIG_HOME, so moving that variable does not move Zed's settings. A missing file on a fresh install is normal: Zed uses its defaults until you change something.
The things Zed downloads and the state it keeps are in the other usual place:
~/Library/Application Support/Zed
You rarely need to hunt for the folder. In recent versions of Zed, the Zed > Settings submenu has Open Settings File, Open Keymap File and Open Project Settings File, and the command palette (⇧⌘P) has the same actions: zed: open settings file and zed: open keymap file. ⌘, opens the graphical settings editor and ⌥⌘, opens settings.json itself. Older versions bound ⌘, straight to the file, so if a shortcut differs, use the menu.
From Finder, press ⇧⌘G and paste ~/.config/zed. From Terminal:
open ~/.config/zed
ls -la ~/.config/zed
The ls output shows names, sizes and permissions only.
| Path | What it is |
|---|---|
~/.config/zed/settings.json | Your user settings |
~/.config/zed/keymap.json | Your own key bindings |
~/.config/zed/themes/ | Custom theme files, each a .json file |
~/Library/Application Support/Zed/extensions/ | Installed extensions (the installed folder inside it lists them) |
~/Library/Application Support/Zed/db/ | Zed's internal database folder |
~/Library/Logs/Zed/ | Log files (Zed.log, plus Zed.log.old) |
~/.config/zed/tasks.json, snippets/ | Your own tasks and snippets, if you make any |
The Library rows and the tasks and snippets row come from Zed's source for the data, database, logs and config folders, and the extensions path is confirmed by Zed's extensions documentation, which shows listing ~/Library/Application Support/Zed/extensions/installed/. Leave the db folder alone: it is Zed's own state, and nothing in its docs offers it for hand editing.
settings.json is the user-level file, so it applies to every project. A project can add its own file in the project folder:
<project>/.zed/settings.json
Zed's settings reference says project settings extend the user or parent configuration value for options that merge. That file sits inside the project, so it goes into version control with it unless you ignore the .zed folder.
Before you hand edit, copy the file:
cp ~/.config/zed/settings.json ~/Desktop/zed-settings.backup.json
Make the change, save, and watch for an error marker in the editor. To undo, copy the backup back over the file. If a change seems ignored, quit and reopen Zed.
The keymap documentation says keymap.json lives at ~/.config/zed/keymap.json on macOS and Linux. Press ⌘K then ⌘S (the docs write cmd-k cmd-s), or choose Zed > Settings > Open Keymap, to open the keymap editor, which lists every binding and writes your changes into keymap.json, or run the action zed: open keymap file to edit the JSON.
Zed's theme docs say to put your own themes in ~/.config/zed/themes as .json files, for example my-cool-theme.json. To choose one, press ⌘K then ⌘T, or choose Zed > Settings > Select Theme…, to open the theme selector. Moving up and down previews each theme, and pressing Return saves the choice to your settings file.
Many themes come as extensions instead. Those are installed through Zed's Extensions page (⇧⌘X, or the action zed: extensions), and the files land under ~/Library/Application Support/Zed/extensions/.
Zed's docs list installed extensions at ~/Library/Application Support/Zed/extensions/installed/. Install and remove them from the Extensions page rather than by deleting folders, so Zed's own record of what is installed stays correct. The folder holds the files Zed runs those extensions from, so if you ever remove one by hand, quit Zed first.
Your own work is small: settings.json, keymap.json and any custom files in themes. Copy the ~/.config/zed folder to the same place on the new Mac after installing Zed. Extensions are not in that folder, so reinstall them from the Extensions page. Or list them in the auto_install_extensions setting of settings.json (an object of extension IDs set to true), and Zed installs them on the new Mac for you.
A dotfiles repository handles this well, since the path is the same on Linux.
.config starts with a dot, so Finder and Spotlight searches leave it out, and the other folders are inside ~/Library, which those searches also skip.
Typing keymap.json or settings.json into Everywhere lists every copy at once: the user file in ~/.config/zed, and any .zed/settings.json inside a project, which you may have forgotten you created. Other editors use the same names, so look for zed in each result's folder. The .config folder and Application Support are in the normal scan; projects kept in Documents or Desktop show up once Everywhere has Full Disk Access. It matches file names only, not the settings inside. Press ⌘T on a result to open a Terminal in its folder.
At ~/.config/zed/settings.json. Open it with Zed > Settings > Open Settings File, or ⌥⌘, in recent versions; a project can add its own .zed/settings.json.
At ~/.config/zed/keymap.json. Run the zed: open keymap file action from the command palette, or press ⌘K then ⌘S for the keymap editor.
In ~/Library/Application Support/Zed/extensions/, with installed ones listed in an installed folder inside it. Install and remove them from Zed's Extensions page.
In ~/.config/zed/themes/ as .json files. Press ⌘K then ⌘T in Zed to open the theme selector.
Everywhere keeps track of every file on your Mac — including the folders Spotlight hides and drives you have unplugged. Free for a day, then $19 once.
Version 2.20.3 · macOS 13+ · 4.7 MB · notarised