Source Intelligence

DisclaimerUnofficial, and not affiliated with Anthropic. Nearly all of this is read straight out of what ships: npm bundles, captured prompts, published docs. Anthropic's own notes go in verbatim, marked as theirs. The rest is my reading, and every entry carries the strings behind it. If one looks wrong, vote it down and say why.

All of v2.1.251 Home All releases olderv2.1.250
Claude Code v2.1.251

Background daemon workers try to claim a controlling terminal

Use it now
Useful2 Signal3
Background Tasks not in their notes

Daemon-mode background workers now try to claim a controlling terminal at startup.

Feature flag
tengu_bg_worker_ctty Not enough to say

Nothing here resolved what this flag was doing on this version, so nothing here should be read as on or off.

This account: no value returned · anonymous baseline: no value returned · compiled default in v2.1.251: off

Read once, for one account on one subscription tier, against v2.1.251. It isn't a statement about your account. What a flag value here can and cannot tell you

CLAUDE_BG_BACKEND=daemon
What

When the background backend is run as a daemon (CLAUDE_BG_BACKEND=daemon), startup now tries to acquire a controlling terminal for the worker, gated by tengu_bg_worker_ctty which defaults to on. Normal interactive sessions never reach this. If the gate is off it only checks whether a terminal was already acquired.

Details
  • Outcomes recorded are acquired, already, failed, ffi_unavailable, not_a_tty, unsupported and switched_off.
  • Failures and the case where the native binding is unavailable are also sent through a separate error-reporting path, not just logged.
Evidence

bg_worker_ctty

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

See this entry in the whole of v2.1.251 →