Claude Code Updates: September 2026
SendMessage → parser-tests
Timestamps can include a timezone offset. Please add that test case.
Reply received: test case planned.
Message from parser-implementation
Timestamps can include a timezone offset. Please add that test case.
Reply: I'll add an offset timestamp case.
If you have two Claude Code sessions working on a project, copying answers between their terminals gets old quickly. The Claude Code updates worth catching up on this September let those sessions exchange findings directly, tell you when another session becomes idle, and explain more of what happens to your prompt cache.
Some of that groundwork shipped in August. This roundup separates it from the September additions, using official release dates through 11 September 2026. The aim is to help you decide what to try on a student project, without making you read pages of bug fixes.
Start with messaging. It is useful on a small project long before you need a large team of agents.
TL;DR
Message your other sessions. August added cross-session SendMessage and ListAgents. Pass a specific finding instead of copying context between terminals.
Ask once for an idle notice. August's notify_when_idle lets your main conversation watch another local session. An idle notice does not mean its tests passed.
Let long background commands finish. September removed the one-hour limit on background commands started by subagents. Keep a completion signal and captured output.
Investigate cache misses. August added the cache meter; September added likely miss causes. Its figures cover the main conversation, not subagents.
Keep parallel edits separate. Use existing Git worktrees for file isolation, then review and test the combined result. Cross-machine messaging also needs eligible Remote Control access.
SendMessage and ListAgents: Stop Relaying Every Answer
Cross-session messaging connects independent Claude Code sessions. ListAgents discovers reachable sessions; SendMessage sends plain text to one by name. You ask in ordinary language. These are tools Claude uses, not shell commands you run yourself.
For example, suppose you are building a parser for practice firewall logs. One session investigates the log format while another writes tests. Ask the first:
Tell the session writing parser tests that timestamps can include a timezone offset. Ask it to include that case.
The receiving session reads the message between tool calls. If it is idle, a delivered message starts a new turn. Its current command is not interrupted halfway through.
The message does not transfer the sender's conversation history or files. Give it the finding, the relevant path or commit, and what you need next. “It works now” is a poor handoff. “The parser accepts timezone offsets; add a test for an offset timestamp” gives the other session something useful to do.
August groundwork: v2.1.224, published 7 August, announced cross-session messaging on macOS and Linux. v2.1.225, published 8 August UTC, added starting conversations with Remote Control sessions on other machines by name. September did not introduce either capability.
Name sessions clearly with /rename, then use /list-agents to check what is reachable. Names such as “parser implementation” and “parser tests” are easier to recognise than several sessions with similar generated titles.
notify_when_idle: Ask Once, Then Keep Working
The small addition I would try first is notify_when_idle. It arrived in v2.1.236 on 19 August.
Ask your main conversation:
Tell me when the parser-tests session finishes its current turn. While it works, help me write the README explanation.
Claude can subscribe for one notice without starting a turn or spending tokens in the watched session. If it is already idle, the notice arrives immediately. It can also attach the subscription to a message; in that case the message is delivered first.
There are important boundaries. This notification is for another independent session on the same machine. Only the main conversation can subscribe. Subagents and team teammates cannot use it to register their own subscriptions, and it does not watch a session on another computer. Both local sessions need v2.1.236 or later.
“Idle” means the session finished a turn with nothing queued. It does not mean the tests passed, the code is correct, or a background process has finished. Ask for the actual test command, exit status, and output before treating the work as complete.
The subscription is one-shot and expires after 12 hours if no notice arrives. Inbound message controls also apply. This is a convenient handoff signal, not a durable job scheduler or a guarantee of success.
For our parser exercise, that distinction is useful: continue writing while the testing session works, then inspect its evidence when the notice arrives. There is no reason to ask “done yet?” every minute.
Continue the README. The notice arrives once.
One notice received: parser-tests is idle.
Idle: current turn finished; nothing queued.
Idle does not mean tests passed.
Across Machines: Check the Account and Connection
Same-machine messaging and cross-machine messaging have different requirements. Mixing them up leads to instructions that work on your laptop but fail on someone else's corporate setup.
Version 2.1.248, published 27 August, extended same-machine messaging to Bedrock, Vertex, and Foundry, and to sessions with telemetry disabled. That release does not promise cross-machine messaging on those providers.
To discover sessions beyond your machine, the current documentation requires an active claude.ai sign-in and a connection to Remote Control. Remote Control is available on eligible Pro, Max, Team, and Enterprise plans; Team and Enterprise also require an administrator to enable it. API keys and the listed third-party cloud-provider configurations do not qualify.
Picture a laptop session asking a desktop session for a build result. The desktop session needs its Remote Control connection. An offline listing is not proof that the message has been read: delivery waits for that machine to reconnect. Check the send result rather than interpreting silence as success.
You also need to check the receiving session's inbound controls. Messages can be delivered, held for approval, or refused. A message from another session cannot approve a permission prompt on your behalf.
For a first exercise, use two sessions on one machine. Get discovery, naming, and a useful handoff working there before adding remote connections.
Keep Parallel Edits in Separate Worktrees
Messaging helps sessions exchange information. It does not stop them overwriting the same working files.
A Git worktree gives each session a separate working directory and branch while sharing the repository's history. For the parser project, you might give one session the implementation branch and the other a tests branch. They can discuss the input format without editing the same checkout.
Tell each session which files it owns and where the boundary is. If both need to change the parser's public interface, agree that interface first or do that portion sequentially. Two agents confidently implementing incompatible signatures will still leave you with integration work.
The diagram shows the separation, not an automatic merge. Review both diffs, integrate them deliberately, and rerun the tests on the combined result. A green test run on each branch separately does not prove they work together.
This is existing workflow advice, not a new September feature. It matters because better messaging makes parallel work easier to start, including work that should have stayed sequential. Our guide to AI-driven engineering covers the wider shift from writing every line to directing and verifying the work.
September Removes a Background-Command Time Limit
Version 2.1.260, published 3 September, removed the one-hour time limit on background commands started by subagents. The release notes say those commands now run until they exit or are stopped, matching the main session.
That scope matters. It is not a promise that every agent, scheduled task, or remote session can run forever. A process can still fail, lose access to a resource, or be stopped. You still need a completion signal and captured output.
A practical use is a long local test suite or a batch conversion of your own sample logs. Let a subagent start the work in the background and continue with something independent. Specify what success looks like and where the output should go. Also specify when to stop if the job makes no progress.
The 200-subagent lifetime spawn cap was removed earlier, in v2.1.224 on 7 August. Concurrency and depth limits still apply. Removing that cap does not mean you can run 200 agents simultaneously, or that doing so would improve a student project.
Start with one implementation session and one narrowly scoped helper. More agents add more output to inspect and more interfaces to reconcile. The release notes establish that particular limits changed; they do not establish a productivity gain for your workload.
Prompt Cache: See the Miss, Then Investigate the Cause
The cache changes are worth understanding even if you never run parallel sessions.
Prompt caching reuses an unchanged prefix of a model request. Stable instructions and tool definitions can remain reusable across turns. Changing part of that prefix can require the affected portion to be processed again. It does not follow that every change invalidates every token in the conversation.
August groundwork: v2.1.251, published 28 August, added a per-session prompt-cache line to /cost and a matching prompt_cache object for status-line scripts. The line reports cache use, misses, re-cached tokens, and warm or cold state.
September addition: v2.1.260 added a likely cause for cache misses, such as changed tool definitions, a changed system prompt, or expiry after an idle period. “Likely” is doing useful work there. It is a diagnostic clue, not a controlled experiment proving why your bill changed.
The current cost documentation places these figures in the Session block of /usage; the release notes name /cost. Use the command your installed version exposes and look for “Prompt cache (main)”.
Start with an existing cached prefix. Choose a scenario below; no measured values are shown.
No token counts or costs are simulated. Conversation here means the unchanged earlier prefix, not the new message.
Two details prevent misreading the meter. First, hit_ratio is the share of input tokens served from cache, not the percentage of requests that were cache hits. Second, these statistics cover the main conversation, not subagent requests. They cannot tell you the total cost of a whole agent team.
Warm means the cached prefix is still within its lifetime. Cold after a long break is not automatically a defect. The current documentation also separates expected rebuilds after compaction or tool-result clearing from other misses.
Try a small investigation on your next coding exercise. Inspect the cache line after several turns on one task. If it names a likely miss cause, record what changed. Repeat the task with one relevant variable held steady, then compare. Avoid removing useful tools simply to chase a prettier ratio.
For a persistent display, ask /statusline to show cache warmth and the input-token cache ratio, using the official prompt_cache field reference. The object appears only after the first main-conversation API response, so the script must handle missing values.
Subscribers should not read a session's API-style cost estimate as a separate invoice. Billing depends on how you access the service. For a broader practical checklist, see reducing Claude Code token usage.
What to Try on Your Next Project
Use a project small enough that you can inspect the result yourself. A log parser with a few known input cases is a better first exercise than an unattended rewrite of your application.
Name two local sessions, divide their responsibilities, and ask one to send a specific finding to the other. Subscribe for one idle notice from the main conversation. If both sessions will edit code, give them separate worktrees. Finally, inspect the combined test output and the main conversation's cache statistics.
Keep the useful parts. You may find direct messages valuable but a second editing agent unnecessary. That is a perfectly good result. The practical test is whether you spend less time relaying context and more time checking work you understand.
Frequently Asked Questions
Did cross-session messaging launch in September?
No. The relevant announcement was v2.1.224 on 7 August 2026. This September roundup includes that August groundwork alongside September's background-command and cache-diagnostic additions.
Can notify_when_idle watch another computer?
No. It is for the main conversation to watch another independent session on the same machine. Cross-machine text messaging is a separate capability with Remote Control and account requirements.
Does a high cache ratio prove an agent workflow is cheap?
No. The ratio describes cached input tokens in the main conversation. It excludes subagent requests and does not account for every part of your total usage or billing.
Sources and Scope
Release dates above are GitHub's published dates in UTC, checked on 11 September 2026. Current official documentation supplies the usage and availability details. The student exercises are suggested applications, not reports of Nathan running those experiments. No hour-long runtime test, 200-agent experiment, cache benchmark, or measured productivity improvement is claimed.
Last updated: 11 September 2026.
About the Author
Nathan House, Founder & CEO of StationX
Nathan House has 30 years of hands-on cybersecurity experience and is Cambridge-educated, holding CISSP, CISA, CISM, OSCP, CEH, and SABSA. He founded StationX in 1999 — one of the UK’s first cybersecurity companies — and has secured £71 billion in UK mobile banking transactions and the London 2012 Olympics, advising clients including Microsoft, Cisco, BP, Vodafone, and VISA. He authored the world’s most popular cybersecurity course — a #1 Udemy bestseller taken by over 500,000 students — and was named Cyber Security Educator of the Year 2020, AI Security Educator of the Year, and a UK Top 25 Security Influencer 2025. A DEF CON speaker and featured expert on CNN, Fox News, NBC, and the BBC, Nathan leads StationX’s training of more than half a million students worldwide.