fix(#1117): allow claude.exe binary in Vertex AI profile - #1118
Conversation
Claude Code 2.1+ ships as a Bun-compiled binary named claude.exe even on Linux. The existing **/claude glob does not match claude.exe, so OPA blocks the binary from reaching sts.googleapis.com, preventing Vertex AI authentication entirely. Add **/claude.exe to the binaries allowlist in the fullsend-vertex-ai profile alongside the existing **/claude entry. Closes #1117
|
🤖 Finished Review · ✅ Success · Started 2:31 PM UTC · Completed 2:43 PM UTC Commit: Runtime: claude · Model: opus → claude-opus-4-6 · Effort: high · Cost: $2.59 |
|
Risk Assessment: low (1/5) DetailsA single-line addition of a binary glob to a YAML allowlist by a trusted bot, with a well-triaged issue and exact scope match, presents minimal risk. |
ReviewFindingsMedium
Low
|
|
🤖 Finished Retro · ✅ Success · Started 7:26 AM UTC · Completed 7:33 AM UTC Commit: Runtime: claude · Model: opus → claude-opus-4-6 · Effort: high · Cost: $1.60 |
Retro: PR #1118 — allow claude.exe binary in Vertex AI profileWorkflow quality: good. After a human corrected the original retro agent's misdiagnosis, the triage → code → review pipeline executed cleanly. The code agent made a minimal 1-line fix, and the review agent produced accurate findings with no false positives. Total agent cost: $5.22 (triage $0.95, code $1.68, review $2.59). Human approved within 3 minutes of PR creation. Timeline
Key finding: retro agent misdiagnosed the root causeThe retro agent that filed #1117 attributed Existing issue evidence
Proposals filed |
Claude Code 2.1.2xx ships as a Bun-compiled binary named claude.exe even on Linux, and since #6647 the CLAUDE_CODE_VERSION-pinned install is the binary that runs in the sandbox. The scaffold Vertex profile only allowlisted **/claude, so OpenShell's OPA denied claude.exe the STS call and every Claude run on the 0.40.0 image failed on its first request with "API Error: Error code policy_denied" (0 tokens). The fleet copy in fullsend-ai/agents was fixed by fullsend-ai/agents#1118; this repo's embedded copy, which functional-tests and local runs load through --fullsend-dir, was not. Add **/claude.exe and **/pi so the binaries list matches the agents copy (**/pi is carried for parity with that copy; pi itself runs via node), pin the whole list in a scaffold test so the two copies cannot drift on this again, and update the bring-your-own-agent guide and the runtime egress diagram that still showed the old list. Refs #6971 Assisted-by: Claude (code, fix, review), Grok (review) Signed-off-by: Wayne Sun <gsun@redhat.com>
Claude Code 2.1.2xx installs its native binary at bin/claude.exe even on Linux, and since #6647 the CLAUDE_CODE_VERSION-pinned install is the binary that runs in the sandbox. The scaffold Vertex profile only allowlisted **/claude, so OpenShell's OPA denied claude.exe the STS call and every Claude run on the 0.40.0 image failed on its first request with "API Error: Error code policy_denied" (0 tokens). The fleet copy in fullsend-ai/agents was fixed by fullsend-ai/agents#1118; this repo's embedded copy, which functional-tests and local runs load through --fullsend-dir, was not. Add **/claude.exe and **/pi so the binaries list matches the agents copy (**/pi is carried for parity with that copy; pi itself runs via node), pin the whole list in a scaffold test so the two copies cannot drift on this again, and update the bring-your-own-agent guide and the runtime egress diagram that still showed the old list. Refs #6971 Assisted-by: Claude (code, fix, review), Grok (review) Signed-off-by: Wayne Sun <gsun@redhat.com>
Claude Code 2.1.2xx installs its native binary at bin/claude.exe even on Linux, and since #6647 the CLAUDE_CODE_VERSION-pinned install is the binary that runs in the sandbox. The scaffold Vertex profile only allowlisted **/claude, so OpenShell's OPA denied claude.exe the STS call and every Claude run on the 0.40.0 image failed on its first request with "API Error: Error code policy_denied" (0 tokens). The fleet copy in fullsend-ai/agents was fixed by fullsend-ai/agents#1118; this repo's embedded copy, which functional-tests and local runs load through --fullsend-dir, was not. Add **/claude.exe and **/pi so the binaries list matches the agents copy (**/pi is carried for parity with that copy; pi itself runs via node), pin the whole list in a scaffold test so the two copies cannot drift on this again, and update the bring-your-own-agent guide and the runtime egress diagram that still showed the old list. Refs #6971 Assisted-by: Claude (code, fix, review), Grok (review) Signed-off-by: Wayne Sun <gsun@redhat.com>
Summary
**/claude.exeto thebinariesallowlist inprofiles/fullsend-vertex-ai.yamlclaude.exe(even on Linux), but the existing**/claudeglob does not match it — OPA blocks the binary from reachingsts.googleapis.com, preventing Vertex AI authentication entirelyTesting
skillsaw --strictlint — all checks passedCloses #1117
Post-script verification
agent/1117-allow-claude-exe-binary)c4e059f9f2b8c48e13b3845992b9b774d41b5de7..HEAD)