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.