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.239 Home All releases olderv2.1.238 v2.1.240newer
Claude Code v2.1.239

Resuming a session that was in plan mode puts you back in plan mode

You'll notice
Useful4 Signal3
Plan Mode

Resuming a session that was in plan mode now puts you back in plan mode.

What

When you resume a session whose previous run was in plan mode, Claude Code now re-enters plan mode instead of starting in whatever mode the caller asked for. The guard is the remote flag tengu_tranquil_fern, which falls back to on, so this is active unless the server turns it off. It is skipped when forking a session and when the permission layer refuses.

Details
  • The session records its permission mode into internal metadata; on resume, if the recorded mode was plan and the live context is not, the permission context is forced to plan with source "internal".
  • Recording is latched: a call made during resume setup arms it, and permission-mode changes emit the metadata only once armed, so sessions that never went through that path record nothing.
  • Also requires the plan-presentation tool to be enabled.
  • An unrecognized recorded mode is logged and ignored rather than applied.
  • Telemetry tengu_worker_permission_mode_restore reports source, lane, trusted mode, recorded mode, target mode and whether the guard was on.
Evidence

[planModeResume] ignoring unrecognized internal_metadata.worker_permission_mode, tengu_worker_permission_mode_restore

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.239 →