{"version":"2.1.305","anchor":"sandboxed-shells-get-allownestedusernamespacesfalse-and-a-d","canonical_anchor":"sandboxed-shells-get-allownestedusernamespacesfalse-and-a-d","heading":"Shell commands: per-plugin Bun options, a disk-full message and a tighter sandbox","tier":"notice","area":"Sandbox","scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.305\/e\/sandboxed-shells-get-allownestedusernamespacesfalse-and-a-d","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.305","markdown":"### Shell commands: per-plugin Bun options, a disk-full message and a tighter sandbox\n\nSpawned commands gain a per-plugin `bunOptionsFor` hook, a clear disk-full error, and strict sandboxes now set `allowNestedUserNamespaces` to false\n\n**What**\n\nSeveral changes landed in the code that starts shell commands and plugin commands.\n\n- `bunOptionsFor` is a new optional callback that builds Bun options from a filtered set of environment variables. Bun is the program that runs JavaScript for Claude Code. The callback is passed into the command builder and into the environment of the started command. The plugin command runner now supplies it keyed by plugin id, so each plugin's background commands can get their own Bun options.\n\n- In a sandbox (a restricted area that limits what a command can reach) using a strict file-system setup, `allowNestedUserNamespaces` is now set to false.\n\n- When a command fails to start and no process was created, Claude Code now shows a specific message if the disk is full: \"The command was not started: this computer's disk is full\". Before, this fell through to a generic error.\n\n**Why**\n\nIf a command fails because your disk is full, you are now told that directly. Strict sandboxes are slightly tighter. The per-plugin Bun options mean background commands from different plugins may now start with different settings.\n\n- Area: Sandbox\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 2\/5\n- Scope: individual\n- Heads-up: yes"}