Tak Hoffman
21708f58ce
fix(exec): resolve PATH key case-insensitively for Windows pathPrepend ( #25399 ) ( #31879 )
...
Co-authored-by: Glucksberg <markuscontasul@gmail.com >
2026-03-02 10:14:38 -06:00
Vincent Koc
b7615e0ce3
Exec/ACP: inject OPENCLAW_SHELL into child shell env ( #31271 )
...
* exec: mark runtime shell context in exec env
* tests(exec): cover OPENCLAW_SHELL in gateway exec
* tests(exec): cover OPENCLAW_SHELL in pty mode
* acpx: mark runtime shell context for spawned process
* tests(acpx): log OPENCLAW_SHELL in runtime fixture
* tests(acpx): assert OPENCLAW_SHELL in runtime prompt
* docs(env): document OPENCLAW_SHELL runtime markers
* docs(exec): describe OPENCLAW_SHELL exec marker
* docs(acp): document OPENCLAW_SHELL acp marker
* docs(gateway): note OPENCLAW_SHELL for background exec
* tui: tag local shell runs with OPENCLAW_SHELL
* tests(tui): assert OPENCLAW_SHELL in local shell runner
* acp client: tag spawned bridge env with OPENCLAW_SHELL
* tests(acp): cover acp client OPENCLAW_SHELL env helper
* docs(env): include acp-client and tui-local shell markers
* docs(acp): document acp-client OPENCLAW_SHELL marker
* docs(tui): document tui-local OPENCLAW_SHELL marker
* exec: keep shell runtime env string-only for docker args
* changelog: note OPENCLAW_SHELL runtime markers
2026-03-01 20:31:06 -08:00
Brian Mendonca
48b052322b
Security: sanitize inherited host exec env
2026-02-24 23:46:39 +00:00
SidQin-cyber
f3459d71e8
fix(exec): treat shell exit codes 126/127 as failures instead of completed
...
When a command exits with code 127 (command not found) or 126 (not
executable), the exec tool previously returned status "completed" with
the error buried in the output text. This caused cron jobs to report
status "ok" and never increment consecutiveErrors, silently swallowing
failures like `python: command not found` across multiple daily cycles.
Now these shell-reserved exit codes are classified as "failed", which
propagates through the cron pipeline to properly increment
consecutiveErrors and surface the issue for operator attention.
Fixes #24587
Co-authored-by: Cursor <cursoragent@cursor.com >
(cherry picked from commit 2b1d1985ef09000977131bbb1a5c2d732b6cd6e4)
2026-02-24 04:20:30 +00:00
Peter Steinberger
c677be9d5f
fix(exec): skip default timeout for background sessions
2026-02-22 23:03:44 +01:00
Peter Steinberger
2cdbadee1f
fix(security): block startup-file env injection across host execution paths
2026-02-21 11:44:20 +01:00
Peter Steinberger
fec48a5006
refactor(exec): split host flows and harden safe-bin trust
2026-02-19 14:22:01 +01:00
Peter Steinberger
b8b43175c5
style: align formatting with oxfmt 0.33
2026-02-18 01:34:35 +00:00
Peter Steinberger
31f9be126c
style: run oxfmt and fix gate failures
2026-02-18 01:29:02 +00:00
cpojer
d0cb8c19b2
chore: wtf.
2026-02-17 13:36:48 +09:00
Sebastian
ed11e93cf2
chore(format)
2026-02-16 23:20:16 -05:00
cpojer
6b8c0bc697
chore: Format files.
2026-02-17 12:00:38 +09:00
Sebastian
6070116382
revert(exec): undo accidental merge of PR #18521
2026-02-16 21:47:18 -05:00
cpojer
90ef2d6bdf
chore: Update formatting.
2026-02-17 09:18:40 +09:00
misterdas
312a7f7880
fix: make tool exit code handling less aggressive
...
Treat normal process exits (even with non-zero codes) as completed tool results.
This prevents standard exit codes (like grep exit 1) from being surfaced
as 'Tool Failure' warnings in the UI. The exit code is still appended
to the tool output for assistant awareness.
2026-02-16 23:56:56 +01:00
saurav470
d2dd282034
docs(exec): document pty for TTY-only CLIs (gog)
2026-02-16 23:51:22 +01:00
Onur
cd44a0d01e
fix: codex and similar processes keep dying on pty, solved by refactoring process spawning ( #14257 )
...
* exec: clean up PTY resources on timeout and exit
* cli: harden resume cleanup and watchdog stalled runs
* cli: productionize PTY and resume reliability paths
* docs: add PTY process supervision architecture plan
* docs: rewrite PTY supervision plan as pre-rewrite baseline
* docs: switch PTY supervision plan to one-go execution
* docs: add one-line root cause to PTY supervision plan
* docs: add OS contracts and test matrix to PTY supervision plan
* docs: define process-supervisor package placement and scope
* docs: tie supervisor plan to existing CI lanes
* docs: place PTY supervisor plan under src/process
* refactor(process): route exec and cli runs through supervisor
* docs(process): refresh PTY supervision plan
* wip
* fix(process): harden supervisor timeout and PTY termination
* fix(process): harden supervisor adapters env and wait handling
* ci: avoid failing formal conformance on comment permissions
* test(ui): fix cron request mock argument typing
* fix(ui): remove leftover conflict marker
* fix: supervise PTY processes (#14257 ) (openclaw#14257) (thanks @onutc)
2026-02-16 02:32:05 +01:00
Peter Steinberger
85b267aae9
refactor(agents): dedupe exec spawn and process failures
2026-02-15 14:28:55 +00:00
Peter Steinberger
a14d275b2a
refactor(agents): dedupe exec spawn fallback wiring
2026-02-15 05:39:55 +00:00
Peter Steinberger
f1a76e1a36
refactor: dedupe PATH prepend helpers
2026-02-15 03:53:53 +00:00
Charlie Greenman
dec6859702
agents: reduce prompt token bloat from exec and context ( #16539 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 8e1635fa3fdfb199a58bd53e816abc41cd400d44
Co-authored-by: CharlieGreenman <8540141+CharlieGreenman@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-02-14 18:32:45 -05:00
Peter Steinberger
d73f3336de
fix(exec): close stdin for non-pty runs
2026-02-14 22:01:54 +01:00
Peter Steinberger
77b89719d5
fix(security): block safeBins shell expansion
2026-02-14 19:44:14 +01:00
Peter Steinberger
b47fa9e715
refactor(exec): extract bash tool runtime internals
2026-02-13 19:08:37 +00:00