Skip to content
This repository was archived by the owner on Apr 15, 2026. It is now read-only.

Commit 1174a59

Browse files
authored
Merge pull request #105 from everpcpc/belgrade-wy1sncef
fix: pass providerConfig envVars to startPanel on session creation
2 parents f1181c7 + b53a6c7 commit 1174a59

2 files changed

Lines changed: 8 additions & 3 deletions

File tree

packages/desktop/src/features/queue/TaskQueue.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import type { ToolPanel } from '@snowtree/core/types/panels';
1818
import type { Database as DatabaseService } from '../../infrastructure/database';
1919
import type { Project } from '../../infrastructure/database';
2020
import { fetchAndCacheRepoInfo } from '../../infrastructure/ipc/git';
21+
import { readProviderConfig } from '../../infrastructure/ipc/session';
2122
import { getPanelManagerForType } from '../panels/ai/panelManagerRegistry';
2223

2324
interface TaskQueueOptions {
@@ -418,7 +419,8 @@ export class TaskQueue {
418419
approvalPolicy: codexConfig?.approvalPolicy,
419420
sandboxMode: codexConfig?.sandboxMode,
420421
webSearch: codexConfig?.webSearch,
421-
thinkingLevel: codexConfig?.thinkingLevel
422+
thinkingLevel: codexConfig?.thinkingLevel,
423+
providerConfig: readProviderConfig('codex'),
422424
});
423425
} catch (error) {
424426
console.error('[TaskQueue] Failed to start Codex via panel manager:', error);
@@ -447,7 +449,8 @@ export class TaskQueue {
447449
worktreePath: session.worktreePath,
448450
prompt,
449451
permissionMode,
450-
model: modelToUse
452+
model: modelToUse,
453+
providerConfig: readProviderConfig('claude'),
451454
});
452455
} catch (error) {
453456
console.error(`[TaskQueue] Failed to start Claude via panel manager:`, error);
@@ -473,6 +476,7 @@ export class TaskQueue {
473476
prompt,
474477
model: geminiConfig?.model,
475478
approvalMode: geminiConfig?.approvalMode,
479+
providerConfig: readProviderConfig('gemini'),
476480
});
477481
} catch (error) {
478482
console.error('[TaskQueue] Failed to start Gemini via panel manager:', error);
@@ -498,6 +502,7 @@ export class TaskQueue {
498502
prompt,
499503
model: kimiConfig?.model,
500504
approvalMode: kimiConfig?.approvalMode,
505+
providerConfig: readProviderConfig('kimi'),
501506
});
502507
} catch (error) {
503508
console.error('[TaskQueue] Failed to start Kimi via panel manager:', error);

packages/desktop/src/infrastructure/ipc/session.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ type MinimalCreateSessionRequest = {
3131

3232
const SETTINGS_FILE = path.join(os.homedir(), '.snowtree', 'settings.json');
3333

34-
function readProviderConfig(toolType: string): { envVars?: Record<string, string>; extraArgs?: string } | undefined {
34+
export function readProviderConfig(toolType: string): { envVars?: Record<string, string>; extraArgs?: string } | undefined {
3535
try {
3636
if (!fs.existsSync(SETTINGS_FILE)) return undefined;
3737
const settings = JSON.parse(fs.readFileSync(SETTINGS_FILE, 'utf8'));

0 commit comments

Comments
 (0)