Anthropic published a blog post breaking down how to run efficient sessions that get the most value from every token.
The underlying idea, keep context short and relevant, applies beyond Claude Code. The slash commands and prompt-cache behavior below are specific to Claude Code.

6 tips
- Use
/clearwhen you start an unrelated task so the next task does not carry irrelevant context. - Set model and effort level at the start. Changing the model or effort level mid-conversation changes the cache key, so the next turn may need to prefill the conversation again.
- An
@-mention attaches the file to the message and can avoid a separate Read call. Mention it once per conversation because attaching it again can add a second copy. - Noisy command output stays in the conversation and is sent again on later turns. Use quiet flags or a subagent when the process is noisy but the final answer is short.
- Run
/contextonce in a fresh session. See what's loaded, cut what you don't need, disable unused MCP servers. - If you need to compact before a break, do it while the existing conversation is still cached. Anthropic says writing the summary is cheaper before the cache expires.
Easy to miss
- Wrong direction?
/rewind, not/compact. Rewind only cuts the last few turns, cache stays intact. Compact rewrites the whole conversation. /loopbelongs in its own session. Every poll is a full request carrying your entire main context. A clean session keeps it light.- Keep
CLAUDE.mdfocused on specific, reusable instructions and quiet command variants. Move task-specific workflows into skills that load only when needed. Disable unused MCP servers with/mcp. - Subagents work best when the process is noisy but the answer is short. Long logs, bulk test output, repo-wide searches. For small tasks, the overhead isn't worth it.
