{"version":"2.1.242","anchor":"storage-and-credential-handles-passed-as-arguments-instead-o","canonical_anchor":"storage-and-credential-handles-passed-as-arguments-instead-o","heading":"Storage and credential handles passed as arguments instead of read globally","tier":"internal","area":"Auth","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.242\/e\/storage-and-credential-handles-passed-as-arguments-instead-o","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.242","markdown":"### Storage and credential handles passed as arguments instead of read globally\n\nDozens of functions now receive storage and credentials as arguments instead of reading global state.\n\n**What**\n\nDozens of functions, including plugin loading, marketplace fetch, session archive lookup, MCP login and logout, worktree helpers, quota probing and session file writers, now take storage and credential handles as parameters. Nothing changes for a user; a pile of implicit global state leaves the credentials path.\n\n**Evidence**\n\n`async function ce(e, { storageV5: o, credentials: t }) {`\n\n- Area: Auth\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 2\/5"}