fix: inherit auth-profiles from main agent for subagents
When a subagent is spawned, it creates a new agent directory but has no auth-profiles.json. This adds a fallback in ensureAuthProfileStore() to inherit auth-profiles from the main agent when the subagent has none, ensuring subagents can use OAuth tokens without manual file copying. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -207,6 +207,19 @@ export function ensureAuthProfileStore(
|
|||||||
return asStore;
|
return asStore;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Fallback: inherit auth-profiles from main agent if subagent has none
|
||||||
|
if (agentDir) {
|
||||||
|
const mainAuthPath = resolveAuthStorePath(); // without agentDir = main
|
||||||
|
const mainRaw = loadJsonFile(mainAuthPath);
|
||||||
|
const mainStore = coerceAuthStore(mainRaw);
|
||||||
|
if (mainStore && Object.keys(mainStore.profiles).length > 0) {
|
||||||
|
// Clone main store to subagent directory for auth inheritance
|
||||||
|
saveJsonFile(authPath, mainStore);
|
||||||
|
log.info("inherited auth-profiles from main agent", { agentDir });
|
||||||
|
return mainStore;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const legacyRaw = loadJsonFile(resolveLegacyAuthStorePath(agentDir));
|
const legacyRaw = loadJsonFile(resolveLegacyAuthStorePath(agentDir));
|
||||||
const legacy = coerceLegacyStore(legacyRaw);
|
const legacy = coerceLegacyStore(legacyRaw);
|
||||||
const store: AuthProfileStore = {
|
const store: AuthProfileStore = {
|
||||||
|
|||||||
Reference in New Issue
Block a user