Built-in tools reference
Use this reference to understand tool names shown during a run. It is not a list of switches in the composer: the current Add menu has no Tools selector. Availability depends on the model, conversation mode and runtime. Request the outcome you need, then inspect the actual tool call and result.
Web
| Tool | Purpose | Typical result | Important boundary |
|---|---|---|---|
| WebSearch | Search for current pages by keyword. | Titles, snippets, and source links. | Results are leads, not the full source; open primary pages before relying on important claims. |
| WebFetch | Open and read a specific page. | Page text, structured content, or a read error. | Login walls, bot checks, dynamic pages, and site policy can prevent access. |
A reliable research flow uses WebSearch to find primary sources and WebFetch to read them. For prices, rules, schedules, or “latest” information, state the relevant date and verify the page's publication or update time.
For platform-specific searches, XSearch searches X and RednoteSearch searches Xiaohongshu. They require the corresponding service setup; see Web and social search. A successful general web search does not establish that either signed-in platform search works.
Personal history is not web search
- Recall retrieves saved facts or conversation material. Ask for the original message when verifying a quote or date; a distilled fact is not a verbatim source. Team retrieval follows the current Team memory scope. An unavailable result is not evidence that no record exists.
- ActivityLog retrieves recorded activity reports, recent summaries, or search results when activity recording is enabled. It does not search public websites. See Activity recording.
- Memory can read memory or change durable preferences. Unlike Recall, a write operation changes saved information. Use it for confirmed preferences, not temporary task progress; use the appropriate Team workflow for group memory.
Retrieved personal information can become part of a model request. Check data sharing before requesting private history.
Browser actions
Browser tools operate a page, unlike WebFetch, which retrieves page content. The selected target can be Ghast's built-in browser or Chrome; not every action is supported by both.
| Names in a run | Purpose |
|---|---|
| BrowserOpen, BrowserTabs, BrowserNavigate | Open a URL, inspect tabs, or navigate browser history. |
| BrowserRead, BrowserState, BrowserReadDom | Inspect page text, state or interactive elements. |
| BrowserClick, BrowserType, BrowserScroll | Interact with page controls or move through a page. |
| BrowserScreenshot | Capture the current page. |
| BrowserUpload | Submit a local file through a page's upload control when supported. |
| BrowserEval | Execute page JavaScript; do not assume it is read-only. |
| BrowserBack, BrowserForward, BrowserReload, BrowserClose | Navigate, refresh or close the built-in browser. |
Identify the page and intended action in your request. Clicking, typing, uploading or executing JavaScript can change site data or expose information. Check the selected account and destination before proceeding. Use HTTP(S) addresses for BrowserOpen; serve local project files through a development server.
See the Coding browser panel for opening previews and selecting elements, and Computer Use for desktop-control setup and permissions.
Workspace
| Tool | Purpose | Changes files | Common use |
|---|---|---|---|
| Glob | Find files by path pattern. | No | Locate configuration, tests, or components. |
| Grep | Search text or patterns inside files. | No | Find a function, UI string, setting, or error source. |
| Read | Open file contents. | No | Read implementation, logs, configuration, or documentation. |
| Edit | Apply a precise change to an existing file. | Yes | Fix code, adjust configuration, or update documentation. |
| Write | Create a file or replace its contents. | Yes | Add a document, generate configuration, or intentionally rewrite a file. |
Glob or Grep
- You know the filename or extension but not the location: use Glob.
- You know a function name, label, error, or configuration key: use Grep.
- Once you have candidate files: use Read on the relevant portions.
Edit or Write
You may also see HashlineEdit, which targets line identifiers from a recent file read, or PatchTransaction, which handles a group of add, update, delete, or move operations when available. These are file-changing actions, not previews.
If a run reports stale content or line identifiers, ask Ghast to reread the affected file and reconsider the change. Do not ask it to force an outdated edit over newer work. For a multi-file patch, review every affected path, including deletions and moves. After an error or interruption, inspect the actual files and diff before retrying; do not infer the final workspace state from the action name.
- For a small change to an existing file, prefer Edit so the Diff is easy to review.
- For a new file or an intentional full replacement, use Write.
- A tool name in a plan is not evidence that a file was written. Check the actual call, approval and resulting file.
Code diagnostics and symbol lookup
When these actions appear in a Coding run, they inspect workspace code without editing it:
| Action | What to look for in the result |
|---|---|
| lsp_diagnostics | File diagnostics and whether the returned list was truncated. |
| lsp_definition | The file and position where a symbol is defined. |
| lsp_references | Locations that refer to the selected symbol. |
| lsp_hover | Type information or documentation for the symbol at a position. |
Ask for the outcome rather than writing tool arguments: “Find where this function is defined and used; do not change files.” Identify the file and symbol. If you provide a precise position, lines and columns start at 1.
Read the result status before interpreting an empty list. Skipped, unavailable, timeout, and error do not mean the code has no problems or references. Availability depends on the file language and the language service in your environment. If lookup is unavailable, ask Ghast to inspect the file and use text search, and distinguish those matches from language-aware references.
A successful diagnostic result is not a full project test. Run the project's build, type checks, and relevant tests separately before accepting a change.
Shell
| Tool | Purpose | Lifecycle | Risk |
|---|---|---|---|
| Bash | Run a shell command in the workspace. | Starts a command; a long process can remain active. | Commands can modify, upload, or delete data. Check the working directory and arguments. |
| BashOutput | Read new output from a running shell session. | Does not start another command. | Output can contain local paths, logs, or sensitive values. |
| KillBash | Stop a running shell session. | Sends a termination action to the target process. | Stopping a build, migration, or write process can leave intermediate state. |
For long-running commands, start with Bash, inspect progress with BashOutput, and use KillBash only after identifying the correct process. Closing the conversation does not by itself prove that a background process stopped; confirm in the Terminal panel or operating system.
Planning and workflows
| Tool | Purpose | When it is useful |
|---|---|---|
| Task | Delegate part of the work to a focused agent profile. | A subtask can investigate, implement, or review independently. |
| TodoWrite | Track multi-step work inside the conversation. | The task spans files, phases, or several acceptance checks. |
| EnterPlanMode | Pause direct execution and draft an implementation plan. | The scope is broad, a key choice is unresolved, or you want to review the plan first. |
| ExitPlanMode | Leave planning and return to execution. | The plan is accepted and work can begin. |
| Skill | Load an enabled skill that matches the task. | A reusable workflow, format, or specialist instruction is relevant. |
| SlashCommand | Run a registered command workflow. | A plugin or agent provides a command invoked with /. |
| ToolSearch | Discover an appropriate tool from the available capability set. | Many dynamic tools exist or you do not know the exact tool name. |
Questions and run status
Other run actions help you interpret progress:
- AskUserQuestion presents selectable answers and, when offered, a custom answer. Use Next to move through questions and Submit to send the final response. Skip is not approval of a proposed action. An answered, skipped, or expired card is not a new pending request.
- ContextRemaining reads an estimate of usable context during an active generation. It does not compact the conversation or purchase more capacity; an unavailable estimate is not zero remaining space.
- AttemptCompletion presents a final result. Its presence does not prove that tests passed, files were delivered, or an external change succeeded. Check the stated outcome and evidence.
Task versus Team
Task is delegation inside one run. Team is Ghast's surface for coworkers, DMs, groups, work items, and independent memory. Use Team for persistent collaboration and visible work history; use Task for a focused subtask within the current request.
TaskOutput reads the status and messages of an existing delegated task. It does not start a replacement task. A still-running result means you should continue tracking that task; task creation and polling are not completion evidence.
Skill versus tool
A skill is reusable working guidance; a tool is an executable action. Loading a Skill can add its required tools to a run. Choosing one Skill does not restrict the run to a fixed tool allowlist. Command approval, operating-system access and remote account permissions still apply. See Choose and use skills.
InstallSkill creates or imports a Skill from supplied instructions, a supported URL, or a local source. Check the reported name, source, destination and path afterward in the Skills library. Personal installation is the default outside Team; project installation needs a workspace, and Team installation uses the teammate's workspace. A download alone is not a successful import, and successful installation is not proof the Skill loads or performs its workflow. Review its instructions before trying it.
Settings and conversation actions
These names distinguish inspection from changes when they appear in a run:
| Action | Effect |
|---|---|
| ReadSettings | Reads the current Ghast settings. |
| UpdateSettings | Saves settings changes; it is not a draft in the Settings window. |
| ReadConversation | Reads a conversation and its messages. |
| CreateConversation | Creates a new conversation. Creation alone does not mean a task has run there. |
| DeleteConversation | Deletes the specified conversation. Do not use it as a diagnostic step. |
For troubleshooting, ask Ghast to inspect and explain first, without changing settings or deleting conversations. Before a requested change, identify the exact setting or conversation and the intended result. After a settings update, reopen the relevant Settings page to verify it; discarding a later Settings draft does not undo a tool's saved change. Review conversation targets carefully before deletion and retain any material you need.
Team messages and requested reminders
TeamSendMessage contacts a colleague within an active Team request. A question expects an answer; an FYI does not. A queued result does not mean the colleague has read the message or completed work. This action is not task delegation and does not grant the recipient tools. Identify the colleague and topic clearly; do not ask Ghast to forward unrelated private conversation history.
TeamFollowUp schedules or cancels a requested Team reminder. State the future date, time, time zone and reminder content explicitly; when cancelling, identify the existing reminder. Check the returned time and content. A scheduling result confirms the request was recorded, not that the future reminder has already been delivered. These actions require an active Team task and are not general Chat commands. See Team work items.
Model-assisted review
When available, ReviewWithModels asks the selected or configured models to assess a bounded question, relevant evidence and review criteria. It can combine their answers into a recommendation. Check which models actually responded, failures and disagreements; a combined answer is not unanimous approval.
ReviewInIsolation reviews a supplied diff or workspace file list using the main conversation's model, without the main conversation history. It returns findings with file, line, severity and summary. Include the relevant constraints in the review request because the separate context does not inherit your whole discussion.
Both involve additional model requests and can incur usage charges. Only include material you intend to send to those providers. “Isolation” means a separate review context, not offline processing. Neither action applies fixes or replaces tests and human judgment.
MCP tools
Connected MCP servers provide service-specific tools. Their names and descriptions come from the server and can change between versions. Before using them:
- confirm the server and connected account;
- specify which actions the task requires and which changes are prohibited;
- inspect the first call's parameters;
- verify writes, sends, purchases, publications, and deletions in the destination service.
If a server update adds or changes tool descriptions, Ghast may require review before use continues. Do not infer side effects from the tool name alone.
Common combinations
| Goal | Suggested starting set |
|---|---|
| Read project structure | Glob + Grep + Read |
| Change and verify code | Glob + Grep + Read + Edit + Write + Bash |
| Run a persistent development server | Bash + BashOutput + KillBash |
| Research current information | WebSearch + WebFetch |
| Review a plan before execution | EnterPlanMode + ExitPlanMode + TodoWrite |
| Apply a specialist workflow | Skill, plus only the tools that skill actually needs |
| Operate an external service | Necessary tools from one MCP server; begin with a read-only query |
These are not permission presets. Before every run, still confirm the workspace, command approval mode, and remote account.