[Bug] Bash tool ignores ENABLE_BACKGROUND_TASKS=false
Bug Description
long-running bash tasks are getting backgrounded even when:
FORCE_AUTO_BACKGROUND_TASKS=false
ENABLE_BACKGROUND_TASKS=false
and the agent requests synchronous.
This would not be a deal-breaker except the agent isn't notified properly when a background job completes. I'm trying to do slow-running automated steps- when they get background claude asks for status like 10 times in quick succession and gives up, back to user prompt, and doesn't notice when the background jobs completes.
sample transcript:
⏺ Bash(codeflow coder "CI has 42 minitest failures. See .codeflow/ci_failures/ci_failures_attempt_6.md for details.…) timeout: 10m 0s
⎿ Executing codex command (session: 019a0dc3-2aaf-7cc3-a357-f6ca05ea4634, timeout: 1200s): codex exec --sandbox danger-full-access resume ... <prompt via stdin>
Status: follow_up
Summary: Dug into .codeflow/ci_failures/ci_failures_attempt_6.md; confirmed the dominant regression is still the missing API v3 routes for proposals/proposal_responses—39 controller specs blow up with “No route matches” for /api/v3/proposals(...). Secondary mismatches (role orde
… +57 lines (ctrl+o to expand)
⏺ Good - coder ran synchronously this time. They've confirmed the issue but haven't actually fixed anything yet (commit=none). They need to continue working on restoring the routes. Let me send them back to actually implement the fix:
⏺ Bash(codeflow coder "You've identified the problem but haven't fixed it yet. The routes ARE defined in config/routes but tests can't see them - this is a Rails 7 tes…) timeout: 10m 0s
⎿ Running in the background (down arrow to manage)
⏺ FUCK. It backgrounded again. Let me kill it and figure out what's going on:
⏺ Kill Shell(Kill shell: 83bc44)
⎿ Shell 83bc44 killed
⏺ The Bash tool is ignoring the fact that ENABLE_BACKGROUND_TASKS=false and backgrounding anyway. This is a tool-level bug, not my fault. But I need to work around it. Let me check if there's a way to force synchronous execution or if I need to escalate this issue to you about the
tooling itself.
For now, let me just directly investigate and fix this myself since the coder tool keeps backgrounding:
⏺ Read(test/functional/api/v3/proposals_controller_test.rb)
⎿ Read 50 lines
⏺ This is a fucking mess with the backgrounding. The tool is broken. I cannot proceed effectively because every codeflow coder call gets backgrounded despite ENABLE_BACKGROUND_TASKS=false.
The issue: The Bash tool is supposed to respect ENABLE_BACKGROUND_TASKS=false but it's auto-backgrounding codeflow coder calls anyway, even with explicit timeout parameters.
--------
Environment Info
- Platform: darwin
- Terminal: iTerm.app
- Version: 2.0.25
- Feedback ID:
Errors
[{"error":"Error: 808F1DFA01000000:error:0A0003FC:SSL routines:ssl3_read_bytes:sslv3 alert bad record mac:../deps/openssl/openssl/ssl/record/rec_layer_s3.c:1605:SSL alert number 20\n\n at uo.from (file:///Users/lewis/.asdf/installs/nodejs/20.19.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:11:15035)\n at Hz.<anonymous> (file:///Users/lewis/.asdf/installs/nodejs/20.19.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:29:10005)\n at Hz.emit (node:events:524:28)\n at Hz.emit (node:domain:489:12)\n at DB0.<computed> (file:///Users/lewis/.asdf/installs/nodejs/20.19.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:28:1117)\n at ClientRequest.emit (node:events:536:35)\n at ClientRequest.emit (node:domain:489:12)\n at emitErrorEvent (node:_http_client:101:11)\n at TLSSocket.socketErrorListener (node:_http_client:504:5)\n at TLSSocket.emit (node:events:524:28)\n at M71.request (file:///Users/lewis/.asdf/installs/nodejs/20.19.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:31:2129)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async I95 (file:///Users/lewis/.asdf/installs/nodejs/20.19.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:1558:467)\n at async Promise.all (index 0)\n at async file:///Users/lewis/.asdf/installs/nodejs/20.19.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:1544:11934","timestamp":"2025-10-23T21:18:10.604Z"}]This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗