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]>
4 KiB
title: AI Agent Tools - Joule description: Built-in tools for Joule's AI agent including file editing, code search, terminal commands, web search, and diagnostics.
Tools
Joule's built-in agent has access to these tools for reading, searching, and editing your codebase. These tools are used in the Agent Panel during conversations with AI agents.
You can configure permissions for tool actions, including situations where they are automatically approved, automatically denied, or require your confirmation on a case-by-case basis. See Tool Permissions for the list of permission-gated tools and details.
To add custom tools beyond these built-in ones, see MCP servers.
Read & Search Tools
diagnostics
Gets errors and warnings for either a specific file or the entire project, useful after making edits to determine if further changes are needed. When a path is provided, shows all diagnostics for that specific file. When no path is provided, shows a summary of error and warning counts for all files in the project.
fetch
Fetches a URL and returns the content as Markdown. Useful for providing docs as context.
find_path
Quickly finds files by matching glob patterns (like **/*.js), returning matching file paths alphabetically.
grep
Searches file contents across the project using regular expressions, preferred for finding symbols in code without knowing exact file paths.
list_directory
Lists files and directories in a given path, providing an overview of filesystem contents.
read_file
Reads the content of a specified file in the project, allowing access to file contents.
search_web
Searches the web for information, providing results with snippets and links from relevant web pages, useful for accessing real-time information.
Edit Tools
copy_path
Copies a file or directory recursively in the project, more efficient than manually reading and writing files when duplicating content.
create_directory
Creates a new directory at the specified path within the project, creating all necessary parent directories (similar to mkdir -p).
delete_path
Deletes a file or directory (including contents recursively) at the specified path and confirms the deletion.
edit_file
Edits files by replacing specific text with new content.
move_path
Moves or renames a file or directory in the project, performing a rename if only the filename differs.
write_file
Creates a new file or overwrites an existing file with completely new contents.
terminal
Executes shell commands and returns the combined output, creating a new shell process for each invocation.
Other Tools
spawn_agent
Spawns a subagent with its own context window to perform a delegated task. Useful for running parallel investigations, completing self-contained tasks, or performing research where only the outcome matters. Each subagent has access to the same tools as the parent agent.
See Also
- Agent Panel — Where you interact with AI agents
- Tool Permissions — Configure which tools require approval
- MCP Servers — Add custom tools via Model Context Protocol