An Expired Login Was Nudging Max Users Toward Paid Usage — How Claude Code v2.1.227 Closed a Billing Mix-Up and a Total CI Wipeout
Claude Code v2.1.227 is mostly bug fixes. But it closes two holes that are easy to overlook in unattended operation: one that wrongly nudged Max users toward pay-as-you-go billing via an expired token, and one that wiped out every Bash command in CI on GitHub runners. Here's what to double-check.
The latest release of Claude Code, v2.1.227, is out. There are no headline features; the substance is mostly bug fixes. But two of them bear directly on unattended agents and on how billing is handled. Both are the kind of flaw that breaks quietly and is easy to miss, and left alone they can affect your bill or your CI.
An Expired Login Was Nudging Max Users Toward Paid Usage
This is the fix with the greatest real-world impact this time around. When a session began with the login token in an expired state, feature flags were being evaluated without taking the user's subscription plan into account.
As a result, Max plan users could be wrongly prompted to enable pay-as-you-go usage credits for the higher-end Fable model. In effect, a doorway to extra charges was being offered to people who shouldn't have needed to pay more at all.
Access to Fable has gradually shifted from being bundled for free to a metered usage-credit system, so misjudging the plan leads straight to billing confusion. v2.1.227 fixes this so that flags are evaluated with the subscription plan in mind even when the token has expired.
"Every Command Fails" in CI — the claude-code-action Pitfall
The other fix matters for automation. Using claude-code-action with allowed_non_write_users on a GitHub-hosted runner caused every single Bash command to fail.
Since it was a total failure rather than a partial one, the whole pipeline grinds to a halt. If you're running unattended, this is the kind of outage that eats up your time in narrowing down the cause. This release makes commands run successfully even in that configuration.
Smaller Fixes That Catch the Stragglers
- Conversation rewind: Fixed a bug where
/tuiwould bring back a conversation that had been rewound to a point before the first message. - Slash command menu: Only the selected row is now highlighted in blue, and matched characters are shown in bold rather than a different color. Emoji and accented names now keep their glyph shapes.
- Perceived speed: Reduced event-loop stalls that occurred when displaying candidates for files that weren't found and when checking the size of @-mentions, easing the hitches.
What to Check
The update itself arrives through the normal upgrade process. On top of that, it's worth confirming just two things to be safe.
- Billing: If you recall being prompted on Max or another higher-end plan to enable Fable credits, review your settings to make sure you didn't enable them unintentionally.
- CI configuration: If you run
claude-code-actionwithallowed_non_write_users, upgrade to v2.1.227 and confirm that your Bash steps pass.
Behind all this convenience, the agent's own state judgments increasingly sway billing and CI. Bugs like this time's — "losing sight of the plan" or "every command failing" — would be caught quickly if a person were watching constantly, but under unattended operation they can just as easily slip by. It suggests that the more you push automation, the more you need a practice of following the changelog so fixes like these don't get missed.
References: Claude Code changelog (official) / anthropics/claude-code CHANGELOG.md / Releasebot: Claude Code Updates