Copy
%pip install -qU langchain-community
Copy
from langchain_community.tools import ShellTool
shell_tool = ShellTool()
Copy
print(shell_tool.run({"commands": ["echo 'Hello World!'", "time"]}))
Copy
Hello World!
real 0m0.000s
user 0m0.000s
sys 0m0.000s
Copy
/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 fetch some links from a web page.Copy
from langchain.agents import create_agent
tools = [shell_tool]
agent = create_agent("openai:gpt-4.1-mini", tools)
input_message = {
"role": "user",
"content": (
"Download the README here and identify the link for LangChain tutorials: "
"https://raw.githubusercontent.com/langchain-ai/langchain/master/README.md"
),
}
for step in agent.stream(
{"messages": [input_message]},
stream_mode="values",
):
step["messages"][-1].pretty_print()
Copy
================================ Human Message =================================
Download the README here and identify the link for LangChain tutorials: https://raw.githubusercontent.com/langchain-ai/langchain/master/README.md
================================== Ai Message ==================================
Tool Calls:
terminal (call_mr86V0d6E9nQiJZT7Xw5fH0G)
Call ID: call_mr86V0d6E9nQiJZT7Xw5fH0G
Args:
commands: ['curl -o README.md https://raw.githubusercontent.com/langchain-ai/langchain/master/README.md']
Executing command:
['curl -o README.md https://raw.githubusercontent.com/langchain-ai/langchain/master/README.md']
================================= Tool Message =================================
Name: terminal
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 5169 100 5169 0 0 114k 0 --:--:-- --:--:-- --:--:-- 114k
Copy
/langchain/libs/community/langchain_community/tools/shell/tool.py:33: UserWarning: The shell tool has no safeguards by default. Use at your own risk.
warnings.warn(
Copy
================================== Ai Message ==================================
Tool Calls:
terminal (call_LF8TGrgS84WvUvaazYnVfib8)
Call ID: call_LF8TGrgS84WvUvaazYnVfib8
Args:
commands: ["grep -i 'tutorial' README.md"]
Executing command:
["grep -i 'tutorial' README.md"]
================================= Tool Message =================================
Name: terminal
- [Tutorials](https://python.langchain.com/docs/tutorials/): Simple walkthroughs with
Copy
/langchain/libs/community/langchain_community/tools/shell/tool.py:33: UserWarning: The shell tool has no safeguards by default. Use at your own risk.
warnings.warn(
Copy
================================== Ai Message ==================================
The link for LangChain tutorials in the README is: https://python.langchain.com/docs/tutorials/