diff --git a/server/tm/git_tm/git_task_manager.go b/server/tm/git_tm/git_task_manager.go
index 6a8735e..5c43828 100644
--- a/server/tm/git_tm/git_task_manager.go
+++ b/server/tm/git_tm/git_task_manager.go
@@ -29,7 +29,7 @@
 	return &GitTaskManager{
 		git:      git,
 		repoPath: repoPath,
-		tasksDir: filepath.Join(repoPath, "tasks"),
+		tasksDir: repoPath,
 		logger:   logger,
 	}
 }
@@ -42,7 +42,7 @@
 	return &GitTaskManager{
 		git:      git,
 		repoPath: repoPath,
-		tasksDir: filepath.Join(repoPath, "tasks"),
+		tasksDir: repoPath,
 		logger:   logger,
 	}
 }
@@ -229,17 +229,21 @@
 }
 
 // commitTaskChange commits a task change to git
-func (gtm *GitTaskManager) commitTaskChange(taskID, operation string) error {
+func (gtm *GitTaskManager) commitTaskChange(taskID, operation string, owner tm.Owner) error {
 	ctx := context.Background()
 
 	// Add the task file
-	if err := gtm.git.Add(ctx, []string{filepath.Join("tasks", taskID+".md")}); err != nil {
+	if err := gtm.git.Add(ctx, []string{filepath.Join(gtm.tasksDir, taskID+".md")}); err != nil {
 		return fmt.Errorf("failed to add task file: %w", err)
 	}
 
 	// Commit the change
 	message := fmt.Sprintf("task: %s - %s", taskID, operation)
-	if err := gtm.git.Commit(ctx, message, git.CommitOptions{}); err != nil {
+	if err := gtm.git.Commit(ctx, message, git.CommitOptions{
+		Author: &git.Author{
+			Name: owner.Name,
+		},
+	}); err != nil {
 		return fmt.Errorf("failed to commit task change: %w", err)
 	}
 
@@ -286,7 +290,7 @@
 	}
 
 	// Commit to git
-	if err := gtm.commitTaskChange(taskID, "created"); err != nil {
+	if err := gtm.commitTaskChange(taskID, "created", task.Owner); err != nil {
 		return nil, err
 	}
 
@@ -363,7 +367,7 @@
 	}
 
 	// Commit to git
-	if err := gtm.commitTaskChange(id, "updated"); err != nil {
+	if err := gtm.commitTaskChange(id, "updated", task.Owner); err != nil {
 		return nil, err
 	}
 
diff --git a/server/tm/git_tm/git_task_manager_test.go b/server/tm/git_tm/git_task_manager_test.go
index f7da286..033e11c 100644
--- a/server/tm/git_tm/git_task_manager_test.go
+++ b/server/tm/git_tm/git_task_manager_test.go
@@ -339,7 +339,7 @@
 	require.NoError(t, err)
 
 	// Test successful commit
-	err = gtm.commitTaskChange("test-task-123", "created")
+	err = gtm.commitTaskChange("test-task-123", "created", task.Owner)
 	assert.NoError(t, err)
 
 	// Verify commit was created
@@ -497,7 +497,7 @@
 	require.NoError(t, err)
 
 	// Commit the initial task
-	err = gtm.commitTaskChange(originalTask.ID, "created")
+	err = gtm.commitTaskChange(originalTask.ID, "created", originalTask.Owner)
 	require.NoError(t, err)
 
 	// Update the task
