diff --git a/packages/kilo-vscode/src/agent-manager/AgentManagerProvider.ts b/packages/kilo-vscode/src/agent-manager/AgentManagerProvider.ts index d4bdaf6a751..c91f801fa18 100644 --- a/packages/kilo-vscode/src/agent-manager/AgentManagerProvider.ts +++ b/packages/kilo-vscode/src/agent-manager/AgentManagerProvider.ts @@ -168,7 +168,11 @@ export class AgentManagerProvider implements vscode.Disposable { const manager = this.getWorktreeManager() const state = this.getStateManager() if (!manager || !state) { - this.postToWebview({ type: "agentManager.worktreeSetup", status: "error", message: "No workspace folder open" }) + this.postToWebview({ + type: "agentManager.worktreeSetup", + status: "error", + message: "Open a folder that contains a git repository to use worktrees", + }) return null } @@ -178,11 +182,11 @@ export class AgentManagerProvider implements vscode.Disposable { try { result = await manager.createWorktree({ prompt: "kilo" }) } catch (error) { - const err = error instanceof Error ? error.message : String(error) + const msg = error instanceof Error ? error.message : String(error) this.postToWebview({ type: "agentManager.worktreeSetup", status: "error", - message: `Failed to create worktree: ${err}`, + message: msg, }) return null } diff --git a/packages/kilo-vscode/src/agent-manager/SessionTerminalManager.ts b/packages/kilo-vscode/src/agent-manager/SessionTerminalManager.ts index 015b4acdbb0..029d04b7b04 100644 --- a/packages/kilo-vscode/src/agent-manager/SessionTerminalManager.ts +++ b/packages/kilo-vscode/src/agent-manager/SessionTerminalManager.ts @@ -42,7 +42,7 @@ export class SessionTerminalManager { if (!cwd) { this.log(`showTerminal: no cwd resolved for session ${sessionId}`) - vscode.window.showWarningMessage("No workspace folder open") + vscode.window.showWarningMessage("Open a folder that contains a git repository to use worktrees") return } diff --git a/packages/kilo-vscode/src/agent-manager/WorktreeManager.ts b/packages/kilo-vscode/src/agent-manager/WorktreeManager.ts index 826da03b55f..8f3c203f268 100644 --- a/packages/kilo-vscode/src/agent-manager/WorktreeManager.ts +++ b/packages/kilo-vscode/src/agent-manager/WorktreeManager.ts @@ -46,7 +46,10 @@ export class WorktreeManager { async createWorktree(params: { prompt?: string; existingBranch?: string }): Promise { const repo = await this.git.checkIsRepo() - if (!repo) throw new Error("Workspace is not a git repository") + if (!repo) + throw new Error( + "This folder is not a git repository. Initialize a repository or open a git project to use worktrees.", + ) await this.ensureDir() await this.ensureGitExclude() diff --git a/packages/kilo-vscode/webview-ui/agent-manager/AgentManagerApp.tsx b/packages/kilo-vscode/webview-ui/agent-manager/AgentManagerApp.tsx index 5020fe9c08d..bddc5e44680 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/AgentManagerApp.tsx +++ b/packages/kilo-vscode/webview-ui/agent-manager/AgentManagerApp.tsx @@ -786,7 +786,7 @@ const AgentManagerContent: Component = () => {
-
Setting up workspace
+
{setup().error ? "Workspace setup failed" : "Setting up workspace"}
{setup().branch}
diff --git a/packages/kilo-vscode/webview-ui/agent-manager/agent-manager.css b/packages/kilo-vscode/webview-ui/agent-manager/agent-manager.css index 5398be7e049..ae519dd5889 100644 --- a/packages/kilo-vscode/webview-ui/agent-manager/agent-manager.css +++ b/packages/kilo-vscode/webview-ui/agent-manager/agent-manager.css @@ -499,7 +499,7 @@ flex-direction: column; align-items: center; gap: 12px; - max-width: 300px; + max-width: 400px; text-align: center; } @@ -523,12 +523,14 @@ .am-setup-status { display: flex; align-items: center; + justify-content: center; gap: 8px; padding: 8px 16px; border-radius: var(--radius-sm); background: var(--surface-inset-base); color: var(--text-base); font-size: var(--font-size-base); + text-align: center; } .am-setup-spinner {