Add ! bash mode with live shell output - #1654
Conversation
Enter was treated as consent for every decision short of an explicit deny, so `! rm -rf /`, `! mkfs…`, a reboot or the fork bomb ran without the question the model's own bash call always raises, under --yolo and a blanket allow alike. The floor's manual page promised it asks "whichever way your settings are set". The person's command now goes through the same approval question as a model call when it matches the critical table: refused, interrupted or unattended, it does not run; allowed, it runs as before. Ordinary ! commands still run on Enter with no question, explicit denies still refuse, and no memo or guardian model is consulted on this door. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The row composed its bound from the 30-second background-after clock, but a command the person ran never joins the job registry and runs until the shell timeout (10 minutes unless it says otherwise). `! sleep 33` read `30s · 0s left` and then kept running. The row now counts against the timeout the runner actually armed; a model's foreground bash row is unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The background gesture skips a command the person ran (background.go's promotableEntry), but the page listing when it is absent did not say so, and the chat told a person that ctrl+g backgrounds a running ! command. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Taking this over to land it (Abir asked in the Slack thread). Everything in the description holds in the real binary:
One blocker, fixed. A Two smaller fixes:
Worth a follow-up, not blocking:
|
#1431 gave home a tray of its own, so the bash refusal and the update-stops-turn check in homeStartWithProject read a.home.chips; a.chips is now the conversation behind home. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
AbirAbbas
left a comment
There was a problem hiding this comment.
Verified in the real binary and merged by the takeover; see the comment above.
Bash mode via
!Changelog
!commands in the conversation’s project.$prompt and live, literal shell output; retain output in chat history.Validation: terminal checks, bash regressions, and the full UI suite passed.
make pr-readyremains blocked by three existing macOS session failures and a UI test race, reproduced on cleandev.