Claude Code 2.1.318 landed on npm on Monday at 21:55 UTC. I covered 2.1.317 yesterday. This release is a lot longer and has one clear theme.
Your login no longer expires in silence
claude auth status now reports the end date of a stored claude.ai sign-in as
loginExpiresAt. In claude -p JSON results the same value appears as
credential_expires_at. And ten days before expiry, claude -p prints a one-line warning
to stderr.
A related fix went in: when a stored claude.ai login hit its time limit, sign-in used to
fail without explaining itself. Now it says so, and in claude -p it names
claude auth login and claude setup-token.
If you run Claude Code unattended—in CI, on a schedule, on a self-hosted runner—this is the first time you get advance notice instead of a silent failure.
For mods: effort when forking
A mod’s $.model.fork now accepts an effort option. A short side job can run at low
whatever effort the session uses, and the result reports which effort was actually sent.
Claude Code also keeps a record of your answer when it asks whether to turn on a mod it
wrote during the session.
Most of the fix list is about network home directories
The list is long, and a big share of it concerns configuration files. On network home
directories, ~/.claude.json, the settings files and the stored login are now less often
deleted, briefly emptied or replaced by an older copy. /logout, claude auth logout and
claude mcp remove no longer report success when the file could not be written at all.
And an empty ~/.claude.json with no backup is no longer treated as corrupted. Claude
Code starts as if the file were simply missing.
Other fixes you will notice day to day:
--continuesometimes lost the earlier conversation after a malformed tool call’s retries ran out, a regression from 2.1.314.- macOS sessions with many running Bash commands stalled while memory grew.
- Permission prompts were being answered by keys typed just after a message was sent.
- The “Now using usage credits” notice reappeared roughly every 30 seconds while a background subagent was running.
One behaviour change worth knowing: started in an IDE terminal, Claude Code no longer
installs or updates the IDE extension. Use /ide from an outside terminal, or your
editor’s extensions view.
The value is in the lead time
Visible features are thin in this release. The payoff sits in two lines near the top: an expiry date you can query, and a warning that arrives ten days early. Anyone who has discovered on a Monday morning that a nightly run had been signed out since Friday knows what that is worth.