[BUG] 2.1.295: main session skips a slash-command skill's set-title step it followed every time on 2.1.289 (8 of 26 runs vs 0 of 10)
Summary
Since updating to Claude Code 2.1.295, the main session started skipping one step of a slash-command skill. The skill text, the model and the workflow are unchanged; only the CLI version differs. Before 2.1.295 the step was never skipped in our transcripts. On 2.1.295 it was skipped on 8 of 26 runs.
The skill step
A project skill, invoked as /<plugin>:<skill> <id> (or by its bare name), tells the session to:
- Run a shell command that claims a work item. Its output includes a line
title: <text>. - Set the session title to that text with
mcp__ccd_session_mgmt__set_session_title(session_id: "self"). The tool is deferred, so the skill tells the session to load it first with ToolSearchselect:mcp__ccd_session_mgmt__set_session_title, and lists the tool in the skill'sallowed-tools. - Then launch a subagent with the Agent tool to do the work.
On 2.1.295 the session often goes straight from step 1 to step 3. When asked about it, the session says it read the title: line as output rather than as an instruction. Every session did set the title correctly at the end of the run, when the skill tells it to set an outcome title.
Measurement
We checked every local transcript from the last six days (one Mac running the desktop app's Code tab, with local sessions plus SSH sessions to a Linux host). For each run of step 1 that printed a title: line, we checked whether set_session_title was called before the next Agent call.
| Claude Code | Runs | Title set before the Agent call | Agent called first |
|---|---|---|---|
| 2.1.286 to 2.1.289 | 10 | 10 | 0 |
| 2.1.295 | 26 | 18 | 8 |
- Model: the main loop was
claude-sonnet-5-5in every run in both rows. - Skill text and command output: the skill's step text and the claim command's
title:line are byte-identical across the whole period (the skill was last edited before the first run counted). On 2.1.295 it was skipped both when invoked by its bare name and as<plugin>:<skill>. - The tool loaded the same way: every session, including the correct ones, had to load the title tool through ToolSearch, so a deferred tool is not new.
- Not separated: several of the 2.1.295 misses were second or later claims in long sessions. We have not checked whether those sessions had compacted first.
Expected
The same rate of following the skill as on 2.1.289: set the title before launching the subagent.
Possibly related
- #100813: on 2.1.295 the main session gets the skills listing late or never. Here the skill is invoked explicitly and its text does reach the transcript, so this may be a different symptom of the same change, or unrelated.
Question
Did 2.1.295 change how a slash-command skill's content, a Bash tool result, or the deferred-tool reminders are placed in the model's context? That would explain an instruction in the skill losing weight against the command output that follows it.
Environment: Claude Code 2.1.295 (desktop app Code tab, macOS; also SSH sessions to Linux), compared with 2.1.286 to 2.1.289 on the same machine.