●DESIGN — Claude Design gets a major update: design-system imports, direct canvas editing, and more export formats●CODE — Claude Design can start from your local codebase and hand a design off to Claude Code to implement●FABLE — Fable 5, a Mythos-class model made safe for general use, is now available in Claude Code v2.1.170●FIX — Mid-stream connection drops now preserve partial responses instead of showing a raw error●SCROLL — A new wheelScrollAccelerationEnabled setting disables mouse-wheel scroll acceleration in fullscreen●TIER — The Claude Design beta is available to Pro, Max, Team, and Enterprise customers●DESIGN — Claude Design gets a major update: design-system imports, direct canvas editing, and more export formats●CODE — Claude Design can start from your local codebase and hand a design off to Claude Code to implement●FABLE — Fable 5, a Mythos-class model made safe for general use, is now available in Claude Code v2.1.170●FIX — Mid-stream connection drops now preserve partial responses instead of showing a raw error●SCROLL — A new wheelScrollAccelerationEnabled setting disables mouse-wheel scroll acceleration in fullscreen●TIER — The Claude Design beta is available to Pro, Max, Team, and Enterprise customers
Claude Code Adds /cd — Carrying Your Warm Cache Across Repositories
Claude Code's new /cd moves a running session to another working directory without rebuilding the prompt cache. Here are the design calls and pitfalls when you sweep across several repositories in one sitting.
Some mornings I work through a handful of repositories one after another.
As an indie developer running the several sites behind Dolice Labs, I used to close the session after each repo and spin a fresh one up in the next directory. The moment I restarted, something disappeared: the prompt cache that had just warmed up. I re-fed the same context, repeated the same setup, and paid the wait and the tokens all over again.
On June 18, 2026, Claude Code added /cd — a command that moves a running session to a different working directory. It looks modest, but for anyone sweeping across repositories it reshapes the very structure of latency and cost.
The friction of being pinned to one directory
Before /cd, a cross-repo sweep looked roughly like this.
# Handle repo A → end the sessionclaude --resume # resume in directory A, cache is warm# To move to repo B, fold the session, cd, and relaunchcd ../repo-bclaude # a cold start. the prompt cache is discarded and rebuilt
The problem is that last line. Changing directories meant relaunching the process, which dropped both the conversation context and the cache.
Because tools operate from cwd, relaunching was the safe way to touch another repo's files. But every relaunch re-reads the system prompt and the project conventions. With four repositories, you pay that startup cost four times.
What /cd actually changes
/cd swaps the working directory while keeping the running session intact. Four behaviors are worth holding onto.
Aspect
When restarting
With /cd
Prompt cache
Discarded and rebuilt
Preserved, not rebuilt
Conversation context
Broken
Continues
Destination CLAUDE.md
Loaded as system prompt
Appended as a message
Session storage
Independent per directory
Relocated to the destination project
The first two of these have the largest effect on how a sweep feels.
✦
Thank you for reading this far.
Continue Reading
What follows includes implementation code, benchmarks, and practical content we hope you'll find useful. This site runs without ads — server and development costs are supported entirely by members like you. If it's been helpful, we'd be truly grateful for your support.
WHAT YOU'LL LEARN
✦Understand exactly how moving directories without restarting keeps a warm prompt cache alive, and how that lands on both cost and latency
✦Account for the fact that the destination CLAUDE.md is appended as a message rather than replacing the system prompt, so your instructions never quietly collide across repos
✦Build a post-session hook that pushes teardown work — log writes, .next cleanup — onto Claude Code itself, with a working settings.json example
Secure payment via Stripe · Cancel anytime
✦
Unlock This Article
Get full access to the rest of this article. Buy once, read anytime. This site is ad-free — your support goes directly toward keeping it running.
The prompt cache pays off when you repeatedly send the same prefix. Cached input tokens are far cheaper than ordinary input, and the response comes back faster.
In a sweep, your shared context — coding conventions, preferred review lenses, prior exchanges — becomes that prefix. Restarting reset the prefix to zero every time. /cd keeps the prefix and swaps only cwd, so the cache benefit carries over.
Here is a rough estimate using my own numbers.
Shared prefix: ~12,000 tokensRepositories to sweep: 4Restart model: 12,000 tokens × 4 at full input price/cd model: 12,000 once, then 3 reads at the cache-read priceIf cache reads cost about 1/10 of input 48,000 → 12,000 + (12,000 × 3 × 0.1) = ~15,600 token-equivalentsroughly a 70% reduction
The numbers shift with your assumptions, but the lever is clear. The larger your shared prefix and the more repos you cross, the more the preservation compounds. Latency drops for the same reason.
The destination CLAUDE.md arrives as a "message"
This is the behavior I watch most closely in operations.
After a /cd, the destination CLAUDE.md does not replace the system prompt; it arrives as a message appended to the conversation. The source conventions stay, and the destination's rules stack on top as instructions added later.
The upside is that context never breaks mid-sweep. You keep the direction you agreed on in the previous repo and layer the next repo's specifics on top.
The pitfall comes from the same structure. If the source and destination define conflicting rules, both linger in the conversation and compete. If the source says "write in plain form" and the destination says "write in polite form," the later instruction does not necessarily override the earlier one.
Given this, I switched to opening each repository's CLAUDE.md with a short "overrides for this repository" note — one line so that, even mid-sweep, I don't mistake which instruction reflects the current intent.
Session relocation and --resume / --continue
After a /cd, the session is relocated to the destination project's storage, and --resume and --continue resolve from there.
# Move the working directory during a session/cd ../repo-b# This session now belongs to repo-b's project history# Later, to pick it back up in repo-bclaude --continue # the session is visible from repo-b's side
There are two operational implications.
First, the sweep's history ends up tied to "the last project you were in." When you look back, you need to remember which project's history to open.
Second, a long session that hopped across repos collapses to a single re-entry point. In my case, I pick a fixed starting directory and /cd back to it before folding the session.
A real cross-repo procedure
Here is the flow I follow in daily sweeps, written so you can reproduce it.
1. Warm the shared prefix in the first directory
In the first repository, run through the context common to the whole sweep — review lenses, things to avoid. The prompt cache warms up at this point.
2. Move to the next repo with /cd
Without folding the session, move to the next directory with /cd. The shared prefix stays as the cache prefix, and the destination CLAUDE.md arrives as an appended message.
3. Confirm each repo's "overrides" up front
Read the destination-specific rules first and explicitly settle only the points that clash with the shared prefix. Skip this and the instruction collision gets hard to notice later.
4. Return to the start before folding
When everything is done, /cd back to the starting directory and then end the session. It keeps the re-entry door in one place.
Pushing teardown onto a post-session hook
The same June 18 update added post-session hooks that run after a session ends, which widens the room to push your "cleanup" onto Claude Code itself.
I used to delete .next and write an update log by hand after each repo. Moving teardown into a hook means I stop repeating the same chores on every pass.
#!/usr/bin/env bash# .claude/teardown.sh — post-session cleanupset -euo pipefail# Clear build artifacts (avoid running out of space next time)rm -rf ./.next 2>/dev/null || true# Write a dated close log (fix TZ to avoid overwriting the prior day's log)TS="$(TZ=Asia/Tokyo date '+%Y-%m-%d %H:%M')"echo "[$TS] session closed in $(basename "$PWD")" >> ./.claude/session.log
The configuration safe mode that shipped alongside isolates a broken config and keeps starting up. In unattended runs, a settings mistake halting the whole session is the most painful failure, so a behavior that quarantines the problem and keeps going was a genuinely welcome improvement.
Things I watch when adopting it
A few cautions I keep in mind when folding /cd into operations.
First, coexisting conflicting rules. As noted, the destination CLAUDE.md arrives as an append, so the source policy remains. Write each repository's rules at a granularity that does not collide.
Second, awareness of relocation. A long sweep ties to the last project you were in, so without a fixed starting point you end up hunting for history.
Third, not over-preserving. Carrying context is an advantage, but dragging unrelated assumptions into a different domain adds noise to the reasoning. When the topic shifts hard, I sometimes choose a clean restart over preservation.
/cd is not a flashy feature. Still, for an indie developer hopping across repositories, it quietly trims the accumulating wait and cost. I hope it helps the operational design of anyone running similar cross-repo work. Thank you for reading.
Share
Thank You for Reading
Claude Lab is ad-free, supported entirely by members like you. We publish practical guides daily with implementation code, benchmarks, and production-ready patterns. If you've found it useful, we'd love to have you on board.