Files
AgentHub/docs/claude-memory/claude-code-changelog-2-1-293.md
T
nntrivi2001 9c573f1e3c docs: snapshot of the project's Claude Code memory
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>
2026-10-13 15:27:35 +07:00

5.2 KiB
Raw Blame History

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
node_type type originSessionId modified
memory reference f2f2cbeb-6ac1-4876-8b8a-f8dc6cd3a17b 2026-10-09T03:58:51.151Z

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 -p prints 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=legacy opts 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_FILE vars now survive /resume and /branch.
      • --tools/--restricted now cover late-registered tools.
      • An Edit is no longer treated as a full read when the file changed without its mtime advancing.
    • Grep accepts -l/-c/-r.
  • 2.1.294: prompt/agent hooks 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: subagentStatusLine payload gains agentType; mods' classic.* hooks no longer skipped during plugin-hooks-worker restart; claude plugin test gets mock.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=legacy opts out — relevant to agenthub mcp); /loop wakeups survive process restart.
  • 2.1.290: claude attach <name> / claude logs <name> accept partial session names; plugin hook tool.check has agentId; permission rules re-applied after a PreToolUse hook rewrites input; CLAUDE_CODE_DISABLE_ATTACHMENTS no longer settable from repo .claude/settings*.json.
  • 2.1.289: agent.spawn for 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_prompt gains prompt_text (mask like prompt); MCP alwaysLoad: false defers 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: --bare connects only CLI-named MCP servers, no system reminders, no background tasks; /hooks is 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>; managed allowedProviders; 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 failed expect in a test-registered hook, or a refused stub answer, FAIL claude plugin test instead of passing silently, so a suite that was green before may now go red for a real reason.
  • claude purge is the new name of claude project purge.
  • /loop and scheduled tasks now survive resume, compaction and process restart (2.1.290/2.1.292).
  • claude --desktop opens the current dir/session in the desktop app.
  • Workflow tool (2.1.295):
    • scriptPath is only accepted for a path the tool returned or a readable dir. The refusal now says to pass the script inline via script.
    • 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_MS caps unattended 429/529 retry waits.