diff --git a/server/agent/agent.go b/server/agent/agent.go
index e3aa766..d1c64a4 100644
--- a/server/agent/agent.go
+++ b/server/agent/agent.go
@@ -152,15 +152,6 @@
 		}
 	}
 
-	// Set git user configuration
-	userConfig := git.UserConfig{
-		Name:  a.Config.GitUsername,
-		Email: a.Config.GitEmail,
-	}
-	if err := a.gitInterface.SetUserConfig(ctx, userConfig); err != nil {
-		return fmt.Errorf("failed to set git user config: %w", err)
-	}
-
 	// Checkout to the specified branch
 	if a.Config.GitBranch != "" {
 		if err := a.gitInterface.Checkout(ctx, a.Config.GitBranch); err != nil {
@@ -319,7 +310,13 @@
 	}
 
 	commitMessage := fmt.Sprintf("feat: Complete task %s - %s", task.ID, task.Title)
-	if err := a.gitInterface.Commit(ctx, commitMessage, git.CommitOptions{}); err != nil {
+	if err := a.gitInterface.Commit(ctx, commitMessage, git.CommitOptions{
+		Author: &git.Author{
+			Name:  a.Config.GitUsername,
+			Email: a.Config.GitEmail,
+			Time:  time.Now(),
+		},
+	}); err != nil {
 		return fmt.Errorf("failed to commit solution: %w", err)
 	}
 
diff --git a/server/server/server.go b/server/server/server.go
index b9fcfc7..41d1366 100644
--- a/server/server/server.go
+++ b/server/server/server.go
@@ -70,11 +70,6 @@
 		if err := a.initializeNewRepository(workingDir, remoteRepoURL); err != nil {
 			return err
 		}
-	} else {
-		a.logger.Info("Working directory is not empty, syncing with remote")
-		if err := a.syncWithRemote(workingDir, remoteRepoURL); err != nil {
-			return err
-		}
 	}
 
 	// Create shared task manager
@@ -103,15 +98,11 @@
 		systemPrompt := string(content)
 
 		// LLM configuration
-		baseURL := os.Getenv("OPENAI_BASE_URL")
-		if baseURL == "" {
-			baseURL = "https://api.openai.com/v1"
-		}
 		llmConfig := llm.Config{
 			Provider: llm.ProviderOpenAI,
 			APIKey:   os.Getenv("OPENAI_API_KEY"),
-			BaseURL:  baseURL,
-			Timeout:  30 * time.Second,
+			BaseURL:  "https://api.openai.com/v1",
+			Timeout:  300 * time.Second,
 		}
 
 		config := agent.AgentConfig{
@@ -121,7 +112,7 @@
 			GitEmail:     fmt.Sprintf("%s@staff.com", strings.ToLower(agentName)),
 			WorkingDir:   workingDir,
 			LLMProvider:  llm.ProviderOpenAI,
-			LLMModel:     "gpt-4o",
+			LLMModel:     "gpt-4o-mini",
 			LLMConfig:    llmConfig,
 			SystemPrompt: systemPrompt,
 			TaskManager:  taskManager,
