Skip to content

BlastShield is in beta and may contain bugs. Validate it in a non-production environment before relying on it for safety-critical workflows.

Changelog

  • Allows Launch Services URL opens (lsopen) in the base profile so CLI agents can open the system browser for OAuth (Grok Build, Claude, Codex, MCP). Without this, interactive setup could hang with prompts stuck in “queued” after _LSOpenURLsWithCompletionHandler error -54.
  • Documents Grok Build “queued” / incomplete setup troubleshooting: authenticate and trust folders outside the sandbox first (grok inspect, interactive /hooks-trust — not a top-level grok --trust flag), avoid nested Seatbelt, and use headless health checks.
  • Documents the FS_PERMISSION_DENIED / “Couldn’t create session” failure when running Grok under BlastShield older than v0.1.19 (Homebrew installs that predate ~/.grok runtime write support).
  • Notes browser/OAuth opens in the base profile reference.
  • Adds first-class Grok Build support in the base profile: allow runtime state writes under ~/.grok (sessions, memory, logs, sockets, auto-update binaries).
  • Protects Grok Build auth, configuration, policy, skills, plugins, hooks, and installed-plugin extension points from sandboxed writes.
  • Documents blastshield grok / blastshield grok --always-approve in the README, getting started guide, FAQ, profiles reference, docs index, architecture, and whitepaper.
  • Preserves Grok Build non-secret routing endpoints under --clean-env (GROK_MODELS_BASE_URL, GROK_MODELS_LIST_URL, GROK_CLI_CHAT_PROXY_BASE_URL).
  • Adds integration tests covering allowed Grok runtime state and denied Grok auth/config/extension-point writes.
  • Documents Grok Build launch patterns and the intentional auth/config write protections for public use.
  • Adds AGENTS.md with repository instructions for future coding agents.
  • Adds CLAUDE.md as a symlink to AGENTS.md so Claude uses the same instructions.
  • Documents the requirement that every non-release commit updates the changelog with the next release number and includes relevant docs updates in the same commit.

Release commit: d4523c0

  • Allows Gradle builds to use ~/.gradle cache, native, daemon, and wrapper state.
  • Keeps Gradle user-level init/config files such as ~/.gradle/gradle.properties and ~/.gradle/init.d protected.
  • Allows read-only GitHub CLI commands with IDs and JSON flags, including gh pr view, gh pr checks, and gh run view/watch.
  • Allows read-only gh api GET/HEAD requests while continuing to block mutating API methods.
  • Leaves Gradle commands unguarded by blastshield-guard.

Release commit: 3a0a226

  • Allows sandboxed GUI apps to open external links and documents through Launch Services.
  • Fixes clicking GitHub links and other external URLs from Conductor running under BlastShield.

Release commit: f89209d

  • Marks conductor-app as an intentional allow-only companion profile.
  • Updates CI and local profile linting to accept explicitly marked allow-only profiles.

Release commit: 48f2e4e

  • Allows Conductor workspace creation to materialize tracked project metadata such as .idea, .vscode, and .mcp.json.
  • Removes Conductor-managed root denies that could break git worktree checkout.

Release commit: 1fd49b4

  • Adds the Conductor documentation page.
  • Documents the supported Conductor launch command and inherited sandbox behavior.
  • Adds Conductor support to the docs index, sidebar, README, FAQ, getting started guide, profiles reference, architecture page, and whitepaper.

Release commit: 3736add

  • Added the conductor-app profile.
  • Auto-detects Conductor by bundle id com.conductor.app.
  • Allows Conductor-launched agents to write under ~/conductor/workspaces, ~/conductor/repos, and ~/.conductor.
  • Keeps sensitive workspace persistence paths protected, including .git/hooks, .git/config, .vscode, .idea, and .mcp.json.

Release commit: 2f61c6e

  • Keeps interactive terminals open for GUI app launches.
  • Streams redirected GUI app logs in the terminal.
  • Adds --detach for scripts or terminal profiles that should return immediately.
  • Preserves the detached GUI process model so apps continue running after the log follow is stopped.

Release commit: 4d2c6c4

  • Allows scoped Metal, CoreAnimation, IOAccelerator, IOSurface, and Apple Silicon GPU access for GUI apps.
  • Fixes Metal-backed apps such as Zed failing with graphics-device enumeration errors.
  • Allows GUI apps to write normal per-user logs under ~/Library/Logs.
  • Adds regression coverage for Metal device enumeration and user log writes.

Release commit: 2484e47

  • Launches sandboxed GUI apps in a detached process instead of holding the app in the foreground.
  • Redirects GUI app stdout and stderr to a temporary log file.
  • Keeps temporary sandbox profile and guard directories alive until the GUI app exits.
  • Adds regression coverage for detached .app launches and explicit GUI profile behavior.

Release commit: f6be224

  • Preserves BlastShield runtime guard path precedence across GUI app login-shell startup.
  • Keeps guard wrappers ahead of user shell paths when GUI apps rebuild PATH.
  • Improves .app launch compatibility for apps that inspect or modify shell environment.

Release commit: bceeb3f

  • Allows GUI apps to register for macOS power notifications.
  • Fixes IORegisterForSystemPower failed errors seen during Conductor startup.
  • Adds regression coverage for GUI power registration.

Release commit: 20513ff

  • Allows WebKit sandbox extension issuance needed by embedded web views.
  • Fixes com.apple.webkit.mach-bootstrap sandbox extension failures in GUI apps.
  • Adds regression coverage for WebKit extension issuance.

Release commit: 0a71c99

  • Skips project profile auto-detection for GUI app launches.
  • Prevents project profiles such as gh from blocking normal GUI app startup checks.
  • Lets users opt into specific GUI app restrictions with explicit -p profiles.