You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit a80eddf
Browse filesBrowse the repository at this point in the historyBrowse files
fix(harness): run the bash tool's command under bash (#78)
The command ran under each backend's `sh`, which is dash on Debian and
Ubuntu, so bash syntax failed there. It was also pasted into the output
wrapper, so a bash-only construct broke the wrapper's own parse.
The wrapper now carries the command as a quoted string and runs it with
`bash -c` when bash is on PATH, else `eval` under `sh`. The shell rides
on the wrapper's report, and a failure under `sh` says so to the model.
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: CHANGELOG.md
+10Lines changed: 10 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,16 @@ This file is the canonical source for unreleased changes and published release n
6
6
7
7
- Add in-progress work under `## [Unreleased]
8
8
9
+
## [Unreleased]
10
+
11
+
### Fixed
12
+
13
+
- The `bash` tool now runs the model's command under bash on every sandbox. It ran under `sh`, which is dash on Debian and Ubuntu, so bash syntax such as arrays, `[[ ]]`, `{1..3}`, here-strings and `source` worked on a Mac but failed on Linux and in Debian-based containers, and broke the tool's own output handling, so the model got an error pointing into CodeWork's script rather than its command. Where bash is not on `PATH`, the command runs under `sh`, and a failure says so: `Command exited with code 2 (ran under sh: bash is not on PATH in this sandbox)`.
14
+
15
+
### Internal
16
+
17
+
- Added E2E tests that run bash-only syntax through the `bash` tool on the host, just-bash, Daytona and Vercel sandboxes and check they print the same output, and that a host without bash runs the command under `sh` and says so when it fails.
Copy file name to clipboardExpand all lines: sites/www/content/docs/sandboxes/local.mdx
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ description: The default sandbox. Your folder and your real shell.
5
5
6
6
## How It Works
7
7
8
-
`local` is the default driver. It binds the agent directly to your machine: file tools use your real filesystem, starting in the current directory or in `--cwd`, and `bash` runs real commands through `sh` with the environment CodeWork started with.
8
+
`local` is the default driver. It binds the agent directly to your machine: file tools use your real filesystem, starting in the current directory or in `--cwd`, and `bash` runs real commands through bash (`sh` when bash is not on `PATH`) with the environment CodeWork started with.
9
9
10
10
Anything you have installed, such as `git`, `node`, or your test runner, the agent can use. There's nothing to provision, so it's the fastest sandbox, and the only one that works on your repository without copying anything.
0 commit comments