Skip to main content

Strands Shell

Give your agent a shell without giving it the keys to your machine.

Python Node License Strands Discord

Documentation ◆ MCP Server ◆ Python ◆ Node.js


Agents run shell commands in tight loops: Install deps, run tests, grep for errors, iterate. Those loops need speed and isolation.

Strands Shell is a Bourne-compatible shell that runs in-process. grep, sed, jq, curl, find, 50+ commands and it does this without fork, exec, syscalls, or cold starts. You declare what the agent can reach (files, URLs, credentials) and everything else doesn't exist to the agent.

Docker Cloud sandbox Strands Shell
Cold start ~200ms ~1s (network) <1ms
Isolation Container namespace MicroVM In-process VFS
Network iptables / sidecar Platform policy URL allowlist + SSRF guard
Secrets Env vars (agent can read them) Platform-specific Injected per-request, agent never sees them
Setup Docker daemon API key + network pip install strands-shell
Platforms Linux Cloud-only macOS, Linux, WASM

Quick Start

MCP (works with any agent framework)

Drop this into your MCP client config:

{
  "mcpServers": {
    "shell": {
      "command": "uvx",
      "args": ["strands-shell", "--mcp"]
    }
  }
}

That's it and your agent gets shell, read_file, write_file, list_dir. All mediated through the Kernel.

Python

pip install strands-shell
import strands_shell

shell = strands_shell.Shell(
    binds=[strands_shell.Bind("/my/project", "/workspace", mode="copy")],
    credentials=[strands_shell.Cred("https://api.example.com/", env_var="API_TOKEN")],
    allowed_urls=["https://api.example.com/"],
)

out = shell.run("grep -rn TODO /workspace")
print(out.stdout)

Node.js

npm install @strands-agents/shell
import { Shell } from '@strands-agents/shell'

const shell = await Shell.create({
  binds: [{ source: '/my/project', destination: '/workspace', mode: 'copy' }],
})
const out = await shell.run('grep -rn TODO /workspace')
console.log(out.stdout)

How It Works

flowchart TB
    agent["Your agent code\n(Strands, LangGraph, Pydantic AI, etc)"]
    agent -->|"MCP / Python / Node.js"| shell

    subgraph shell ["Strands Shell"]
        direction TB
        subgraph kernel ["Kernel (mediation boundary)"]
            vfs["VFS: isolated filesystem"]
            net["Network: SSRF guard + allowlist"]
            creds["Credentials: injected per-URL"]
            limits["Limits: timeout, output, fds"]
        end
        engine["Shell engine: parser, 25 builtins, 33 commands, Lua 5.4"]
    end

Written in Rust, with native bindings for Python (PyO3) and Node.js (napi-rs). State persists across run() calls (env vars, working directory, functions). The filesystem is shared.

Configuration

shell = strands_shell.Shell(
    binds=[
        strands_shell.Bind("/host/project", "/workspace", mode="copy"),
        strands_shell.Bind("/tmp/output", "/output", mode="direct"),
    ],
    credentials=[
        strands_shell.Cred("https://api.example.com/", env_var="API_TOKEN"),
    ],
    allowed_urls=["https://api.example.com/", "https://pypi.org/"],
    timeout=30.0,
    env={"PROJECT": "demo"},
    limits=strands_shell.Limits(
        max_output=1 << 20,
        max_file_size=10 << 20,
    ),
)

⚠️ mode: "direct" mounts are live. The agent can read and modify host files in real time. Use only for designated output directories. Never direct-bind directories containing secrets, credentials, or configuration you don't want the agent to modify.

Inspecting configuration

A constructed shell exposes a read-only snapshot of how it was configured. This is useful when you embed Strands Shell as a sandbox in a larger framework and need to build tool descriptions, surface the network allowlist, or report the active resource caps from a shell object you were handed.

shell = strands_shell.Shell(
    allowed_urls=["https://api.example.com/"],
    credentials=[strands_shell.Cred("https://api.example.com/", env_var="API_TOKEN")],
    timeout=30.0,
)

cfg = shell.config           # a frozen ShellConfig snapshot
cfg.allowed_urls             # ('https://api.example.com/',)
cfg.timeout                  # 30.0
cfg.credentials[0].url       # 'https://api.example.com/'
cfg.credentials[0].env_var   # 'API_TOKEN'  (the secret value is never exposed)
const shell = await Shell.create({
  allowedUrls: ['https://api.example.com/'],
  credentials: [{ url: 'https://api.example.com/', envVar: 'API_TOKEN' }],
  timeout: 30,
})

const cfg = await shell.config()   // a deep-frozen snapshot object
cfg.allowedUrls                    // ['https://api.example.com/']
cfg.timeout                        // 30
cfg.credentials[0].envVar          // 'API_TOKEN'  (the secret value is never exposed)

The snapshot reports binds, credentials, the network allowlist, environment variables, umask, timeout, and resource limits. Credential secrets are never included — each entry reports its URL pattern, kind, and source (a literal token was supplied, or the name of the environment variable it is read from), so you can reason about credentials without the agent or your tooling ever seeing the secret itself.

TOML

You can load all of this from a config file instead:

[[bind]]
mode = "copy"
source = "/host/project"
destination = "/workspace"

[[cred]]
url = "https://api.openai.com/v1/"
methods = ["POST"]
kind = "bearer"
api_key_env = "OPENAI_API_KEY"

[[mcp]]
name = "my-tools"
command = "/path/to/mcp-server"
args = ["--stdio"]

MCP Server

The built-in MCP server exposes the shell over JSON-RPC on stdio, working with anything that speaks MCP.

uvx strands-shell --mcp                          # bare in-memory sandbox
uvx strands-shell --config sandbox.toml --mcp    # with mounts + credentials

If you declare [[mcp]] servers in your TOML config, they show up as Lua modules inside the shell. Call require("my_tools") and you get a table of the server's tools.

Security Model

Strands Shell is a mediation layer, not a security sandbox. It enforces what the agent should access via Kernel-mediated deny-by-default. It does NOT protect against: memory-safety exploits in the shell engine itself, timing side-channels, or an attacker who controls the host process. For multi-tenant or adversarial workloads, run each Shell instance inside a container or microVM.

The Kernel mediates everything; it runs in the same process as your code, not in a VM. If your threat model is "untrusted tenant running arbitrary code," put Strands Shell inside a container too. For "my agent shouldn't access things I haven't explicitly allowed," the Kernel handles it.

Default-deny. You allowlist what the agent can reach:

  • Files: only bound paths exist, everything else is hidden.
  • Network: curl blocks private ranges (RFC1918, link-local, loopback, IMDS) by default while letting public URLs pass through. Use allowed_urls to permit specific internal hosts.
  • Secrets: the Kernel injects credentials per-URL at request time, ensuring the agent never holds them. The Kernel never re-injects on redirects, even back to the same host.
  • Syscalls: there are none; no fork, no exec because the shell is pure userspace.

If you bypass any of these, report it. See SECURITY.md.

Limits (best-effort): timeouts, output caps, fd limits, inode limits. These catch runaway agents but won't stop someone actively trying to break out. OS-level isolation for that.

Multi-tenant: a Shell instance is single-owner. If you're serving multiple agents, create one Shell per session. Construction is cheap (no containers, no VMs, just an in-memory VFS), so spinning up per-request is the intended pattern.

Secure Defaults

Out of the box, the shell is an empty sandbox — no files, no network, no credentials. When you grant access, follow least privilege:

  • Prefer mode: "copy" over mode: "direct" for source code. Copy-on-create isolates the agent from your live files. Use direct only for output directories where the agent needs to persist results.
  • Scope binds narrowly. Bind /my/project/src rather than /my/project or /. The agent doesn't need your .git/, .env, or node_modules/.
  • Allowlist URLs explicitly. Don't use allowed_urls: ["https://"] — this disables SSRF protection entirely. List the specific API endpoints the agent needs.
  • Rely on adjustable timeouts. Commands run under an adjustable per-command timeout, defaulting to 30 seconds, which bounds runaway commands out of the box. Set timeout to raise or lower it for your agent loop.
  • Use limits. Set max_output to prevent agents from filling memory with unbounded command output (1MB is a good default).

Commands

25 builtins, 33 commands, and a Bourne-compatible shell with pipes, loops, functions, and subshells.

The commands agents use constantly: grep, find, cat, head, tail, jq for reading and searching. sed, sort, tr, cut for transforming output. cp, mv, rm, mkdir for managing files. curl for HTTP (SSRF-guarded, credentials auto-injected). lua for scripting when shell gets awkward.

The full command reference has the inventory with implementation status, supported flags, and known gaps vs GNU coreutils.

File Operations API

Read and write files without going through a shell command:

shell.write_file("/workspace/note.txt", b"hello")
data = shell.read_file("/workspace/note.txt")
entries = shell.list_files("/workspace")
shell.remove_file("/workspace/note.txt")

Contributing

See CONTRIBUTING.md. Bug reports and design questions are just as useful as PRs.

Community

Discord if you want to talk about it.

License

Apache-2.0

Security

If you find a security issue, report it privately instead of opening a public issue. Bypasses of filesystem mediation, SSRF protection, or credential injection qualify. See SECURITY.md.

Metadata

Release files for strands-shell 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for strands-shell 0.4.0
File Size Uploaded
strands_shell-0.4.0.tar.gz 294.2 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for strands-shell 0.4.0
File
strands_shell-0.4.0-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl PyPy 3.11 PyPy 3.11 7.3 Linux glibc 2.28+ x86-64 Details
strands_shell-0.4.0-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl PyPy 3.11 PyPy 3.11 7.3 Linux glibc 2.28+ ARM64 Details
strands_shell-0.4.0-cp315-cp315t-manylinux_2_28_x86_64.whl CPython 3.15 CPython 3.15 free-threading Linux glibc 2.28+ x86-64 Details
strands_shell-0.4.0-cp315-cp315-manylinux_2_28_x86_64.whl CPython 3.15 CPython 3.15 Linux glibc 2.28+ x86-64 Details
strands_shell-0.4.0-cp314-cp314t-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-64 Details
strands_shell-0.4.0-cp314-cp314t-manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ ARM64 Details
strands_shell-0.4.0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
strands_shell-0.4.0-cp314-cp314-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64 Details
strands_shell-0.4.0-cp314-cp314-manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ ARM64 Details
strands_shell-0.4.0-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
strands_shell-0.4.0-cp314-cp314-macosx_10_12_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.12+ x86-64 Details
strands_shell-0.4.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
strands_shell-0.4.0-cp313-cp313-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64 Details
strands_shell-0.4.0-cp313-cp313-manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64 Details
strands_shell-0.4.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
strands_shell-0.4.0-cp313-cp313-macosx_10_12_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.12+ x86-64 Details
strands_shell-0.4.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
strands_shell-0.4.0-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details
strands_shell-0.4.0-cp312-cp312-manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64 Details
strands_shell-0.4.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
strands_shell-0.4.0-cp312-cp312-macosx_10_12_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.12+ x86-64 Details
strands_shell-0.4.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
strands_shell-0.4.0-cp311-cp311-manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64 Details
strands_shell-0.4.0-cp311-cp311-manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64 Details
strands_shell-0.4.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
strands_shell-0.4.0-cp311-cp311-macosx_10_12_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.12+ x86-64 Details
strands_shell-0.4.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
strands_shell-0.4.0-cp310-cp310-manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64 Details
strands_shell-0.4.0-cp310-cp310-manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ ARM64 Details

Total release size: 142.5 MB

Release files / strands_shell-0.4.0.tar.gz

Download URL strands_shell-0.4.0.tar.gz
Size 294.2 kB
Tags Source
SHA-256 checksum
How to use checksums
3be0bd2e64a849e6eddeb79d64ad6b2d3de1340c937e493c5439d48ab938b029
BLAKE2b-256 checksum
How to use checksums
788dcbf052344ad5650bff59901acbb5bd9defc8052ed935e4bf2ce596f5f59a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / strands_shell-0.4.0-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl

Download URL strands_shell-0.4.0-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl
Size 5.1 MB
Tags Linux glibc 2.28+ x86-64 PyPy 3.11 PyPy 3.11 7.3
SHA-256 checksum
How to use checksums
0c8c590e24faa2c668e82ede157b1a5719e067dec0da6ac098cb6ef87806a6ab
BLAKE2b-256 checksum
How to use checksums
8cb421bdd64bbbfbef5d810f3ead3b1aa6a5d06bff85135851ea1a0cf9da3cde
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / strands_shell-0.4.0-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl

Download URL strands_shell-0.4.0-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl
Size 4.8 MB
Tags Linux glibc 2.28+ ARM64 PyPy 3.11 PyPy 3.11 7.3
SHA-256 checksum
How to use checksums
042b601146fef3dcb52303cd410b216b372b314e1d6efbf2170636455aa74ff7
BLAKE2b-256 checksum
How to use checksums
72b5ce1d00eec0a115e97af9d97a1b8f086df89c88d54b0456a573b3a76c71ed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / strands_shell-0.4.0-cp315-cp315t-manylinux_2_28_x86_64.whl

Download URL strands_shell-0.4.0-cp315-cp315t-manylinux_2_28_x86_64.whl
Size 5.1 MB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
b78080f0f84c9dd0b3810cedb03f61137f67612f54e7ee21c145c263c0c400f0
BLAKE2b-256 checksum
How to use checksums
0d30e5c200d313f3c1e34e1e102d3383becfbd1ed48cdfbad96837f882cc2fd4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / strands_shell-0.4.0-cp315-cp315-manylinux_2_28_x86_64.whl

Download URL strands_shell-0.4.0-cp315-cp315-manylinux_2_28_x86_64.whl
Size 5.1 MB
Tags CPython 3.15 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
970b524d316528fa868932b14a65ae45ed4753987113cad535a7e9e6bbad1ac6
BLAKE2b-256 checksum
How to use checksums
563232a756a9c6c3ea9c3e5016c281b7951a364fe6afffc13a7f9f6d1b5e6fcb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / strands_shell-0.4.0-cp314-cp314t-manylinux_2_28_x86_64.whl

Download URL strands_shell-0.4.0-cp314-cp314t-manylinux_2_28_x86_64.whl
Size 5.1 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
0088661079306484b0bfbb093882efdb0e0bd9c42ab50cd7a52335b180f29fd1
BLAKE2b-256 checksum
How to use checksums
c9d4de60edac8c2056130713b2d92ea9e8d5a4fef1281b5370b0d00b900025bf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / strands_shell-0.4.0-cp314-cp314t-manylinux_2_28_aarch64.whl

Download URL strands_shell-0.4.0-cp314-cp314t-manylinux_2_28_aarch64.whl
Size 4.8 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
ebabb044cc6b48db6dea242d40ec249af6a674e00dda8468143ee75680912684
BLAKE2b-256 checksum
How to use checksums
7a4c860550fab7be315b8bed0bb52f1382f6109d8e79fde69093afccd5d28199
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / strands_shell-0.4.0-cp314-cp314-win_amd64.whl

Download URL strands_shell-0.4.0-cp314-cp314-win_amd64.whl
Size 5.1 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
06948200262ee99c9ff1ccaaf7e9e2625a23cb376e7a6f1cd450b23f12c18b97
BLAKE2b-256 checksum
How to use checksums
07270d68abcf7a7d105a232d3deb2509e7d2398613b3a251ceb12fe4d795e3cb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / strands_shell-0.4.0-cp314-cp314-manylinux_2_28_x86_64.whl

Download URL strands_shell-0.4.0-cp314-cp314-manylinux_2_28_x86_64.whl
Size 5.1 MB
Tags CPython 3.14 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
9772a828856dd563ca739eea7d447778e00fa3b8aead0db86ed230543d40d463
BLAKE2b-256 checksum
How to use checksums
51c1f63b7ba801cd82aaaa77a7f67a1abed32f705098036e996bd22b103659b6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / strands_shell-0.4.0-cp314-cp314-manylinux_2_28_aarch64.whl

Download URL strands_shell-0.4.0-cp314-cp314-manylinux_2_28_aarch64.whl
Size 4.8 MB
Tags CPython 3.14 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
2927c1ed891d42a33c862e8f02b92e2d4a9db5175f1bd5f50e9a7352746617d6
BLAKE2b-256 checksum
How to use checksums
c70ec33bdb585cd15db76b23d8101dd077ebd9b29309e372c74f1b78394c2512
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / strands_shell-0.4.0-cp314-cp314-macosx_11_0_arm64.whl

Download URL strands_shell-0.4.0-cp314-cp314-macosx_11_0_arm64.whl
Size 4.6 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e30d548d02da5621933315f8d9007f47af38918bc199c815880a805c1da29bdb
BLAKE2b-256 checksum
How to use checksums
f663c183292b897dbf2108fcc8d418d4ff601ca6d81b5ba1295cbf5e7da594d7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / strands_shell-0.4.0-cp314-cp314-macosx_10_12_x86_64.whl

Download URL strands_shell-0.4.0-cp314-cp314-macosx_10_12_x86_64.whl
Size 4.8 MB
Tags CPython 3.14 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
4cac5f4d474cd18626cadc0b9f25a039324d62a3b62061f286bcf4ce75cb1ae5
BLAKE2b-256 checksum
How to use checksums
8dfdd9d46abcecd949b37f96d89cdae4a2c90bd90c3acaca90f770703d20f31f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / strands_shell-0.4.0-cp313-cp313-win_amd64.whl

Download URL strands_shell-0.4.0-cp313-cp313-win_amd64.whl
Size 5.1 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
ed4d889295871632dc765be8ff1792fb13161db55c2e19fa649d9a184d1efdc8
BLAKE2b-256 checksum
How to use checksums
d8644e616e1c34a4685aee77fb53a7cb700a2b49a5e290773e5672730110f725
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / strands_shell-0.4.0-cp313-cp313-manylinux_2_28_x86_64.whl

Download URL strands_shell-0.4.0-cp313-cp313-manylinux_2_28_x86_64.whl
Size 5.1 MB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
3bbb29fd98554de688aae07658de3a2105f89a89a17667b73795e87650ea8daa
BLAKE2b-256 checksum
How to use checksums
3fa5872e7b304708cefa0a91bb6555c098df2f478fe36fe3a4c3adaa95528b57
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / strands_shell-0.4.0-cp313-cp313-manylinux_2_28_aarch64.whl

Download URL strands_shell-0.4.0-cp313-cp313-manylinux_2_28_aarch64.whl
Size 4.8 MB
Tags CPython 3.13 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
796ef3b9569639b74f5e31a6a0a46ab4669004f30ee3b2e8d7bbb419f1e47d25
BLAKE2b-256 checksum
How to use checksums
a024c0f275a90e1b253662d8e75e30a0d55b2a18daeb85992da7162e6681b3f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / strands_shell-0.4.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL strands_shell-0.4.0-cp313-cp313-macosx_11_0_arm64.whl
Size 4.6 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
f8be4c0750dba700eb81481b064cab281e6c6d3f487029614d3706614902d5f1
BLAKE2b-256 checksum
How to use checksums
a0bda6fe7e15de1d41ebeb334c3d4c2d9d7c981768b5e6cbd22a0b282a04b912
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / strands_shell-0.4.0-cp313-cp313-macosx_10_12_x86_64.whl

Download URL strands_shell-0.4.0-cp313-cp313-macosx_10_12_x86_64.whl
Size 4.8 MB
Tags CPython 3.13 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
f8fa53fbb8ca2d6fad677dc445c32f890083da1559d5a4f74c84943d61073b51
BLAKE2b-256 checksum
How to use checksums
049fc980c7cdcdebd66fed3c00d3ccd8d8226f9d82966eff5ea38a3540d86bff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / strands_shell-0.4.0-cp312-cp312-win_amd64.whl

Download URL strands_shell-0.4.0-cp312-cp312-win_amd64.whl
Size 5.1 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
df5944b4e310fd52aaa0747c7278be0b28e46f496b6118c65d457691303b0a55
BLAKE2b-256 checksum
How to use checksums
9b17d519958b7c3e9618a1d6ee6c0970cd50d1c8fd0c3e9f95345adcab4a59cb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / strands_shell-0.4.0-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL strands_shell-0.4.0-cp312-cp312-manylinux_2_28_x86_64.whl
Size 5.1 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
3b4fd47c4430af714a63417904774eb485d904cdcbda031e6726a0f4f32299b5
BLAKE2b-256 checksum
How to use checksums
9d721df8c6f3e16746e8ce3688fcfbdb927c29ba31479936acf904909df6e53f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / strands_shell-0.4.0-cp312-cp312-manylinux_2_28_aarch64.whl

Download URL strands_shell-0.4.0-cp312-cp312-manylinux_2_28_aarch64.whl
Size 4.8 MB
Tags CPython 3.12 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
a4b713741d70729cf137d57d189aa8c0bdf4b8c89aee7d8ffa8a6c8e9a425d68
BLAKE2b-256 checksum
How to use checksums
c7acd78ed5c3e2929b8124852042d11debdb882c0d134e90af34db4bec0cc278
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / strands_shell-0.4.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL strands_shell-0.4.0-cp312-cp312-macosx_11_0_arm64.whl
Size 4.6 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
4982696c363a403b39bdcecb395405233bcb312bdad7e1676df7b6032d54aea8
BLAKE2b-256 checksum
How to use checksums
f34fbc50484d7e80d61108813a9d2faa23ca9462f75fbb30ce9ad6ed78659dac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / strands_shell-0.4.0-cp312-cp312-macosx_10_12_x86_64.whl

Download URL strands_shell-0.4.0-cp312-cp312-macosx_10_12_x86_64.whl
Size 4.8 MB
Tags CPython 3.12 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
1a922cfa513a1e7d5e0e7fc6fc5fe2f5d27d2e4694a0547f76741ce4ab2791cc
BLAKE2b-256 checksum
How to use checksums
6b3cea22f49221e2918460e411178e36d6e835186824873c0128e8802fa08a7a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / strands_shell-0.4.0-cp311-cp311-win_amd64.whl

Download URL strands_shell-0.4.0-cp311-cp311-win_amd64.whl
Size 5.1 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
18136f66aa9443eee70de91330f874690cc32c44ec06148602bf0a3b1fd972e6
BLAKE2b-256 checksum
How to use checksums
e6769ce2c5816cfe3f544d6529bf53f5ac396fce9b5c54af7aaa6201f86a55bd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / strands_shell-0.4.0-cp311-cp311-manylinux_2_28_x86_64.whl

Download URL strands_shell-0.4.0-cp311-cp311-manylinux_2_28_x86_64.whl
Size 5.1 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
4d635064c5400b034d6af3104bfbfba9a0da42b126f512d31e9f175f11d124c4
BLAKE2b-256 checksum
How to use checksums
bca0bff14578e5654e353fa43c8a9119d835d4328a8284e047ef15bcb4563c15
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / strands_shell-0.4.0-cp311-cp311-manylinux_2_28_aarch64.whl

Download URL strands_shell-0.4.0-cp311-cp311-manylinux_2_28_aarch64.whl
Size 4.8 MB
Tags CPython 3.11 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
767ae762462707d7b43133a30e03cc757115d9fd0754a13fc87872347c11a0d0
BLAKE2b-256 checksum
How to use checksums
740d23ea5c4f98547011d1502bd2437d0b734cac0d1d399902513baaf6c4175a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / strands_shell-0.4.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL strands_shell-0.4.0-cp311-cp311-macosx_11_0_arm64.whl
Size 4.6 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
af00ab5ca525d70c644945535bd93f38e46846e30370b9ec4278927a271e69fc
BLAKE2b-256 checksum
How to use checksums
afcd6a8e527a2c4fee6025b332f500762f9455ec1b90d789caec76f4a6d5ae85
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / strands_shell-0.4.0-cp311-cp311-macosx_10_12_x86_64.whl

Download URL strands_shell-0.4.0-cp311-cp311-macosx_10_12_x86_64.whl
Size 4.8 MB
Tags CPython 3.11 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
88d630918983b96f805679d0718e52a4c979e11c349c32c36b09de014bb52116
BLAKE2b-256 checksum
How to use checksums
5fb5b5f24ab241e0b7faba8f70a580b0a9c3abc31147d333bfcae5bb5fb1343b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / strands_shell-0.4.0-cp310-cp310-win_amd64.whl

Download URL strands_shell-0.4.0-cp310-cp310-win_amd64.whl
Size 5.1 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
3b5dc18d9f527a31758b0cf0d59ab94aedb10421ea6b0243822dd2c08c8a3a75
BLAKE2b-256 checksum
How to use checksums
61244335c81d358c7496c3a6380dcac2c0b503f2a8cc4b4a116a8681d86cba90
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / strands_shell-0.4.0-cp310-cp310-manylinux_2_28_x86_64.whl

Download URL strands_shell-0.4.0-cp310-cp310-manylinux_2_28_x86_64.whl
Size 5.1 MB
Tags CPython 3.10 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
5bffb6c24a70bc074ff4fe7a30634f836f6e5d86910a14c968f118a8783036f3
BLAKE2b-256 checksum
How to use checksums
1027d8884c689093182315630a256d8c570236111a9a4f73082e61a74a1aba19
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / strands_shell-0.4.0-cp310-cp310-manylinux_2_28_aarch64.whl

Download URL strands_shell-0.4.0-cp310-cp310-manylinux_2_28_aarch64.whl
Size 4.8 MB
Tags CPython 3.10 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
5e8057635900a48dddde50ad9573dfbb3791837fa11ef64c250fe247692a7f9c
BLAKE2b-256 checksum
How to use checksums
b4c89a5d85d9d14fa6223df94c63992d75ce3f7fbe1effd06c577bc6d1df1f77
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release history Release notifications | RSS feed

0.5.0

30 release files

This release

0.4.0 This release

30 release files

0.3.2

30 release files

0.3.1

30 release files

0.3.0

30 release files

0.2.0

25 release files

0.1.0

25 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page