[BUG] Conversational mention of "workflow" triggers dynamic workflows; declining still leaves a persistent daemon that hijacks claude into agent view and survives reinstalls
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Environment
macOS (MacBook Pro), zsh
Claude Code: issue began on 2.1.153 (auto-updated from a working 2.1.152), reproduced through 2.1.168
Native installer (~/.local/bin/claude → ~/.local/share/claude/versions/...)
Subscription login (no API key), no relevant env vars set
What happened
In a normal interactive chat session, I used the word "workflow" in an ordinary sentence. This silently triggered the dynamic workflows feature (text turned rainbow-colored, Claude began auto-preparing something). I had not invoked /workflows or any related command.
The workflow wanted approval to spawn agents and warned it would consume a lot of tokens. I declined / cancelled before anything executed.
Despite declining, a persistent supervisor daemon had already been started:
/Users/home/.local/bin/claude daemon run --json-path /Users/home/.claude/daemon.json
--log-file /Users/home/.claude/daemon.log --origin transient
--spawned-by {"label":"claude","cwd":"/Users/home/dev/ai-research","pid":37663}
From that point on, plain claude launched into agent view (task-dispatch dashboard) instead of a normal chat session, in every project and every terminal emulator:
Typing normal input returned "Too short — describe the task"
!ls and other shell input rejected
Asking it to read a file dispatched a background agent instead of answering
Esc exited the app
Display corrupted when background session output interleaved with the dashboard (two renderers writing to one tty)
Ctrl+X (the documented delete-session key shown in the footer) closed the entire app instead
The daemon continuously spawned --bg-spare session pairs: ps snapshots ~1 minute apart show spare sessions growing 4 → 6 → 10 with no user action. (Full ps -eo pid,ppid,etime,command output attached below.)
The daemon survived full reinstalls (binary replaced via install.sh, multiple versions 2.1.153–2.1.168), so reinstalling did not fix anything. claude doctor provided no useful indication of the daemon being the cause.
Why this is a problem
A conversational word ("workflow") should never activate an orchestration feature without explicit invocation or a clear opt-in.
Declining the approval prompt should tear down everything the feature started — instead the daemon persisted indefinitely.
The daemon changes the behavior of the bare claude command (agent view instead of chat) with no indication of why, and no obvious path back.
Spare background sessions accumulate unboundedly while idle.
The failure mode is invisible to doctor and survives reinstallation, making it nearly impossible for a user to self-diagnose. (It took an extended debugging session to find claude daemon run in ps output.)
Expected behavior
Dynamic workflows activate only on explicit invocation (e.g. /workflows), or at minimum with an unambiguous, blocking opt-in the first time.
Cancelling/declining a workflow stops and removes the daemon if nothing else is using it.
claude always opens a normal session unless the user asked for agent view.
claude doctor reports a running daemon and live background session count prominently.
Workaround that finally fixed it
bashpgrep -f "claude daemon run" | xargs kill
plus in ~/.claude/settings.json:
"disableAgentView": true
What Should Happen?
Don't ever turn common single words into magic actions that waste literally hours of people's time. Thanks for ruining my Saturday evening whoever implemented the rainbow "workflow" Easter Egg. Well done.
Error Messages/Logs
Steps to Reproduce
Don't ever turn common single words into magic actions that waste literally hours of people's time. Thanks for ruining my Saturday evening whoever implemented the rainbow "workflow" Easter Egg. Well done.
Claude Model
None
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
2.1.153 (auto-updated from a working 2.1.152), reproduced through 2.1.168
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
Don't ever turn common single words into magic actions that waste literally hours of people's time. Thanks for ruining my Saturday evening whoever implemented the rainbow "workflow" Easter Egg. Well done.
This issue has 6 comments on GitHub. Read the full discussion on GitHub ↗