Skip to content

v0.34.0: align with Claude Code May 2026 update#29

Merged
Shahinyanm merged 1 commit into
masterfrom
v0.34.0-cc-update
May 13, 2026
Merged

v0.34.0: align with Claude Code May 2026 update#29
Shahinyanm merged 1 commit into
masterfrom
v0.34.0-cc-update

Conversation

@Shahinyanm
Copy link
Copy Markdown
Member

Summary

Claude Code shipped a sizeable update — hooks gain args: string[] (direct posix_spawn, no shell), MCP stdio servers receive CLAUDE_PROJECT_DIR, PostToolUse:Task ships parent_agent_id, claude plugin details <name> shows per-plugin metadata. v0.34.0 lines us up with all of it. 1293/1293 tests pass.

Changes

A — args: string[] for hook commands (P0)

  • hooks/hooks.json — every entry now ships both command (legacy CC) and args (new CC). Direct spawn eliminates the /bin/sh -c shim — sidesteps the class of EAGAIN burst-spawn failures observed on WSL.
  • src/hooks/installer.ts — new hookEntry() + buildHookArgs() helpers. npm-installer path (writes user settings.json) also emits args.
  • tests/hooks/installer.test.ts — regression guard asserts both fields present and well-formed across every section.

B — parent_agent_id capture (P1)

  • src/core/event-log.ts — optional parent_agent_id on HookEvent so dispatch chains can be reconstructed (main → general-purpose → tp-* delegate).
  • src/hooks/post-task.ts — forwards parent_agent_id when Claude Code provides it; older versions omit the field.

C — Startup diagnostic for CLAUDE_PROJECT_DIR (P2)

  • src/index.tsstartServer emits one mcp_startup diagnostic per process with project_root_source (CLAUDE_PROJECT_DIR / INIT_CWD / git-detect / args) and claude_project_dir_present. Fire-and-forget.

F — plugin.json polish

  • Subagent count corrected 22 → 25.
  • Sharper one-liner for claude plugin details token-pilot.

Migration

Existing users:

  1. claude plugin marketplace update token-pilot && claude plugin update token-pilot@token-pilot — Claude Code picks up args automatically.
  2. npm install -g token-pilot@latest — global CLI updates.
  3. token-pilot migrate-hooks — cleans any stale pinned paths from earlier installs (still relevant from v0.33.0).

No breaking changes — command field kept side-by-side so older Claude Code versions stay functional.

Test plan

  • npm run build clean (25 agents composed under 0.34.0)
  • npx vitest run → 1293/1293 pass
  • npx tsc --noEmit clean (pre-existing unreachable-after-exit warnings unchanged)

🤖 Generated with Claude Code

Claude Code shipped a sizeable update: hooks now support direct
posix_spawn via `args: string[]`, MCP stdio servers receive
`CLAUDE_PROJECT_DIR`, PostToolUse:Task carries
`x-claude-code-parent-agent-id`, and `claude plugin details` shows
per-plugin metadata. v0.34.0 lines us up with all of it.

A — `args: string[]` for hook commands (P0)
  - hooks/hooks.json: every hook entry now ships both `command` (legacy
    Claude Code) and `args` (new Claude Code). Direct spawn skips the
    `/bin/sh -c` shim, eliminates a class of EAGAIN burst-spawn
    failures observed on WSL, and removes a layer of shell quoting.
  - src/hooks/installer.ts: new `hookEntry(action, options)` helper
    that emits both fields uniformly; `buildHookArgs()` mirrors
    `buildHookCommand()`. The npm-installer path (writes user
    settings.json) now also emits `args`.
  - tests/hooks/installer.test.ts: new regression guard iterates
    every PreToolUse / PostToolUse / SessionStart entry and asserts
    both `command` and `args` are present and well-formed.

B — `parent_agent_id` capture (P1)
  - src/core/event-log.ts: optional `parent_agent_id` field on
    HookEvent so dispatch chains can be reconstructed (main →
    general-purpose → tp-* delegate, etc.).
  - src/hooks/post-task.ts: PostTaskHookInput accepts
    `parent_agent_id`; processPostTask forwards it to the appendEvent
    record when Claude Code populates it. Older versions omit the
    field; new shape stays back-compatible.

C — startup diagnostic for CLAUDE_PROJECT_DIR (P2)
  - src/index.ts: startServer emits one `mcp_startup` diagnostic per
    process with the source of the resolved projectRoot
    (CLAUDE_PROJECT_DIR / INIT_CWD / git-detect / explicit arg) plus
    a flag indicating whether CLAUDE_PROJECT_DIR was present at all.
    Fire-and-forget — no extra await before createServer (avoiding a
    flaky-test regression in tests/index-stdin.test.ts).

F — plugin.json description polish
  - 22 → 25 subagents (correct count).
  - Sharper one-liner that lists what `claude plugin details
    token-pilot` users see: AST-aware reads, find_usages, structural
    git diff/log, edit-safety guard, Task-routing matcher, telemetry,
    and the tp-* tiered roster.

Version bump 0.33.1 → 0.34.0 across the three manifests; agents
rebuilt under 0.34.0.

Tests: 1293/1293 (+1 from new args regression).
Build: clean.
@Shahinyanm Shahinyanm merged commit ba62594 into master May 13, 2026
0 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant