squad-kit 0.12.1 → 0.12.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,42 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.12.2] — 2026-08-25
11
+
12
+ ### Bug fixes
13
+
14
+ - **The planner never read any project files, then hung.** On the Agent SDK runtime a run reported
15
+ `reads 0/N`, the scout exhausted its turns without reaching `respond_with_scout_result`, the draft
16
+ produced a plan with no repo context, and the session then stalled indefinitely — the plan file was
17
+ written but the CLI and the console both kept spinning. Reported as
18
+ [#8](https://github.com/AzmSquad/Squad-Kit/issues/8). Two causes, both fixed:
19
+
20
+ 1. **Every tool call is gated on a permission decision**, and the runtime supplied no handler. The
21
+ model emitted `tool_use` for `read_file` / `grep` / `list_dir` and nothing ever executed them.
22
+ The runtime now grants its own `mcp__squad-kit-*` tools and denies everything else, so a tool
23
+ the planner did not register can never run during planning.
24
+ 2. **A claude.ai login carries the account's connectors into the session** as extra MCP servers
25
+ (Google Drive and friends), crowding the tool namespace the planner depends on — measured at 12
26
+ tools where the planner registers a handful. Planning now runs with `strictMcpConfig`, so it
27
+ sees only the tools squad-kit registers.
28
+
29
+ Verified on a real subscription run: `reads 0/25` and an indefinite hang before, `scout ✓` with
30
+ `reads 8/8` and a clean exit after.
31
+
32
+ **Scope.** Cause 2 needs a Claude subscription login and so only affects 0.12.x. Cause 1 is
33
+ auth-independent and dates to the Agent SDK runtime landing in **0.10.0**, so API-key users on
34
+ `planner.runtime.anthropic: agent-sdk` (the default for Anthropic) were most likely getting
35
+ context-free plans too. That inference follows from the mechanism; it has not been reproduced
36
+ against an API-key run.
37
+
38
+ ### Internal
39
+
40
+ - Pinned `packageManager` to `pnpm@9.15.9` and removed the duplicate pin from the CI workflow.
41
+ Corepack had been resolving pnpm 11 locally, which re-added a `packageManager` field on every
42
+ invocation, generated a stray `pnpm-workspace.yaml`, and failed `pnpm install` on unapproved
43
+ esbuild build scripts — breaking `pnpm build`, `pnpm test`, and `npm publish` (whose
44
+ `prepublishOnly` runs all three). The lockfile has always been `lockfileVersion 9.0`.
45
+
10
46
  ## [0.12.1] — 2026-08-24
11
47
 
12
48
  ### Bug fixes
package/dist/cli.js CHANGED
@@ -7214,6 +7214,13 @@ async function readSdkAccountInfo(q) {
7214
7214
  if (timer) clearTimeout(timer);
7215
7215
  }
7216
7216
  }
7217
+ var SQUAD_MCP_TOOL_PREFIX = "mcp__squad-kit-";
7218
+ function allowOnlySquadKitTools() {
7219
+ return async (toolName, input5) => toolName.startsWith(SQUAD_MCP_TOOL_PREFIX) ? { behavior: "allow", updatedInput: input5 } : {
7220
+ behavior: "deny",
7221
+ message: `The squad-kit planner may only call its own tools; refusing ${toolName}.`
7222
+ };
7223
+ }
7217
7224
  var AgentSdkRuntime = class {
7218
7225
  constructor(modelId, auth2) {
7219
7226
  this.modelId = modelId;
@@ -7313,6 +7320,11 @@ var AgentSdkRuntime = class {
7313
7320
  includePartialMessages: true,
7314
7321
  persistSession: false,
7315
7322
  settingSources: [],
7323
+ // A claude.ai login carries the user's connectors (Drive, etc.) into the session: they show up
7324
+ // as extra MCP servers and crowd the tool namespace the planner depends on. Planning must see
7325
+ // only the tools squad-kit registers.
7326
+ strictMcpConfig: true,
7327
+ canUseTool: allowOnlySquadKitTools(),
7316
7328
  abortController: ac,
7317
7329
  env: buildSdkEnv(this.auth),
7318
7330
  thinking,
@@ -7442,6 +7454,11 @@ var AgentSdkRuntime = class {
7442
7454
  includePartialMessages: true,
7443
7455
  persistSession: false,
7444
7456
  settingSources: [],
7457
+ // A claude.ai login carries the user's connectors (Drive, etc.) into the session: they show up
7458
+ // as extra MCP servers and crowd the tool namespace the planner depends on. Planning must see
7459
+ // only the tools squad-kit registers.
7460
+ strictMcpConfig: true,
7461
+ canUseTool: allowOnlySquadKitTools(),
7445
7462
  env: buildSdkEnv(this.auth),
7446
7463
  thinking,
7447
7464
  effort
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "squad-kit",
3
- "version": "0.12.1",
3
+ "version": "0.12.2",
4
4
  "author": "Momen Yasser <momenysr@gmail.com>",
5
5
  "description": "Plan once, execute cheap. A token-efficient, 3-step SDD workflow CLI (stories → plans → implementation).",
6
6
  "keywords": [
@@ -87,5 +87,5 @@
87
87
  "bugs": {
88
88
  "url": "https://github.com/AzmSquad/squad-kit/issues"
89
89
  },
90
- "packageManager": "pnpm@11.1.2+sha512.415a1cc25974731e75455c1468371be74c5aa5fb7621b50d4056d222451609f11412f23fd602e6169f1e060466641f798597e1be961a10688836a67b16569499"
90
+ "packageManager": "pnpm@9.15.9"
91
91
  }