Follow Discord
Sweep 10 Nov 2026 · 02:18Z Build v2.1.322 539 read Stable v2.1.311 Latest v2.1.322 Next v2.1.322 Feeds RSS JSON llms.txt llms-full.txt Unofficial

Claude Code v2.1.277 ·

set_cwd (/cd) can now re-anchor a fresh session's start-of-session state

Changing directory before any turn has run now fully re-derives session start state instead of just appending a notice

Group of 3 Use it now No documentation found Internal Changes
JSON All of v2.1.277
Use it nowTier: how much it should matter to you
3Useful: my rating, 1 to 5
3Signal: worth watching, 1 to 5
Directory ChangeArea: what it touches
Internal ChangesKind: in v2.1.277,
What probably matters to youSection of the release

What

  • The directory-move implementation behind /cd and the headless set_cwd control request now takes freshSession/confirmFresh options; when a session is fresh (no turns have run yet) and confirmed, changing directory fully re-derives start-of-session state — session_start hooks, memory, hook caches, and more — instead of just injecting a "directory changed" notice into context.
  • The set_cwd tool's description was expanded to explain this: before any turn has run, the move re-anchors the whole session as if it had started in the new directory, with no move notice shown; after a turn has run, prior context is preserved and the move is appended as a notice instead.
  • The control-request handler for set_cwd now computes whether the session is fresh (no messages dequeued, no assistant message in history) and threads that through as freshSession/confirmFresh. A new fresh_session telemetry field is recorded on the tengu_cd_command event.

Why

Previously, moving directories early in a session could leave stale start-of-session state, such as hooks or memory loaded from the old directory. Now Claude Code recognizes when nothing has happened yet and fully re-initializes as if the session had started in the new directory.

Read from
Names in the bundleset_cwd

See this entry in the whole of v2.1.277 →

Feedback