# Claude Code 2.1.228: skill-sync hardening and a Write-tool rule change

> A large fix-only release covering TUI redraw hangs, Windows git discovery, self-hosted runner sessions, and settings merges. Two changes go beyond fixes: skills synced from claude.ai are now sandboxed so they can't shadow local commands or run `!` commands and `@` file expansions, and the Write tool now lets newer models overwrite a file they haven't read this session.

| | |
|---|---|
| **Tool** | Claude Code |
| **Version** | 2.1.228 |
| **Kind** | release |
| **Published** | 2026-08-11 |
| **Observed** | 2026-08-11 |
| **Significance** | 2/5 |
| **Breaking** | no |
| **Categories** | fix, security, feature |

## What changed


**Behavior changes**
- Write tool: newer models can overwrite an existing unread file, matching Edit's rules; older models still require a read first
- Skills synced from claude.ai are sandboxed — no shadowing local commands or MCP prompts, descriptions sanitized and labeled, bodies don't run `!` commands or expand `@` files
- Removed the outdated "auto mode costs slightly more" notice for Pro/Max/Team

**Fixes**
- Interactive sessions could stop redrawing while the process kept running, after a rare internal layout error
- `git` / Git Bash not found on Windows when launched from a parent folder of the git install
- `/tui` reverted the session to an earlier model when `/model` had changed since the last response
- Cross-session messaging started without an inbox in the first session after install or upgrade
- Remote Control `/resume` while connected leaked the resumed conversation's title or history into the connected session
- `claude self-hosted-runner` failed on every fresh runner when the `checkout` hook failed for a repo the session doesn't push to; that repo is now skipped with a warning
- Self-hosted runners ended sessions between a background task finishing and the follow-up turn starting
- Session cleanup deleted contents inside a project's memory folder
- Background plugin-cache cleanup deleted a plugin's cache when its only version was a symlinked dev checkout
- Settings merge: a marketplace entry redefined in a higher-precedence tier could inherit another tier's custom headers; entries now merge whole
- Deferred-tools reminder occasionally sent to the model twice after a skill invocation

**Improvements**
- Cross-session messages show sender and body inline; messages to Remote Control sessions on other machines show your Remote Control session name as sender
- Vertex AI: expired or missing Google Cloud credentials fail in seconds instead of retrying for minutes
- Compaction shows retry countdown and stall hint, not just a progress bar
- Terminal title spinner glyphs changed to reduce tab-bar jitter


## Sources

- [changelog_md](https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md) — retrieved 2026-08-11


## Community

_No curated reactions recorded. Facts and community takes are kept in separate layers
and never blended._

---
Canonical: https://changelogs.info/claude-code/2-1-228
Entity: https://changelogs.info/claude-code
Event ID: `evt_2026-08-11_claude-code_2-1-228`
Licence: event synthesis © changelogs.info, CC BY 4.0. Linked sources belong to their vendors.
