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.5.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.5.0
File Size Uploaded
strands_shell-0.5.0.tar.gz 298.4 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for strands-shell 0.5.0
File
strands_shell-0.5.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.5.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.5.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.5.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.5.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.5.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.5.0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
strands_shell-0.5.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.5.0-cp314-cp314-manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ ARM64 Details
strands_shell-0.5.0-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
strands_shell-0.5.0-cp314-cp314-macosx_10_12_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.12+ x86-64 Details
strands_shell-0.5.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
strands_shell-0.5.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.5.0-cp313-cp313-manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64 Details
strands_shell-0.5.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
strands_shell-0.5.0-cp313-cp313-macosx_10_12_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.12+ x86-64 Details
strands_shell-0.5.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
strands_shell-0.5.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.5.0-cp312-cp312-manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64 Details
strands_shell-0.5.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
strands_shell-0.5.0-cp312-cp312-macosx_10_12_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.12+ x86-64 Details
strands_shell-0.5.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
strands_shell-0.5.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.5.0-cp311-cp311-manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64 Details
strands_shell-0.5.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
strands_shell-0.5.0-cp311-cp311-macosx_10_12_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.12+ x86-64 Details
strands_shell-0.5.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
strands_shell-0.5.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.5.0-cp310-cp310-manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ ARM64 Details

Total release size: 142.7 MB

Release files / strands_shell-0.5.0.tar.gz

Download URL strands_shell-0.5.0.tar.gz
Size 298.4 kB
Tags Source
SHA-256 checksum
How to use checksums
f29a779c1a4a2c587835fee4f1562d21582058e31892bd210ca5a47025c852d5
BLAKE2b-256 checksum
How to use checksums
f5f01eda4ecaf563a44bf64abb2007175cc6c0719ce23062f0534d60e7c6ecaf
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 15, 2026.

Transparency log

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

Download URL strands_shell-0.5.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
3486a9be3d5ce8f8cf76079c37956a5b81ef3a5089282894731993a403d09efa
BLAKE2b-256 checksum
How to use checksums
94cf046358eeae0c7f9510cb8e64d82eb012e4630b69c4d762d5c9c1002fc63b
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 15, 2026.

Transparency log

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

Download URL strands_shell-0.5.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
1e9b792dacba5332b714de9ccaff66095b5ab398b4ac3639a5ddd77bd616a141
BLAKE2b-256 checksum
How to use checksums
b072339098296373430a241ccb7bd2a50f6e0ceefbbf6432de547dad6198e15f
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 15, 2026.

Transparency log

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

Download URL strands_shell-0.5.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
eeeb6abf3aa8c6f270384390d09cd2b8ccb9c5deb5999d6d4f160f64e30d5508
BLAKE2b-256 checksum
How to use checksums
6ca28ac12f77a32be1291f926b518e14c2f94a87a7b00c5b808cff0853aba281
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 15, 2026.

Transparency log

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

Download URL strands_shell-0.5.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
893a1595fbac240f32e5cf28fd00fb3caa527eb9d5f127e8ec94d4115906d486
BLAKE2b-256 checksum
How to use checksums
4315825955df062903ba4cc671a95477aaf3e7539cb96babc2f47b7745c694b1
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 15, 2026.

Transparency log

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

Download URL strands_shell-0.5.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
7e0c3e5bea13c1216e02eaba779dc0ef92af59676716f3a93eec94febdb6b0eb
BLAKE2b-256 checksum
How to use checksums
08d2873bf1bb116583533055ac677419a418648902e2222fc907ee50c64f3c4d
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 15, 2026.

Transparency log

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

Download URL strands_shell-0.5.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
962e5df427e4181388aff8017ec65c25d2cd01fb3924d7ad810162c015baad53
BLAKE2b-256 checksum
How to use checksums
ccf789af1c9ec4cfb4d7258ee8e3fb6c8a4b72684b642ff4aafff73581484c6c
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 15, 2026.

Transparency log

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

Download URL strands_shell-0.5.0-cp314-cp314-win_amd64.whl
Size 5.1 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
9237f6c41b7e1bf2d4c75f635962ad5527c53856c8a5655356ed652c0c4544f7
BLAKE2b-256 checksum
How to use checksums
20e531519a91b70ceffb3c7f0eba6ec4174b60d0ce927115654acf534ed467d0
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 15, 2026.

Transparency log

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

Download URL strands_shell-0.5.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
ad053c9def8973e3ccbd170d38b7e7f72429449dc64d2ca352e2a4d1ecc50ece
BLAKE2b-256 checksum
How to use checksums
94e42bb9f473ef682a244ea3383f06b7adcdc9a23cb6da344dbb87c95534e8a5
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 15, 2026.

Transparency log

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

Download URL strands_shell-0.5.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
25f6f887f5cb20342c55eb9a12b5fa3b63de45ca21d66374253a17b8d07f19b8
BLAKE2b-256 checksum
How to use checksums
2c5a911c01e3834fdb4c90275713e2d7ea7a70db599a70140c8642280cc443bc
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 15, 2026.

Transparency log

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

Download URL strands_shell-0.5.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
cac391908d2ee1458786c4a3fcc61987486ecb3b9421962a8030835fe529a247
BLAKE2b-256 checksum
How to use checksums
5119990b26d36ca268f0586112b0493f6f2c388fce27dfdfd75b3c3395665a46
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 15, 2026.

Transparency log

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

Download URL strands_shell-0.5.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
265be0f6d453400b3955325b4f4fed81377f73df7eb937531dc774d6a12fbad2
BLAKE2b-256 checksum
How to use checksums
465b6ca09c9daf96a2f1846de4ca5fa1e5efad21c4ef0aa664e010ab3e8c4938
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 15, 2026.

Transparency log

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

Download URL strands_shell-0.5.0-cp313-cp313-win_amd64.whl
Size 5.1 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
9be6965cbdf30606116a8390908faa5914ff2582679de865d07a76611b4a8bab
BLAKE2b-256 checksum
How to use checksums
80787ce8824ae5e8e5b650f02a5b16521a3fdc4d9e2e82d570788d5406539c2b
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 15, 2026.

Transparency log

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

Download URL strands_shell-0.5.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
e5fad024a0f0371301b8316be764fc853744a516a1cb0f21739ce2b2e61d8316
BLAKE2b-256 checksum
How to use checksums
19805923aaf6c11d48f6bc231c6e839b963c5a91fe73d0b9b96842a244f7b525
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 15, 2026.

Transparency log

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

Download URL strands_shell-0.5.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
dc5cd919da9a496438ac99e5c44d6d71de3d8b2b696d2d3555d5727e0e735974
BLAKE2b-256 checksum
How to use checksums
d5a0ad9c76686946fafa0c45755e500d8bf59ff852df916f7a26dafe261b3343
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 15, 2026.

Transparency log

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

Download URL strands_shell-0.5.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
f778e65dce1ccae6f76e0e9cb1fbd09c2abd91d185d928d00dd545595636bb13
BLAKE2b-256 checksum
How to use checksums
4d0619844ad610f0f17a0aa079c0c18f8f2b7eef58a00297617addfb477a78eb
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 15, 2026.

Transparency log

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

Download URL strands_shell-0.5.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
173471852e8aac5b61be01260fd159fb31a8977f9740c2f6614b28e4bde5214a
BLAKE2b-256 checksum
How to use checksums
203f03dc669e1772cc18a3831a2448991110148ce0d7105475f45fe9f69d2b8e
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 15, 2026.

Transparency log

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

Download URL strands_shell-0.5.0-cp312-cp312-win_amd64.whl
Size 5.1 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
30ada5c12ce27fd1808320cddf6fe5cb99de64763588d26276278adfa2fc1e03
BLAKE2b-256 checksum
How to use checksums
204e8c21f30881f13a07ab79a32780dd37e9dec6b5c40f00a6be31a1c94be135
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 15, 2026.

Transparency log

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

Download URL strands_shell-0.5.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
37cfd861992c237d2b6598dbfa1243ac3a56ade16c86d226fa8308de0518d53a
BLAKE2b-256 checksum
How to use checksums
4b977585667cea11d2dfdc55c92b126427b8ca832d9bb4d74cdef1095e968607
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 15, 2026.

Transparency log

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

Download URL strands_shell-0.5.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
48c2771ad7011da9be4be8f5d1df7db99cc2c04cfc9a56595a4442405d9656e0
BLAKE2b-256 checksum
How to use checksums
3107b46014913ec1da8ba5ac99c201a212819a95cf1b821a4dc86a5244895133
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 15, 2026.

Transparency log

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

Download URL strands_shell-0.5.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
21329472b76b4d5f39a9ce6fef6e51377b45001018b79096c73bf8f2bbfa9951
BLAKE2b-256 checksum
How to use checksums
b8e6027775254f81a57a3e1313e60d349dfb0491258e59757db5cd076b9987b2
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 15, 2026.

Transparency log

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

Download URL strands_shell-0.5.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
2b3c46a9ffcaad75ad0be1305af70b004d448f8fb31e711abd7857ada4fc43f1
BLAKE2b-256 checksum
How to use checksums
4a57a19d634f757c1e6cf3cb4024b0fcd3fa6ffe89cc9bf5baa4b07a665fd8de
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 15, 2026.

Transparency log

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

Download URL strands_shell-0.5.0-cp311-cp311-win_amd64.whl
Size 5.1 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
1fffa638613d539dd448a5cb179460e17b34fd7f169c6f9dadc19d83074ba059
BLAKE2b-256 checksum
How to use checksums
8904042c509699d73130723c1fa6785faff40ac62301d91f3a21945d492120f1
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 15, 2026.

Transparency log

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

Download URL strands_shell-0.5.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
6824645886912782a914cf642e21f01e9b1d50afb519af456c2d31259b4aeb5b
BLAKE2b-256 checksum
How to use checksums
50f7b9e19517e3ca9c98bec36ac200fc2c9b3b299a2ef3de0699d4104f4b2a8f
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 15, 2026.

Transparency log

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

Download URL strands_shell-0.5.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
f476d4aac7a837ed29b49e8ed29aaea2385f0129a38b685105e43f7aba22a699
BLAKE2b-256 checksum
How to use checksums
feafa27b39ad2177175a4b434d1d0795649d58e81d092fdfda504a8d392772ca
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 15, 2026.

Transparency log

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

Download URL strands_shell-0.5.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
e682225af176bc340c77bab6de8a2b600f188de7cac7bb94c572a08421dd1fb8
BLAKE2b-256 checksum
How to use checksums
96bc25dc8060ff201af82b37eb8f8c0dbdd16b9975aad8af7562ba76a53bd487
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 15, 2026.

Transparency log

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

Download URL strands_shell-0.5.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
7616697050dd7921e6118792268d939d3801c43d11ba086a04d89acfdf0540ba
BLAKE2b-256 checksum
How to use checksums
0fb9f22f6d85b3604a3c9e84b8056285b1f72f3f692bc718f9a8f8df84e28794
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 15, 2026.

Transparency log

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

Download URL strands_shell-0.5.0-cp310-cp310-win_amd64.whl
Size 5.1 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
303a00ed38b6be95a372982459ac02712fa1b5747776be2318ebec76cf9e3350
BLAKE2b-256 checksum
How to use checksums
e45557c22143c42e5e53f02ac87a7666f2654c375300176d77c15942f243f304
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 15, 2026.

Transparency log

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

Download URL strands_shell-0.5.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
21cc129287f9d69390fa9d93b371b5467d2d16d1fa80d8ad1767f8a8a0d47af1
BLAKE2b-256 checksum
How to use checksums
6a30430bd06fd270c6a5dcd7be7e619b714cf15e997f2b77e32b67565288d5b7
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 15, 2026.

Transparency log

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

Download URL strands_shell-0.5.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
853c5b56fcd9a808b64caf3172611dfcfbd3c9abc7d09b5e933d101a7b7e3117
BLAKE2b-256 checksum
How to use checksums
b77e79c7b15668c4cf8d3649fc889b4120af08112da7246f84cb1aaf5de91c62
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 15, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.5.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