• turbo 2.10.12 • Packages in scope: bb-plugin-provider-claude-code • Running test in 1 packages • Remote caching disabled @bb/plugin-build:generate: cache miss, executing 62b33af7c21bff33 @bb/templates:generate:plugin-scaffold: cache miss, executing 2bbc18b30287d1a7 @bb/templates:generate:templates: cache miss, executing c00c3619b714df59 //:ensure-native-modules: cache bypass, force executing a810bc2d78a21649 @bb/templates:generate:plugin-scaffold: @bb/templates:generate:plugin-scaffold: > @bb/templates@0.0.1 generate:plugin-scaffold CHECKOUT/packages/templates @bb/templates:generate:plugin-scaffold: > node ./scripts/generate-plugin-scaffold.mjs @bb/templates:generate:plugin-scaffold: //:ensure-native-modules: //:ensure-native-modules: > bb@ ensure-native-modules CHECKOUT //:ensure-native-modules: > node scripts/ensure-native-modules.mjs //:ensure-native-modules: @bb/plugin-build:generate: @bb/plugin-build:generate: > @bb/plugin-build@0.0.1 generate CHECKOUT/packages/plugin-build @bb/plugin-build:generate: > node ./scripts/generate-plugin-theme.mjs && node ./scripts/generate-runtime-export-manifest.mjs @bb/plugin-build:generate: @bb/templates:generate:templates: @bb/templates:generate:templates: > @bb/templates@0.0.1 generate:templates CHECKOUT/packages/templates @bb/templates:generate:templates: > node ./scripts/generate-templates.mjs @bb/templates:generate:templates: //:ensure-native-modules: [ensure-native-modules] Detached hardlinked better-sqlite3 binary before verification @bb/plugin-build:generate: plugin-theme.generated.ts up to date @get-bb/plugin-sdk:build: cache miss, executing 0dcf1389f1011a4d @bb/plugin-build:generate: wrote CHECKOUT/packages/plugin-build/src/generated/runtime-export-manifest.generated.ts (react@19.2.4) @get-bb/plugin-sdk:build: @get-bb/plugin-sdk:build: > @get-bb/plugin-sdk@0.6.6 build CHECKOUT/packages/plugin-sdk @get-bb/plugin-sdk:build: > node scripts/build-runtime.mjs @get-bb/plugin-sdk:build: @get-bb/plugin-sdk:build: Built 19 @get-bb/plugin-sdk runtime entries. bb-plugin-provider-claude-code:test: cache miss, executing eae0a1f94ee0e845 bb-plugin-provider-claude-code:test: bb-plugin-provider-claude-code:test: > bb-plugin-provider-claude-code@0.1.0 test CHECKOUT/plugins/provider-claude-code bb-plugin-provider-claude-code:test: > vitest run --config vitest.config.ts "src/bridge/__tests__/issue-4418-launch.test.ts" "src/bridge/__tests__/sdk-session.test.ts" "src/bridge/__tests__/bridge.test.ts" bb-plugin-provider-claude-code:test: bb-plugin-provider-claude-code:test: bb-plugin-provider-claude-code:test: RUN v4.1.1 CHECKOUT/plugins/provider-claude-code bb-plugin-provider-claude-code:test: bb-plugin-provider-claude-code:test: ✓ |bb-plugin-provider-claude-code| src/bridge/__tests__/sdk-session.test.ts (15 tests) 19ms bb-plugin-provider-claude-code:test: ✓ |bb-plugin-provider-claude-code| src/bridge/__tests__/issue-4418-launch.test.ts (8 tests) 12ms bb-plugin-provider-claude-code:test: {"jsonrpc":"2.0","id":2,"result":{"ok":true}} bb-plugin-provider-claude-code:test: {"jsonrpc":"2.0","id":2,"result":{"ok":true}} bb-plugin-provider-claude-code:test: {"jsonrpc":"2.0","id":2,"result":{"ok":true}} bb-plugin-provider-claude-code:test: {"jsonrpc":"2.0","id":2,"result":{"ok":true}} bb-plugin-provider-claude-code:test: claude-code bridge: Invalid params for turn/start: params.clientRequestId: Invalid string: must match pattern /^creq_[23456789abcdefghijkmnpqrstuvwxyz]{10}$/u bb-plugin-provider-claude-code:test: claude-code bridge: Unknown method: turn/teleport bb-plugin-provider-claude-code:test: claude-code bridge: Invalid params for thread/resume: params.providerThreadId: Invalid input: expected string, received null bb-plugin-provider-claude-code:test: {"jsonrpc":"2.0","id":2,"result":{"ok":true}} bb-plugin-provider-claude-code:test: {"jsonrpc":"2.0","id":2,"result":{"ok":true}} bb-plugin-provider-claude-code:test: {"jsonrpc":"2.0","id":2,"result":{"ok":true}} bb-plugin-provider-claude-code:test: {"jsonrpc":"2.0","id":2,"result":{"ok":true}} bb-plugin-provider-claude-code:test: {"jsonrpc":"2.0","id":2,"result":{"ok":true}} bb-plugin-provider-claude-code:test: {"jsonrpc":"2.0","id":2,"result":{"ok":true}} bb-plugin-provider-claude-code:test: {"jsonrpc":"2.0","id":2,"result":{"ok":true}} bb-plugin-provider-claude-code:test: {"jsonrpc":"2.0","id":2,"result":{"ok":true}} bb-plugin-provider-claude-code:test: {"jsonrpc":"2.0","id":2,"result":{"ok":true}} bb-plugin-provider-claude-code:test: ❯ |bb-plugin-provider-claude-code| src/bridge/__tests__/bridge.test.ts (79 tests | 1 failed) 468ms bb-plugin-provider-claude-code:test: ✓ publishes a context snapshot after a turn and invalidates it at compaction 128ms bb-plugin-provider-claude-code:test: ✓ answers model/list with the missing-executable code when the Claude CLI is absent 5ms bb-plugin-provider-claude-code:test: ✓ forks a Claude session through the requested provider checkpoint 6ms bb-plugin-provider-claude-code:test: ✓ keeps manager sessions on a plain string system prompt 1ms bb-plugin-provider-claude-code:test: ✓ decomposes ultracode into xhigh effort plus the ultracode settings flag 0ms bb-plugin-provider-claude-code:test: ✓ enables workflows without the ultracode flag at lower efforts 0ms bb-plugin-provider-claude-code:test: ✓ sets fast mode only for the fast service tier at session start 0ms bb-plugin-provider-claude-code:test: ✓ passes the memory setting when workflows are not enabled 0ms bb-plugin-provider-claude-code:test: ✓ disables Claude auto-memory reads and writes 1ms bb-plugin-provider-claude-code:test: ✓ passes --chrome only when Claude in Chrome is enabled 1ms bb-plugin-provider-claude-code:test: ✓ leaves standard sessions on the default Claude tool preset 0ms bb-plugin-provider-claude-code:test: ✓ passes Claude local plugins through to the session 0ms bb-plugin-provider-claude-code:test: ✓ passes the resolved Claude permission mode through to the session 0ms bb-plugin-provider-claude-code:test: ✓ uses a Claude executable discovered from PATH for SDK sessions 1ms bb-plugin-provider-claude-code:test: × falls back to well-known install locations when PATH discovery fails 10ms bb-plugin-provider-claude-code:test: ✓ lets an explicit Claude executable override PATH discovery 1ms bb-plugin-provider-claude-code:test: ✓ trims explicit Claude executable overrides before forwarding 1ms bb-plugin-provider-claude-code:test: ✓ rejects explicit Claude executable overrides that are not executable 1ms bb-plugin-provider-claude-code:test: ✓ configures acceptEdits and auto sessions with the same Claude sandbox 0ms bb-plugin-provider-claude-code:test: ✓ keeps plan sessions on native gating without the workspace sandbox 0ms bb-plugin-provider-claude-code:test: ✓ 'auto workspace sandbox denies out-of-…' 11ms bb-plugin-provider-claude-code:test: ✓ 'escalation deny blocks unsandboxed Ba…' 5ms bb-plugin-provider-claude-code:test: ✓ 'full bypass allows Bash input unchang…' 4ms bb-plugin-provider-claude-code:test: ✓ forwards unresolved high-risk auto-mode asks to bb 6ms bb-plugin-provider-claude-code:test: ✓ forwards a sandbox network ask with a grantable network permission 4ms bb-plugin-provider-claude-code:test: ✓ forwards AskUserQuestion through canUseTool and returns the answer payload 7ms bb-plugin-provider-claude-code:test: ✓ forwards ExitPlanMode for user approval in 'plan mode' 8ms bb-plugin-provider-claude-code:test: ✓ forwards ExitPlanMode for user approval in 'bypassPermissions' 6ms bb-plugin-provider-claude-code:test: ✓ returns to the user's permission preset once a plan is approved 9ms bb-plugin-provider-claude-code:test: ✓ translates tagged dollar skill mentions without changing plain dollar text 4ms bb-plugin-provider-claude-code:test: ✓ switches a live session into Plan mode when a later turn carries /plan 7ms bb-plugin-provider-claude-code:test: ✓ enters Plan mode from a /plan steer and only re-requests it after the plan is approved 10ms bb-plugin-provider-claude-code:test: ✓ fails a /plan turn instead of running it in the old mode when the SDK refuses the switch 4ms bb-plugin-provider-claude-code:test: ✓ denies ExitPlanMode without prompting when the plan is missing 4ms bb-plugin-provider-claude-code:test: ✓ dispatches an inbound request whose id collides with a pending bb request 8ms bb-plugin-provider-claude-code:test: ✓ answers a schema-invalid request with an error instead of dropping it 1ms bb-plugin-provider-claude-code:test: ✓ denies invalid AskUserQuestion input before forwarding to bb 4ms bb-plugin-provider-claude-code:test: ✓ denies AskUserQuestion when bb returns an interactive request error 4ms bb-plugin-provider-claude-code:test: ✓ denies AskUserQuestion when bb returns an invalid response payload 5ms bb-plugin-provider-claude-code:test: ✓ denies AskUserQuestion when bb returns a mismatched response kind 6ms bb-plugin-provider-claude-code:test: ✓ returns the bridge-owned Claude model list from the SDK probe 2ms bb-plugin-provider-claude-code:test: ✓ treats an empty Claude model report as a discovery failure 1ms bb-plugin-provider-claude-code:test: ✓ propagates Claude model discovery failures and closes the probe 1ms bb-plugin-provider-claude-code:test: ✓ exposes the host HOME and CLAUDE settings cascade to the Claude SDK on thread/start 3ms bb-plugin-provider-claude-code:test: ✓ includes captured Claude stderr when the SDK stream fails 3ms bb-plugin-provider-claude-code:test: ✓ passes thread/start max reasoningLevel through to Claude SDK effort and thinking display 4ms bb-plugin-provider-claude-code:test: ✓ passes thread/start additional workspace-write roots to Claude SDK options 4ms bb-plugin-provider-claude-code:test: ✓ passes thread/resume additional workspace-write roots to Claude SDK options 5ms bb-plugin-provider-claude-code:test: ✓ returns an existing live same-provider thread/resume session 7ms bb-plugin-provider-claude-code:test: ✓ rebuilds for enforcement changes but applies model changes live 6ms bb-plugin-provider-claude-code:test: ✓ keeps a live Claude session across an escalation-only resume change 6ms bb-plugin-provider-claude-code:test: ✓ restarts the Claude process before the next turn when chromeEnabled changes 8ms bb-plugin-provider-claude-code:test: ✓ restarts the Claude process before the next turn when disable1MContext changes 7ms bb-plugin-provider-claude-code:test: ✓ applies turn model, reasoning, memory, workflow, and subagent settings live 5ms bb-plugin-provider-claude-code:test: ✓ keeps background subagents on their parent tool escalation when canUseTool omits agent metadata 8ms bb-plugin-provider-claude-code:test: ✓ replaces a live thread/resume session when the provider thread differs 6ms bb-plugin-provider-claude-code:test: ✓ refuses a thread/resume with no provider thread id 1ms bb-plugin-provider-claude-code:test: ✓ replaces a stream-ended same-provider thread/resume session 6ms bb-plugin-provider-claude-code:test: ✓ waits for a closing same-provider thread/resume session before replacing it 7ms bb-plugin-provider-claude-code:test: ✓ resumes a Claude session when follow-up arrives after an SDK stream error 8ms bb-plugin-provider-claude-code:test: ✓ restarts a Claude session before the next turn after an authentication failure 11ms bb-plugin-provider-claude-code:test: ✓ does not resume an ended Claude session for invalid follow-up input 5ms bb-plugin-provider-claude-code:test: ✓ forwards stale Claude resume errors without starting a fresh session 7ms bb-plugin-provider-claude-code:test: ✓ holds thread stop open until the Claude SDK stream closes 5ms bb-plugin-provider-claude-code:test: ✓ waits for an in-flight close before replacing the same thread 8ms bb-plugin-provider-claude-code:test: ✓ opens 'turn start' when the SDK consumes input before producing output 6ms bb-plugin-provider-claude-code:test: ✓ opens 'turn steer' when the SDK consumes input before producing output 5ms bb-plugin-provider-claude-code:test: ✓ keeps the prior escalation when a rejected 'turn start' cannot push input 6ms bb-plugin-provider-claude-code:test: ✓ keeps the prior escalation when a rejected 'turn steer' cannot push input 5ms bb-plugin-provider-claude-code:test: ✓ forwards a text-only prompt unchanged 4ms bb-plugin-provider-claude-code:test: ✓ joins multiple text fragments with newlines 3ms bb-plugin-provider-claude-code:test: ✓ emits a path-bearing marker for a localImage attachment 4ms bb-plugin-provider-claude-code:test: ✓ emits a name+mime+size marker for a localFile with full metadata 3ms bb-plugin-provider-claude-code:test: ✓ omits missing fields from the localFile marker 3ms bb-plugin-provider-claude-code:test: ✓ emits a URL marker for a remote image attachment 3ms bb-plugin-provider-claude-code:test: ✓ accepts an attachment-only turn (no text fragments) 1ms bb-plugin-provider-claude-code:test: ✓ assembles a local plugin per generic skill root and loads them on canonical sessions 6ms bb-plugin-provider-claude-code:test: ✓ rebuilds with the same provider session when the turn environment changes 5ms bb-plugin-provider-claude-code:test: ✓ uses Fable's Claude Code capacity through a custom API endpoint 4ms bb-plugin-provider-claude-code:test: bb-plugin-provider-claude-code:test: ⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯ bb-plugin-provider-claude-code:test: bb-plugin-provider-claude-code:test: FAIL |bb-plugin-provider-claude-code| src/bridge/__tests__/bridge.test.ts > bridge > falls back to well-known install locations when PATH discovery fails bb-plugin-provider-claude-code:test: AssertionError: expected undefined to be '/tmp/bb-claude-home-2U9ZzU/.local/bin…' // Object.is equality bb-plugin-provider-claude-code:test: bb-plugin-provider-claude-code:test: - Expected: bb-plugin-provider-claude-code:test: "/tmp/bb-claude-home-2U9ZzU/.local/bin/claude" bb-plugin-provider-claude-code:test: bb-plugin-provider-claude-code:test: + Received: bb-plugin-provider-claude-code:test: undefined bb-plugin-provider-claude-code:test: bb-plugin-provider-claude-code:test: ❯ src/bridge/__tests__/bridge.test.ts:1183:48 bb-plugin-provider-claude-code:test: 1181| ); bb-plugin-provider-claude-code:test: 1182| bb-plugin-provider-claude-code:test: 1183| expect(options.pathToClaudeCodeExecutable).toBe(executablePath); bb-plugin-provider-claude-code:test: | ^ bb-plugin-provider-claude-code:test: 1184| }); bb-plugin-provider-claude-code:test: 1185| bb-plugin-provider-claude-code:test: bb-plugin-provider-claude-code:test: ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯ bb-plugin-provider-claude-code:test: bb-plugin-provider-claude-code:test: bb-plugin-provider-claude-code:test: Test Files 1 failed | 2 passed (3) bb-plugin-provider-claude-code:test: Tests 1 failed | 101 passed (102) bb-plugin-provider-claude-code:test: Start at 18:12:23 bb-plugin-provider-claude-code:test: Duration 1.78s (transform 1.19s, setup 0ms, import 2.21s, tests 498ms, environment 0ms) bb-plugin-provider-claude-code:test: bb-plugin-provider-claude-code:test:  ELIFECYCLE  Test failed. See above for more details. bb-plugin-provider-claude-code#test: ERROR command (CHECKOUT/plugins/provider-claude-code) /usr/local/bin/pnpm run test src/bridge/__tests__/issue-4418-launch.test.ts src/bridge/__tests__/sdk-session.test.ts src/bridge/__tests__/bridge.test.ts exited (1) Tasks: 5 successful, 6 total Cached: 0 cached, 6 total Time: 4.304s Failed: bb-plugin-provider-claude-code#test ERROR run failed: command exited (1)