Skip to content

fix(store): an @local run hands its agents none of the configured store's credentials - #95

Merged
earakely-scale merged 1 commit into
mainfrom
edgararakelyan/local-run-shares-no-credentials
Oct 7, 2026
Merged

earakely-scale merged 1 commit into
mainfrom
edgararakelyan/local-run-shares-no-credentials

Conversation

@earakely-scale

@earakely-scale earakely-scale commented Oct 7, 2026 •

Copy link
Copy Markdown
Collaborator

An @local run (a bundle run from the CLI) wraps the configured object store in LocalRunObjectStore, whose shared_credentials_env delegated to the configured store. A deployment whose store shares its credentials with workloads therefore handed every agent and judge the run deployed the caller's own cloud session, for example a developer's laptop session under a store configured to share. The workaround so far was a config copy swapping in a store that shares nothing.

An @local run doesn't need those credentials: its objects reach sandboxes through grants, staging or bytes agent-env pushes itself. So LocalRunObjectStore now shares none. snapshot_env already handed env services nothing inside an @local run; agents were the gap.

Not hot path: LocalRunObjectStore exists only inside CLI @local runs. Services never route.

Test: test_an_agent_deployed_in_an_at_local_run_gets_none_of_the_configured_stores_credentials covers both cases. An agent's container environment carries a sharing store's credentials when that store is configured directly, and carries none once the same store is wrapped for an @local run. The unit tier passes (6074).

🤖 Generated with Claude Code

RetriggerConfidence Score: 5/5

The PR appears safe to merge.

What we checked:

  • Local agents getting store credentials: Bundle tasks keep their deployment steps inside a local run scope. In that scope, the agent reads credentials from the wrapper, which returns none.

Summary

@local runs no longer pass configured object-store credentials into agent container environments, because their objects reach sandboxes through other paths.

  • Agents in an @local run no longer get configured store credentials.

Reviews (1) · Last reviewed commit: "fix(store): an @local run hands its agen..." · Reviewed by Greptile

…re's credentials

LocalRunObjectStore.shared_credentials_env delegated to the configured store, so under a
deployment whose store shares its session (the Scale sdk's does, by design), every agent and
judge an @Local run deployed received the caller's own cloud credentials. An @Local run's
objects reach its sandboxes through grants, staging or pushed bytes, so it now shares none.
snapshot_env already handed services nothing inside an @Local run.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@earakely-scale
earakely-scale requested a review from a team as a code owner October 7, 2026 11:15
@earakely-scale
earakely-scale merged commit dec11ba into main Oct 7, 2026
13 checks passed
@earakely-scale
earakely-scale deleted the edgararakelyan/local-run-shares-no-credentials branch October 7, 2026 11:30
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