Piebald provides a set of built-in tools that are available to all models.
ReadFile: Reads a file from the file system. Does not add line prefixes. Auto-approved for file paths in the current project.
WriteFile: Writes the given contents to a file on disk. Overwrite existing files, if any. Auto-approved in auto-accept edits mode for file paths in the current project.
EditFile: Replaces a given old string with a given new string. Auto-approved in auto-accept edits mode for file paths in the current project.
Glob: Search for file paths via glob patterns, e.g. **/*.ts.
Grep: Search for text in a folder recursively using regular expressions. Accepts a variety of ripgrep-like options.
WebFetch: Returns the text content of page at the given URL.
WebSearch: Searches the web for the given query using the configured search service.
RunTerminalCommand: Runs the given terminal command. Uses sh on macOS and Linux and cmd /C on Windows by default.
TodoWrite: Updates the current todo list for the chat.
ProposePlanToUser: Prompts you to exit plan mode by displaying the given plan text as markdown.
AskUserQuestion: Allows the model to ask you any number of questions with one or more answers per question.
GetGoal: Gets the objective and status of the current goal.
SearchChats: Allows the model to search the user’s past chats for a specific query. Supports filtering by role (user or AI), searching within a date range, searching by regex, and more.
Configuring the shell to be used for command execution
Internally, the RunTerminalCommand tool executes the given command using sh -c on UNIX systems (macOS and Linux) and cmd.exe /C on Windows. However, you can change the default shell to a preset or a custom command.Go to Settings → Built-in Tools and select a preset for Terminal Shell. The default presets are:UNIX:
Bourne Shell (/bin/sh)
Bash (/bin/bash)
Zsh (/bin/zsh)
Windows
Command Prompt (cmd.exe)
Windows PowerShell
Git Bash (MinGW)
Git for Windows must be installed in order to use Git Bash in Piebald. Download it from gitforwindows.org.
You can also specify a custom shell, which is useful when you want to use a shell not explicitly mentioned above. For example, if you have custom aliases in a shell like Fish.To use a custom shell, set Terminal Shell to Custom… and then enter each individual argument required to invoke the shell with a command. Most UNIX shells accept a -c argument, e.g. fish -c "...". Use {command} as the last argument.
Do not wrap the {command} argument in quotes unless you’re using a custom shell that requires it. When you use a custom shell, Piebald passes each argument to the shell directly without needing to quote arguments.
We plan to automatically detect installed shells so you won’t have to go the custom route for the majority of cases.
Available in Piebald Basic (Free)When the model runs a terminal command, Piebald executes the command in an integrated terminal instance embedded in the app. This means that interactive commands and commands that output colors and other ANSI escape codes are supported.When the command is interactive (i.e. requires user interaction/input like npm init, sudo commands, etc.), you can enter input and navigate options directly inside the tool call UI. This opens interesting possibilities, including running full REPLs like node, or even TUIs like claude!Terminal sessions are not currently preserved across multiple terminal commands. For example, if the model sets a shell variable in one command, the next command will not be able to echo it. This is a limitation that we plan on removing in the future.
Many commands return lots of output—compiling large projects, running large test suites, installing applications, etc. Instead of returning all this output directly to the LLM, the output is truncated to the first 10,000 and last 10,000 characters, as these windows usually contain the most important, useful information.
Available in Piebald ProWhen the model proposes a plan, it can be convenient to copy the plan to your clipboard to paste into a new chat, share to a teammate, or save to a file. With Piebald Pro, plans proposed by the AI have a copy button () that will copy the markdown contents of the plan to your clipboard:
By default, the WebSearch tool uses the free web search service Exa. However, if you’ve hit your Exa rate limits or you’re not satisfied with the results from Exa web searches, you can change the search service to DuckDuckGo by setting Settings → Web Search → Search Backend to DuckDuckGo.
Was this page helpful?
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Piebald","colors":{"primary":"#FF8400","light":"#FF8400","dark":"#FF8400"},"logo":{"light":"https://mintcdn.com/piebald/7sqE5ab_kWnS1Beo/imgs/Piebald_wordmark_light.svg?fit=max\u0026auto=format\u0026n=7sqE5ab_kWnS1Beo\u0026q=85\u0026s=c3afbd2cabe52e57a166952fb8c76669","dark":"https://mintcdn.com/piebald/7sqE5ab_kWnS1Beo/imgs/Piebald_wordmark_dark.svg?fit=max\u0026auto=format\u0026n=7sqE5ab_kWnS1Beo\u0026q=85\u0026s=119356f935df698ef5b56302740d4172","href":"https://piebald.ai"},"favicon":"https://mintcdn.com/piebald/RlOKioKgaNm8MRAd/favicon.svg?fit=max\u0026auto=format\u0026n=RlOKioKgaNm8MRAd\u0026q=85\u0026s=da3c4ec0318133a48f93b27efff702f7","background":{"decoration":"gradient"},"navbar":{"links":[{"icon":{"style":"brands","name":"discord","library":"fontawesome"},"href":"https://piebald.ai/discord","label":"Discord","type":"discord"}],"primary":{"type":"button","label":"Download","href":"https://piebald.ai/downloads"}},"icons":{"library":"lucide"},"integrations":{"posthog":{"apiKey":"phc_4oFoLhuEV0iuVOyRC9eMmiPIhz1JJCEyL6fVHJwB9N5","apiHost":"https://us.i.posthog.com","sessionRecording":false}},"contextual":{"options":["copy","view",{"title":"Ask on Discord","description":"Ask the Piebald devs and community","icon":"discord","href":"https://piebald.ai/discord"},{"title":"Share on X","description":"Share this doc on X","icon":"x-twitter","href":{"base":"https://x.com/intent/tweet","query":[{"key":"text","value":"Check out this page from Piebald's docs: $page"}]}},"chatgpt","claude","perplexity"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"piebald","hasAudioNarration":false,"actualSubdomain":"piebald","customDomains":["docs.piebald.ai"],"gitSource":{"type":"github","owner":"piebald-ai","repo":"piebald-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae0ca1cbd7692f0e3bf2755","collectionId":"1d9037f7-c992-4ab5-b86e-63cf5e981376","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae0ca1cbd7692f0e3bf2755"},"feedback":{"thumbs":true,"edits":false,"issues":false,"contextualFeedback":{"allowEmail":true}},"entitlements":{},"buildId":"6ae0ca1cbd7692f0e3bf2755","clientVersion":"0.0.4064","searchFilterCounts":[{"language":"default","tag":"Features","count":31},{"language":"default","tag":"Chat experience","count":9},{"language":"default","tag":"Agentic","count":8},{"language":"default","tag":"General","count":6},{"language":"default","tag":"Configuration","count":6},{"language":"default","tag":"Development experience","count":6},{"language":"default","tag":"Providers","count":6},{"language":"default","tag":"Management","count":4},{"language":"default","tag":"Managing chats","count":4},{"language":"default","tag":"Troubleshooting","count":2}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":false},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"features/agentic/builtin-tools","slug":"/features/agentic/builtin-tools","pageMetadata":{"title":"Builtin tools","description":null,"href":"/features/agentic/builtin-tools"},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Badge,Heading,Icon,OptimizedImage,Warning}=_components;if(!Badge)_missingMdxReference(`Badge`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Icon)_missingMdxReference(`Icon`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Piebald provides a set of built-in tools that are available to all models.`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`ReadFile`}),`: Reads a file from the file system. Does not add line prefixes. Auto-approved for file paths in the current project.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`WriteFile`}),`: Writes the given contents to a file on disk. Overwrite existing files, if any. Auto-approved in auto-accept edits mode for file paths in the current project.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`EditFile`}),`: Replaces a given old string with a given new string. Auto-approved in auto-accept edits mode for file paths in the current project.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`Glob`}),`: Search for file paths via glob patterns, e.g. `,_jsx(_components.code,{children:`**/*.ts`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`Grep`}),`: Search for text in a folder recursively using regular expressions. Accepts a variety of `,_jsx(_components.a,{href:`https://github.com/BurntSushi/ripgrep`,children:`ripgrep`}),`-like options.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`WebFetch`}),`: Returns the text content of page at the given URL.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`WebSearch`}),`: Searches the web for the given query using the configured search service.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`RunTerminalCommand`}),`: Runs the given terminal command. Uses `,_jsx(_components.code,{children:`sh`}),` on macOS and Linux and `,_jsx(_components.code,{children:`cmd /C`}),` on Windows by default.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`TodoWrite`}),`: Updates the current todo list for the chat.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`ProposePlanToUser`}),`: Prompts you to exit plan mode by displaying the given plan text as markdown.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`AskUserQuestion`}),`: Allows the model to ask you any number of questions with one or more answers per question.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`LaunchSubagent`}),`: Launches a `,_jsx(_components.a,{href:`/features/agentic/subagents`,children:`subagent`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`CreateGoal`}),`: Allows the model to create a `,_jsx(_components.a,{href:`/features/agentic/goals`,children:`goal`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`UpdateGoal`}),`: Allows the model to update its goal.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`GetGoal`}),`: Gets the objective and status of the current goal.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`SearchChats`}),`: Allows the model to search the user’s past chats for a specific query. Supports filtering by role (user or AI), searching within a date range, searching by regex, and more.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`ListMcpResources`}),`: Lists all `,_jsx(_components.a,{href:`https://modelcontextprotocol.io/specification/latest/server/resources`,children:`MCP resources`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`ReadMcpResource`}),`: Reads an MCP resource.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`runterminalcommand`,children:_jsx(_components.code,{children:`RunTerminalCommand`})}),`\n`,_jsx(Heading,{level:`3`,id:`configuring-the-shell-to-be-used-for-command-execution`,children:`Configuring the shell to be used for command execution`}),`\n`,_jsxs(_components.p,{children:[`Internally, the `,_jsx(_components.code,{children:`RunTerminalCommand`}),` tool executes the given command using `,_jsx(_components.code,{children:`sh -c`}),` on UNIX systems (macOS and Linux) and `,_jsx(_components.code,{children:`cmd.exe /C`}),` on Windows. However, you can change the default shell to a preset or a custom command.`]}),`\n`,_jsxs(_components.p,{children:[`Go to `,_jsx(_components.strong,{children:`Settings → Built-in Tools`}),` and select a preset for `,_jsx(_components.strong,{children:`Terminal Shell.`}),` The default presets are:`]}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`UNIX:`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Bourne Shell (`,_jsx(_components.code,{children:`/bin/sh`}),`)`]}),`\n`,_jsxs(_components.li,{children:[`Bash (`,_jsx(_components.code,{children:`/bin/bash`}),`)`]}),`\n`,_jsxs(_components.li,{children:[`Zsh (`,_jsx(_components.code,{children:`/bin/zsh`}),`)`]}),`\n`]}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Windows`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Command Prompt (cmd.exe)`}),`\n`,_jsx(_components.li,{children:`Windows PowerShell`}),`\n`,_jsx(_components.li,{children:`Git Bash (MinGW)`}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Git for Windows must be installed in order to use Git Bash in Piebald. Download it from `,_jsx(_components.a,{href:`https://gitforwindows.org/`,children:`gitforwindows.org`}),`.`]}),`\n`,_jsx(Heading,{level:`4`,id:`using-a-custom-shell`,children:`Using a custom shell`}),`\n`,_jsx(_components.p,{children:`You can also specify a custom shell, which is useful when you want to use a shell not explicitly mentioned above. For example, if you have custom aliases in a shell like Fish.`}),`\n`,_jsxs(_components.p,{children:[`To use a custom shell, set `,_jsx(_components.strong,{children:`Terminal Shell`}),` to `,_jsx(_components.strong,{children:`Custom…`}),` and then enter each individual argument required to invoke the shell with a command. Most UNIX shells accept a `,_jsx(_components.code,{children:`-c`}),` argument, e.g. `,_jsx(_components.code,{children:`fish -c \"...\"`}),`. Use `,_jsx(_components.code,{children:`{command}`}),` as the last argument.`]}),`\n`,_jsxs(Warning,{children:[_jsxs(_components.strong,{children:[`Do not wrap the `,_jsx(_components.code,{children:`{command}`}),` argument in quotes`]}),` unless you’re using a custom shell that requires it. When you use a custom shell, Piebald passes each argument to the shell directly without needing to quote arguments.`]}),`\n`,_jsx(_components.p,{children:`We plan to automatically detect installed shells so you won’t have to go the custom route for the majority of cases.`}),`\n`,_jsx(Heading,{level:`3`,id:`live-interactive-terminal-commands`,children:`Live, interactive terminal commands`}),`\n`,_jsx(Badge,{color:`blue`,children:`Available in Piebald Basic (Free)`}),`\n`,_jsx(_components.p,{children:`When the model runs a terminal command, Piebald executes the command in an integrated terminal instance embedded in the app. This means that interactive commands and commands that output colors and other ANSI escape codes are supported.`}),`\n`,_jsxs(_components.p,{children:[`When the command is interactive (i.e. requires user interaction/input like `,_jsx(_components.code,{children:`npm init`}),`, `,_jsx(_components.code,{children:`sudo`}),` commands, etc.), you can enter input and navigate options directly inside the tool call UI. This opens interesting possibilities, including running full REPLs like `,_jsx(_components.code,{children:`node`}),`, or even TUIs like `,_jsx(_components.code,{children:`claude`}),`!`]}),`\n`,_jsx(`video`,{src:`https://mintcdn.com/piebald/4FtGqNeaL7sgvJi4/imgs/live_terminal_commands.mp4?fit=max\u0026auto=format\u0026n=4FtGqNeaL7sgvJi4\u0026q=85\u0026s=8162ef1d38f772d7bdc69df7cf65a0af`,name:`live_terminal_commands.mp4`,controls:true,\"data-path\":`imgs/live_terminal_commands.mp4`,children:`Video showing live terminal commands`}),`\n`,_jsxs(_components.p,{children:[`Terminal sessions are not currently preserved across multiple terminal commands. For example, if the model sets a shell variable in one command, the next command will not be able to `,_jsx(_components.code,{children:`echo`}),` it. This is a limitation that we plan on removing in the future.`]}),`\n`,_jsx(Heading,{level:`3`,id:`command-output-is-truncated`,children:`Command output is truncated`}),`\n`,_jsx(_components.p,{children:`Many commands return lots of output—compiling large projects, running large test suites, installing applications, etc. Instead of returning all this output directly to the LLM, the output is truncated to the first 10,000 and last 10,000 characters, as these windows usually contain the most important, useful information.`}),`\n`,_jsx(Heading,{level:`2`,id:`proposeplantouser`,children:_jsx(_components.code,{children:`ProposePlanToUser`})}),`\n`,_jsx(Heading,{level:`3`,id:`copying-plans-to-clipboard`,children:`Copying plans to clipboard`}),`\n`,_jsxs(Badge,{color:`green`,children:[`Available in `,_jsx(_components.a,{href:`https://piebald.ai/pricing`,children:`Piebald Pro`})]}),`\n`,_jsxs(_components.p,{children:[`When the model proposes a plan, it can be convenient to copy the plan to your clipboard to paste into a new chat, share to a teammate, or save to a file. With `,_jsx(_components.a,{href:`https://piebald.ai/pricing`,children:`Piebald Pro`}),`, plans proposed by the AI have a copy button (`,_jsx(Icon,{icon:`copy`}),`) that will copy the markdown contents of the plan to your clipboard:`]}),`\n`,_jsx(OptimizedImage,{className:`mint-shadow-md mint-rounded-xl`,alt:`Screenshot of a plan with the copy button circled`,src:`https://mintcdn.com/piebald/sDAg3NkddSXbITtn/imgs/copying_plans.png?fit=max\u0026auto=format\u0026n=sDAg3NkddSXbITtn\u0026q=85\u0026s=807ce9ef9a42ca95ed65d9f789420973`,\"data-og-width\":`1380`,width:`1380`,\"data-og-height\":`265`,height:`265`,\"data-path\":`imgs/copying_plans.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/piebald/sDAg3NkddSXbITtn/imgs/copying_plans.png?w=280\u0026fit=max\u0026auto=format\u0026n=sDAg3NkddSXbITtn\u0026q=85\u0026s=eac5421652bcf743d1db080776bb0ea0 280w, https://mintcdn.com/piebald/sDAg3NkddSXbITtn/imgs/copying_plans.png?w=560\u0026fit=max\u0026auto=format\u0026n=sDAg3NkddSXbITtn\u0026q=85\u0026s=0611007b5dd6c385f00666809b16d060 560w, https://mintcdn.com/piebald/sDAg3NkddSXbITtn/imgs/copying_plans.png?w=840\u0026fit=max\u0026auto=format\u0026n=sDAg3NkddSXbITtn\u0026q=85\u0026s=3a7f83d4a8ff8caea411d76851831596 840w, https://mintcdn.com/piebald/sDAg3NkddSXbITtn/imgs/copying_plans.png?w=1100\u0026fit=max\u0026auto=format\u0026n=sDAg3NkddSXbITtn\u0026q=85\u0026s=d4d849fa6ccd5f4067c5a128527f4f94 1100w, https://mintcdn.com/piebald/sDAg3NkddSXbITtn/imgs/copying_plans.png?w=1650\u0026fit=max\u0026auto=format\u0026n=sDAg3NkddSXbITtn\u0026q=85\u0026s=44ba7e67b1ddde2e43ce598dcf0f26cc 1650w, https://mintcdn.com/piebald/sDAg3NkddSXbITtn/imgs/copying_plans.png?w=2500\u0026fit=max\u0026auto=format\u0026n=sDAg3NkddSXbITtn\u0026q=85\u0026s=44311061b599154e9ac7de6fcf3eb511 2500w`}),`\n`,_jsx(Heading,{level:`2`,id:`websearch`,children:_jsx(_components.code,{children:`WebSearch`})}),`\n`,_jsx(Heading,{level:`3`,id:`using-duckduckgo-for-web-search`,children:`Using DuckDuckGo for web search`}),`\n`,_jsxs(_components.p,{children:[`By default, the `,_jsx(_components.code,{children:`WebSearch`}),` tool uses the free web search service `,_jsx(_components.a,{href:`https://exa.ai/`,children:`Exa`}),`. However, if you’ve hit your Exa rate limits or you’re not satisfied with the results from Exa web searches, you can change the search service to DuckDuckGo by setting `,_jsx(_components.strong,{children:`Settings → Web Search → Search Backend`}),` to `,_jsx(_components.strong,{children:`DuckDuckGo`}),`.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Builtin tools","description":null,"href":"/features/agentic/builtin-tools"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"RunTerminalCommand","slug":"runterminalcommand","depth":2,"children":[{"title":"Configuring the shell to be used for command execution","slug":"configuring-the-shell-to-be-used-for-command-execution","depth":3,"children":[]},{"title":"Using a custom shell","slug":"using-a-custom-shell","depth":4,"children":[]},{"title":"Live, interactive terminal commands","slug":"live-interactive-terminal-commands","depth":3,"children":[]},{"title":"Command output is truncated","slug":"command-output-is-truncated","depth":3,"children":[]}]},{"title":"ProposePlanToUser","slug":"proposeplantouser","depth":2,"children":[{"title":"Copying plans to clipboard","slug":"copying-plans-to-clipboard","depth":3,"children":[]}]},{"title":"WebSearch","slug":"websearch","depth":2,"children":[{"title":"Using DuckDuckGo for web search","slug":"using-duckduckgo-for-web-search","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":[],"dynamicCss":".mint-rounded-xl {\n border-radius: 0.75rem\n}\n.mint-shadow-md {\n --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)\n}","subdomain":"piebald","siteName":"Piebald","title":"Builtin tools - Piebald","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-27T15:58:27.359Z","originalFileLocation":"features/agentic/builtin-tools.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"application-name\" content=\"Piebald\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/piebald/ZmPfgXYZvSjKh7JZ/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/piebald/ZmPfgXYZvSjKh7JZ/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/piebald/ZmPfgXYZvSjKh7JZ/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/piebald/ZmPfgXYZvSjKh7JZ/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/piebald/ZmPfgXYZvSjKh7JZ/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/piebald/ZmPfgXYZvSjKh7JZ/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/piebald/ZmPfgXYZvSjKh7JZ/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/piebald/ZmPfgXYZvSjKh7JZ/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/piebald/ZmPfgXYZvSjKh7JZ/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Builtin tools - Piebald\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Piebald\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.piebald.ai/features/agentic/builtin-tools\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://piebald.mintlify.app/_mintlify/api/og/v2?division=Agentic\u0026amp;title=Builtin+tools\u0026amp;theme=529ca6f866ef97af5b71e938\u0026amp;signature=a6f2670ff3f122eb0fdbf451b471b2a98926b4be0e236a37deb359371d9a200e\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Builtin tools - Piebald\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://piebald.mintlify.app/_mintlify/api/og/v2?division=Agentic\u0026amp;title=Builtin+tools\u0026amp;theme=529ca6f866ef97af5b71e938\u0026amp;signature=a6f2670ff3f122eb0fdbf451b471b2a98926b4be0e236a37deb359371d9a200e\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/piebald/ZmPfgXYZvSjKh7JZ/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Piebald\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#FF8400\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.piebald.ai/features/agentic/builtin-tools\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/features/agentic/builtin-tools.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.piebald.ai/#organization\",\"name\":\"Piebald\",\"url\":\"https://docs.piebald.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/piebald/7sqE5ab_kWnS1Beo/imgs/Piebald_wordmark_light.svg?fit=max\u0026auto=format\u0026n=7sqE5ab_kWnS1Beo\u0026q=85\u0026s=c3afbd2cabe52e57a166952fb8c76669\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.piebald.ai#website\",\"name\":\"Piebald\",\"url\":\"https://docs.piebald.ai\",\"publisher\":{\"@id\":\"https://docs.piebald.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.piebald.ai/features/agentic/builtin-tools#webpage\",\"url\":\"https://docs.piebald.ai/features/agentic/builtin-tools\",\"name\":\"Builtin tools\",\"dateModified\":\"2026-10-27T15:58:27.359Z\",\"isPartOf\":{\"@id\":\"https://docs.piebald.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.piebald.ai/features/agentic/builtin-tools#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.piebald.ai/features/agentic/builtin-tools#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Features\",\"item\":\"https://docs.piebald.ai/features/chat-experience/desktop-notifications\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Agentic\",\"item\":\"https://docs.piebald.ai/features/agentic/context\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Builtin tools\",\"item\":\"https://docs.piebald.ai/features/agentic/builtin-tools\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.piebald.ai/features/agentic/builtin-tools#article\",\"headline\":\"Builtin tools\",\"name\":\"Builtin tools\",\"url\":\"https://docs.piebald.ai/features/agentic/builtin-tools\",\"mainEntityOfPage\":{\"@id\":\"https://docs.piebald.ai/features/agentic/builtin-tools#webpage\"},\"dateModified\":\"2026-10-27T15:58:27.359Z\",\"publisher\":{\"@id\":\"https://docs.piebald.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.piebald.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Piebald\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Piebald","nav":{"global":null,"groups":[{"group":"General","pages":[{"title":null,"href":"/introduction"},{"title":null,"href":"/roadmap"},{"title":"Changelog (release notes)","mode":"wide","href":"/changelog"},{"title":null,"href":"/web-mode"},{"title":null,"href":"/telemetry"},{"title":"Proxying Piebald","href":"/proxying-piebald"}]},{"group":"Troubleshooting","pages":[{"title":null,"href":"/log-file"},{"title":null,"href":"/report-feedback"}]},{"group":"Features","pages":[{"group":"Chat experience","expanded":true,"pages":[{"title":null,"href":"/features/chat-experience/desktop-notifications"},{"title":"Keyboard shortcuts","href":"/features/chat-experience/keyboard-shortcuts"},{"title":"Chat rendering features","href":"/features/chat-experience/chat-rendering-features"},{"title":"Chat view configuration","href":"/features/chat-experience/chat-view-configuration"},{"title":null,"href":"/features/chat-experience/interacting-with-models-besides-messaging"},{"title":"Message editor","href":"/features/chat-experience/message-editor"},{"title":null,"href":"/features/chat-experience/chat-navigation"},{"title":null,"href":"/features/chat-experience/context-management"},{"title":"Privacy","href":"/features/chat-experience/privacy"}]},{"group":"Managing chats","expanded":true,"pages":[{"title":"Chat tagging","href":"/features/managing-chats/chat-tagging"},{"title":"Managing chats","href":"/features/managing-chats/managing-chats"},{"title":"Chat statuses","href":"/features/managing-chats/chat-statuses"},{"title":null,"href":"/features/managing-chats/chat-sidebar"}]},{"group":"Agentic","expanded":true,"pages":[{"title":"Context","href":"/features/agentic/context"},{"title":null,"href":"/features/agentic/image-support"},{"title":"MCP servers","href":"/features/agentic/mcp-servers"},{"title":null,"href":"/features/agentic/permission-modes"},{"title":"Tool calls","description":null,"href":"/features/agentic/tool-calls"},{"title":"Builtin tools","href":"/features/agentic/builtin-tools"},{"title":"Hooks","description":null,"href":"/features/agentic/hooks"},{"title":"Chat flow","href":"/features/agentic/chat-flow"}]},{"group":"Development experience","expanded":true,"pages":[{"title":null,"href":"/features/development-experience/git-worktrees"},{"title":null,"href":"/features/development-experience/git-viewer"},{"title":null,"href":"/features/development-experience/integrated-terminal"},{"title":"Project file browser","href":"/features/development-experience/project-file-browser"},{"title":"Code editor","href":"/features/development-experience/code-editor"},{"title":"Python environment sourcing","href":"/features/development-experience/python-environment-sourcing"}]},{"group":"Management","expanded":true,"pages":[{"title":null,"href":"/features/management/managing-providers"},{"title":null,"href":"/features/management/managing-chat-tags"},{"title":null,"href":"/features/management/managing-projects"},{"title":"Managing profiles","href":"/features/management/managing-profiles"}]}]},{"group":"Providers","expanded":true,"pages":[{"title":"Amazon Bedrock","href":"/providers/amazon-bedrock"},{"title":"Google Antigravity","href":"/providers/google-antigravity"},{"title":"GitHub Copilot","href":"/providers/github-copilot"},{"title":"Using a custom base URL and API key","href":"/providers/using-a-custom-base-url-and-api-key"},{"title":"Claude Pro/Max","href":"/providers/claude-max"},{"title":"All supported providers","href":"/providers/all-supported-providers"}]},{"group":"MCP Servers","expanded":true,"pages":[{"title":null,"href":"/mcp-servers/figma"},{"title":null,"href":"/mcp-servers/slack"}]},{"group":"Configuration","expanded":true,"pages":[{"title":null,"href":"/configuration/color-customization"},{"title":null,"href":"/configuration/font-customization"},{"title":"Localization","href":"/configuration/localization"},{"title":null,"href":"/configuration/native-folder-picker"},{"title":null,"href":"/configuration/sidebar-compact-view"},{"title":"VS Code theme importing","href":"/configuration/vs-code-theme-importing"}]},{"group":"Integrations","pages":[{"title":"OpenCues","href":"/integrations/opencues"}]}]},"basePath":"","title":"Builtin tools - Piebald","buildId":"dpl_2gSLkbMoF5kkLsBqYzq9KWtDyJRo","deploymentId":"dpl_2gSLkbMoF5kkLsBqYzq9KWtDyJRo","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-DR0NJNUZ.js","lightbox-handle-r17bVUz3.js"]}