Skip to content

v0.35.0: bare extends: claude mixin fails compose with "credential for service anthropic defined in both" #335

Description

@clanchorman

Summary

Upgrading 0.34.0 → 0.35.0, creating a sandbox from a mixin that does nothing but
extends: claude fails at kit artifact composition with a duplicate-credential error
for the base agent's built-in anthropic credential. The mixin declares no
credentials, services, or domains of its own. Reverting to 0.34.0 fixes it.

Environment

  • sbx 0.35.0 — fails
  • sbx 0.34.0 — works (clean bisect)

Minimal reproduction

spec.yaml (complete — nothing omitted):

schemaVersion: "1"
kind: mixin
name: sbx-035-bug
extends: claude
displayName: Repro

Create a sandbox using this mixin.

Actual result

ERROR: request failed: 400 Bad Request:
kit_artifacts: compose: compose: credential for service "anthropic"
defined in both "claude" and "sbx-035-bug"

Expected result

Composition succeeds. The anthropic credential is owned by the base claude
agent and only reaches the child layer via extends; it should be deduped, not
counted as two definitions.

Notes / ruling out the usual causes

  • Not a stale/duplicate secret — sbx secret list shows a single anthropic
    (OAuth), no api-key shadow:
    (global)  service  anthropic  (oauth configured)
    
  • The mixin adds no network.serviceDomains / credentials, so the content
    itself cannot introduce a second anthropic. The duplicate is produced purely
    by the extends merge.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions