9c573f1e3c
Decisions, environment quirks and pitfalls learned while working on AgentHub (docs/claude-memory/, indexed by MEMORY.md). Notes holding personal account details are left out. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
5.2 KiB
5.2 KiB
name, description, metadata
| name | description | metadata | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| claude-code-changelog-2-1-293 | Claude Code changelog 2.1.285–2.1.295 (to 2026-10-08) — items that touch AgentHub's hooks, plugins, resume, MCP, CLI, Workflow |
|
Source: https://code.claude.com/docs/en/changelog (re-read 2026-10-09). Installed on this box: 2.1.295 = latest (auto-updated). The local ~/.claude/cache/changelog.md is stale (stops at 2.1.139); always read the web page.
AgentHub-relevant changes:
- 2.1.295:
- Hooks get
onFailure: "block"for command/HTTP hooks: a hook that fails, times out or exits oddly BLOCKS the action. AgentHub's own hooks must keep the default (fail-open), per CLAUDE.md "Hooks: keep fail-safe and non-blocking". Never set it in plugin.json or the installer. - Program Status Protocol (OSC 7501): Claude Code reports working / waiting / done to the terminal. TESTED 2026-10-09: it cannot replace hooks and does not work through tmux; see osc7501-vs-hooks.
claude -pprints on stderr what it is waiting for when it stays open.- Subagents preload at most 32 skills.
- claude.ai connectors default to MCP protocol 2026-07-28 (
MCP_PROTOCOL_NEGOTIATION=legacyopts out). - Fixes:
- Background sessions no longer inherit
FORCE_COLOR=3. - Subagents in a linked worktree no longer see the parent's git branch/status.
- An async SessionStart hook's context is no longer re-added on every resume.
CLAUDE_ENV_FILEvars now survive/resumeand/branch.--tools/--restrictednow cover late-registered tools.- An Edit is no longer treated as a full read when the file changed without its mtime advancing.
- Background sessions no longer inherit
- Grep accepts
-l/-c/-r.
- Hooks get
- 2.1.294:
prompt/agenthooks written as instructions ("Block commands that…") no longer let through what they should block, and Stop/SubagentStop prompt hooks are judged better. - 2.1.293:
subagentStatusLinepayload gainsagentType; mods'classic.*hooks no longer skipped during plugin-hooks-worker restart;claude plugin testgetsmock.session. - 2.1.292:
claude plugin install --marketplace <source>(adds marketplace + installs in one step — could simplify the manual install command); stdio MCP negotiates protocol 2026-07-28 by default (MCP_PROTOCOL_NEGOTIATION=legacyopts out — relevant toagenthub mcp);/loopwakeups survive process restart. - 2.1.290:
claude attach <name>/claude logs <name>accept partial session names; plugin hooktool.checkhasagentId; permission rules re-applied after a PreToolUse hook rewrites input;CLAUDE_CODE_DISABLE_ATTACHMENTSno longer settable from repo.claude/settings*.json. - 2.1.289:
agent.spawnfor teammates, one agent id across plugin hook events, idle/waiting in$.agent.list(); fixed stale local-folder-marketplace plugin copies and mods not loading in first session after upgrade. - 2.1.288: resume/transcript-loss fixes; InstructionsLoaded hook now carries
agent_id/agent_type; PreToolUse/PermissionRequest now BLOCK the call if matching fails or input isn't JSON-serializable;claude project purge→claude purge(old name still works). - 2.1.287: Claude Mods (plugins modifying deeper behavior, function hooks); OTel
user_promptgainsprompt_text(mask likeprompt); MCPalwaysLoad: falsedefers all that server's tools behind tool search; "N hooks ran" no longer double-counts internal callbacks; SessionStart from synced plugins runs in cloud sessions. - 2.1.286:
--bareconnects only CLI-named MCP servers, no system reminders, no background tasks;/hooksis one grouped list; plugin installs refuse npm sources that are git repos/folders. - 2.1.285:
claude --desktop;claude plugin configure <plugin>(+--values-stdin);claude plugin install --config <server>.<key>=<value>; managedallowedProviders;CLAUDE_CODE_NONSTREAMING_TIMEOUT_RETRIES.
Nothing in this range changes --session-id, --worktree, /reload-plugins or tmux behavior that AgentHub relies on (see update-never-kills-panes).
Useful for the user's own workflow (beyond AgentHub):
- Skill evals (
learned:writing-agent-context→claude plugin eval): 2.1.292 makes a failedexpectin a test-registered hook, or a refused stub answer, FAILclaude plugin testinstead of passing silently, so a suite that was green before may now go red for a real reason. claude purgeis the new name ofclaude project purge./loopand scheduled tasks now survive resume, compaction and process restart (2.1.290/2.1.292).claude --desktopopens the current dir/session in the desktop app.- Workflow tool (2.1.295):
scriptPathis only accepted for a path the tool returned or a readable dir. The refusal now says to pass the script inline viascript.- Workflow scripts are persisted under ~/.claude/projects//…; copy one into an added dir (not /tmp, see tmp-wiped-on-reboot) to resume it.
- "May have been stopped by TaskStop" on resume was a false notice and is fixed.
- Forked skills inside workflow subagents now return to the invoking agent.
CLAUDE_CODE_RETRY_WATCHDOG_MAX_WAIT_MScaps unattended 429/529 retry waits.