text: Skip to main contentğŸ¦œï¸�ğŸ”— LangChainDocsUse casesIntegrationsAPILangSmithJS/TS DocsCTRLKIntegrationsCallbacksChat modelsDocument loadersDocument transformersLLMsMemoryRetrieversText embedding modelsAgent toolkitsToolsApifyArXiv API ToolawslambdaShell ToolBing SearchBrave SearchChatGPT PluginsDataForSeo API WrapperDuckDuckGo SearchFile System ToolsGolden QueryGoogle PlacesGoogle SearchGoogle Serper APIGradio ToolsGraphQL toolhuggingface_toolsHuman as a toolIFTTT WebHooksLemon AI NLP Workflow AutomationMetaphor SearchOpenWeatherMap APIPubMed ToolRequestsSceneXplainSearch ToolsSearxNG Search APISerpAPITwilioWikipediaWolfram AlphaYouTubeSearchToolZapier Natural Language Actions APIVector storesGrouped by providerIntegrationsToolsShell ToolOn this pageShell ToolGiving agents access to the shell is powerful (though risky outside a sandboxed environment).The LLM can use it to execute any shell commands. A common use case for this is letting the LLM interact with your local file system.from langchain.tools import ShellToolshell_tool = ShellTool()print(shell_tool.run({"commands": ["echo 'Hello World!'", "time"]}))    Hello World!        real    0m0.000s    user    0m0.000s    sys 0m0.000s        /Users/wfh/code/lc/lckg/langchain/tools/shell/tool.py:34: UserWarning: The shell tool has no safeguards by default. Use at your own risk.      warnings.warn(Use with Agentsâ€‹As with all tools, these can be given to an agent to accomplish more complex tasks. Let's have the agent