Skip to content

Commit 4c1a6b9

Browse files
unseriousAIclaude
andcommitted
Release v1.3.2: Add shell access to essentials
Add execute_shell_command to load_essential() so general-purpose agents can run shell commands out of the box. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent a77acc9 commit 4c1a6b9

3 files changed

Lines changed: 9 additions & 5 deletions

File tree

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta:__legacy__"
44

55
[project]
66
name = "basic-open-agent-tools"
7-
version = "1.3.1"
7+
version = "1.3.2"
88
description = "An open foundational toolkit providing essential components for building AI agents with minimal dependencies for local (non-HTTP/API) actions."
99
readme = "README.md"
1010
requires-python = ">=3.9"

src/basic_open_agent_tools/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
with minimal dependencies for local (non-HTTP/API) actions.
55
"""
66

7-
__version__ = "1.3.1"
7+
__version__ = "1.3.2"
88

99
# Modular structure
1010
from . import (

src/basic_open_agent_tools/helpers.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1163,8 +1163,9 @@ def load_essential() -> list[Callable[..., Any]]:
11631163
Perfect for agents that need basic file operations, data processing,
11641164
and common utilities without overwhelming them with specialized tools.
11651165
1166-
Includes (~23 essential tools):
1166+
Includes (~24 essential tools):
11671167
- File I/O: read, write, list, check existence, cwd (8 tools)
1168+
- Shell: execute shell commands (1 tool)
11681169
- Data: JSON/CSV/YAML read/write (6 tools)
11691170
- Text: whitespace cleaning (1 tool)
11701171
- Time: current date and datetime (2 tools)
@@ -1178,7 +1179,7 @@ def load_essential() -> list[Callable[..., Any]]:
11781179
11791180
Example:
11801181
>>> essential_tools = load_essential()
1181-
>>> len(essential_tools) >= 21
1182+
>>> len(essential_tools) >= 22
11821183
True
11831184
>>> # Use for a general-purpose agent
11841185
>>> agent = Agent(
@@ -1199,7 +1200,7 @@ def load_essential() -> list[Callable[..., Any]]:
11991200
write_file_from_string,
12001201
)
12011202
from .network import http_request
1202-
from .system import get_current_directory
1203+
from .system import execute_shell_command, get_current_directory
12031204
from .text import clean_whitespace
12041205

12051206
tools: list[Callable[..., Any]] = []
@@ -1239,6 +1240,9 @@ def load_essential() -> list[Callable[..., Any]]:
12391240
# Crypto utilities (2 tools)
12401241
tools.extend([hash_sha256, generate_uuid])
12411242

1243+
# Shell (1 tool)
1244+
tools.append(execute_shell_command)
1245+
12421246
# Network (1 tool)
12431247
tools.append(http_request)
12441248

0 commit comments

Comments
 (0)