The fork shipped renamed binary/bundle but the product name "Zed" was still
shown everywhere in the UI. Rename the display name to "Joule" (tagline
"Energy-metered agentic coding") while preserving every load-bearing reference.
Display renames (105 .rs files): release_channel display_name, welcome +
onboarding + ai_onboarding, macOS app menu (About/Hide/Quit), window titles,
About panel, settings UI, notifications, update/collab messages, system specs.
Bundle display name (crates/zed/Cargo.toml) -> "Joule" so CFBundleName / the
menu-bar name and the .app are "Joule" (identifier science.transaction.AgentJoule
and the agent-joule binary are unchanged).
Docs (223 .md): product prose Zed -> Joule, fence-aware (code blocks untouched).
Embedded assets (12 JSONC): // comments only.
Legal (4 files): product -> Joule, entity "Zed Industries, Inc." -> "Transaction
Science, Inc.", domain zed.dev -> openie.dev. NOTE: these are structurally Zed's
inherited terms and need a real legal review, not just a rename.
Deliberately PRESERVED (renaming would break the app): font aliases ("Zed Plex
Sans"/".ZedMono" in text_system + assets), HTTP header names (X-Zed-Predict-*),
zed:: action ids, app/bundle identifiers (dev.zed.Zed*, Zed-Editor-* product ids),
zed.dev URLs, ZED_* env vars, crate/package names, "Zed Industries" in non-legal
attribution, and the {zed,Zed} config-dir glob.
Signed + notarized + stapled as Joule.app, installed to /Applications, verified
(Gatekeeper: Notarized Developer ID, FH93XC2VRR). Caveat: test-code string
literals were renamed too, so some `cargo test` assertions may need updating.
Co-Authored-By: Claude Opus 4.8 <[email protected]>
3.5 KiB
| title | description |
|---|---|
| Windows & Projects | How Joule handles multiple projects in windows, including the threads sidebar and options for opening in new windows. |
Windows & Projects
Joule lets you work on multiple projects in a single window. Projects appear in the threads sidebar on the left, and you can switch between them while keeping your context intact.
How Projects Open
By default, when you open a folder in Joule, it opens as a new project in your current window's threads sidebar rather than creating a new window. This keeps related work together and preserves your agent threads and layout.
| Action | Result |
|---|---|
| File > Open | Opens in current window (threads sidebar) |
| File > Open Recent | Opens in current window (threads sidebar) |
| Drag folder to Joule | Opens in current window (threads sidebar) |
zed ~/project |
Opens in current window (threads sidebar) |
Working with Multiple Projects
When you have multiple projects open:
- Click a project header to collapse or expand its threads; Cmd+click (macOS) or Ctrl+click (Linux/Windows) to switch to that project
- Each project has its own file tree, git state, and search scope
- Agent threads are tied to their project context
- Your workspace layout (splits, tabs) is preserved per project
Think of projects in the threads sidebar like browser tabs, but for repositories.
Opening in a New Window
Sometimes you want a completely separate window. Here's how:
From Open Recent
When using File > Open Recent ({#kb projects::OpenRecent}):
- Enter or click opens in the current window (threads sidebar)
- Cmd+Enter or Cmd+click (macOS) / Ctrl+Enter or Ctrl+click (Linux/Windows) opens in a new window
From the CLI
Use the -n flag to force a new window:
zed -n ~/projects/other-project
Other CLI options for controlling window behavior:
| Flag | Behavior |
|---|---|
-n, --new |
Always open in a new window |
-a, --add |
Add to the current window's threads sidebar |
-r, --reuse |
Replace the current project in the existing window |
See CLI Reference for full details.
Via Settings
You can change the default CLI behavior with the cli_default_open_behavior setting:
{
"cli_default_open_behavior": "new_window"
}
Options:
existing_window(default): Open folders in the current window's threads sidebarnew_window: Open folders in a new window
This setting affects CLI and double-click behavior, not the File > Open menu.
Adding Folders to a Project
If you want to add a folder to your current project (not as a separate project in the threads sidebar), you have several options:
- File menu: File > Add Folder to Project
- Project panel: Right-click in the project panel and choose "Add Folders to Project"
- Open Recent: Select a recent project and click the "Add Folder to this Project" button
This adds the folder as an additional root in your current project's file tree, similar to VS Code's multi-root workspaces.
See Also
- Threads Sidebar: Managing threads across projects
- Getting Started: Essential commands and setup
- VS Code Migration: How Joule's project model differs from VS Code